diff --git a/OCH/sweeper/sweeper-cloud/.gitignore b/OCH/sweeper/driver/.gitignore similarity index 100% rename from OCH/sweeper/sweeper-cloud/.gitignore rename to OCH/sweeper/driver/.gitignore diff --git a/OCH/sweeper/sweeper-cloud/AutopilotModeConfig.json b/OCH/sweeper/driver/AutopilotModeConfig.json similarity index 100% rename from OCH/sweeper/sweeper-cloud/AutopilotModeConfig.json rename to OCH/sweeper/driver/AutopilotModeConfig.json diff --git a/OCH/sweeper/sweeper-cloud/build.gradle b/OCH/sweeper/driver/build.gradle similarity index 95% rename from OCH/sweeper/sweeper-cloud/build.gradle rename to OCH/sweeper/driver/build.gradle index 499a56f6dc..953aa85ca3 100644 --- a/OCH/sweeper/sweeper-cloud/build.gradle +++ b/OCH/sweeper/driver/build.gradle @@ -48,6 +48,7 @@ dependencies { implementation rootProject.ext.dependencies.kotlinstdlib implementation rootProject.ext.dependencies.androidxappcompat implementation rootProject.ext.dependencies.arouter + testImplementation 'junit:junit:4.12' annotationProcessor rootProject.ext.dependencies.aroutercompiler implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.amapnavi3dmap @@ -58,6 +59,7 @@ dependencies { implementation rootProject.ext.dependencies.androidxcardview implementation rootProject.ext.dependencies.androidxroomruntime annotationProcessor rootProject.ext.dependencies.androidxroomcompiler + implementation rootProject.ext.dependencies.localbroadcastmanager implementation project(":OCH:mogo-och-common-module") compileOnly project(":libraries:mogo-map") diff --git a/OCH/sweeper/sweeper-cloud/gradle.properties b/OCH/sweeper/driver/gradle.properties similarity index 100% rename from OCH/sweeper/sweeper-cloud/gradle.properties rename to OCH/sweeper/driver/gradle.properties diff --git a/OCH/sweeper/sweeper-cloud/proguard-rules.pro b/OCH/sweeper/driver/proguard-rules.pro similarity index 100% rename from OCH/sweeper/sweeper-cloud/proguard-rules.pro rename to OCH/sweeper/driver/proguard-rules.pro diff --git a/OCH/sweeper/sweeper-cloud/schemas/com.mogo.och.sweepercloud.database.MyDataBase/1.json b/OCH/sweeper/driver/schemas/com.mogo.och.sweeper.common.database.MyDataBase/1.json similarity index 100% rename from OCH/sweeper/sweeper-cloud/schemas/com.mogo.och.sweepercloud.database.MyDataBase/1.json rename to OCH/sweeper/driver/schemas/com.mogo.och.sweeper.common.database.MyDataBase/1.json diff --git a/OCH/sweeper/sweeper-cloud/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json b/OCH/sweeper/driver/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json similarity index 100% rename from OCH/sweeper/sweeper-cloud/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json rename to OCH/sweeper/driver/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json diff --git a/OCH/sweeper/sweeper/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json b/OCH/sweeper/driver/schemas/com.mogo.och.sweepercloud.database.MyDataBase/1.json similarity index 83% rename from OCH/sweeper/sweeper/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json rename to OCH/sweeper/driver/schemas/com.mogo.och.sweepercloud.database.MyDataBase/1.json index a9451322a4..b3961faec0 100644 --- a/OCH/sweeper/sweeper/schemas/com.mogo.och.sweeper.database.MyDataBase/1.json +++ b/OCH/sweeper/driver/schemas/com.mogo.och.sweepercloud.database.MyDataBase/1.json @@ -2,11 +2,11 @@ "formatVersion": 1, "database": { "version": 1, - "identityHash": "0897ef4b7b6a43fccf8bcf4b2144dafa", + "identityHash": "48873cc5d9f967e9df0245dc045cf91a", "entities": [ { "tableName": "welt_data_table", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `subTaskId` INTEGER NOT NULL, `locLon` REAL NOT NULL, `locLat` REAL NOT NULL, `weltDistance` REAL NOT NULL, `cleanMode` INTEGER NOT NULL, `cleanDirection` INTEGER NOT NULL, `cleanIntensity` INTEGER NOT NULL)", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `subTaskId` TEXT, `locLon` REAL NOT NULL, `locLat` REAL NOT NULL, `weltDistance` REAL NOT NULL, `cleanMode` INTEGER NOT NULL, `cleanDirection` INTEGER NOT NULL, `cleanIntensity` INTEGER NOT NULL)", "fields": [ { "fieldPath": "id", @@ -17,8 +17,8 @@ { "fieldPath": "subTaskId", "columnName": "subTaskId", - "affinity": "INTEGER", - "notNull": true + "affinity": "TEXT", + "notNull": false }, { "fieldPath": "locLon", @@ -80,7 +80,7 @@ "views": [], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '0897ef4b7b6a43fccf8bcf4b2144dafa')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '48873cc5d9f967e9df0245dc045cf91a')" ] } } \ No newline at end of file diff --git a/OCH/sweeper/sweeper-cloud/src/androidTest/java/com/mogo/och/sweeper/ExampleInstrumentedTest.kt b/OCH/sweeper/driver/src/androidTest/java/com/mogo/och/sweeper/ExampleInstrumentedTest.kt similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/androidTest/java/com/mogo/och/sweeper/ExampleInstrumentedTest.kt rename to OCH/sweeper/driver/src/androidTest/java/com/mogo/och/sweeper/ExampleInstrumentedTest.kt diff --git a/OCH/sweeper/sweeper/src/main/AndroidManifest.xml b/OCH/sweeper/driver/src/main/AndroidManifest.xml similarity index 85% rename from OCH/sweeper/sweeper/src/main/AndroidManifest.xml rename to OCH/sweeper/driver/src/main/AndroidManifest.xml index c2a6c2cfeb..c994932e50 100644 --- a/OCH/sweeper/sweeper/src/main/AndroidManifest.xml +++ b/OCH/sweeper/driver/src/main/AndroidManifest.xml @@ -4,7 +4,7 @@ - + diff --git a/OCH/sweeper/sweeper-cloud/src/main/assets/map_style.data b/OCH/sweeper/driver/src/main/assets/map_style.data similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/assets/map_style.data rename to OCH/sweeper/driver/src/main/assets/map_style.data diff --git a/OCH/sweeper/sweeper-cloud/src/main/assets/map_style_extra.data b/OCH/sweeper/driver/src/main/assets/map_style_extra.data similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/assets/map_style_extra.data rename to OCH/sweeper/driver/src/main/assets/map_style_extra.data diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/IMogoOCH.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/IMogoOCH.java similarity index 100% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/IMogoOCH.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/IMogoOCH.java diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java new file mode 100644 index 0000000000..17529023d4 --- /dev/null +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/SweeperProvider.java @@ -0,0 +1,190 @@ +package com.mogo.och.sweeper; + + +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER; + +import android.annotation.SuppressLint; +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.function.api.vehicle.IMoGoSweeperModeListener; +import com.mogo.eagle.core.function.call.vehicle.CallerSweeperModeListenerManager; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.mogo.vehicle.SweeperVehicleConfigUtils; +import com.mogo.eagle.core.utilcode.util.AppUtils; +import com.mogo.eagle.core.utilcode.util.ToastUtils; +import com.mogo.eagle.core.utilcode.util.UiThreadHandler; +import com.mogo.och.common.module.utils.ToastUtilsOch; +import com.mogo.och.sweeper.cloud.fragment.SweeperCloudFragment; +import com.mogo.och.sweeper.common.constant.SweeperConst; +import com.mogo.och.sweeper.common.database.MyDataBase; +import com.mogo.och.sweeper.common.util.SweeperAnalyticsManager; +import com.mogo.och.sweeper.operate.fragment.SweeperOperateFragment; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import io.reactivex.Observable; +import io.reactivex.functions.Consumer; +import io.reactivex.schedulers.Schedulers; + +/** + * 清扫车业务实现入口 + * + * @author tongchenfei + */ +@Route(path = SweeperConst.PATH) +public class SweeperProvider implements IMogoOCH, IMoGoSweeperModeListener { + + private static final String TAG = "SweeperProvider"; + + private SweeperOperateFragment sweeperOperateFragment; + private SweeperCloudFragment sweeperCloudFragment; + private int containerId; + private FragmentActivity activity; + + @Override + public void init(Context context) { + } + + private void showOperateFragment() { + FragmentManager supportFragmentManager = activity.getSupportFragmentManager(); + if (sweeperOperateFragment == null) { + CallerLogger.d(TAG, "准备add fragment======"); + Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(sweeperOperateFragment.TAG); + if (fragmentByTag instanceof SweeperOperateFragment) { + sweeperOperateFragment = (SweeperOperateFragment) fragmentByTag; + } else { + sweeperOperateFragment = new SweeperOperateFragment(); + } + if (!sweeperOperateFragment.isAdded()) { + supportFragmentManager.beginTransaction().add(containerId, sweeperOperateFragment, sweeperOperateFragment.TAG).commitAllowingStateLoss(); + } + return; + } + CallerLogger.d(TAG, "准备show fragment"); + supportFragmentManager.beginTransaction().show(sweeperOperateFragment).commitAllowingStateLoss(); + } + + private void showCloudFragment() { + FragmentManager supportFragmentManager = activity.getSupportFragmentManager(); + if (sweeperCloudFragment == null) { + CallerLogger.d(TAG, "准备add fragment======"); + Fragment fragmentByTag = supportFragmentManager.findFragmentByTag(sweeperCloudFragment.TAG); + if (fragmentByTag instanceof SweeperCloudFragment) { + sweeperCloudFragment = (SweeperCloudFragment) fragmentByTag; + } else { + sweeperCloudFragment = new SweeperCloudFragment(); + } + if (!sweeperCloudFragment.isAdded()) { + supportFragmentManager.beginTransaction().add(containerId, sweeperCloudFragment, sweeperCloudFragment.TAG).commitAllowingStateLoss(); + } + return; + } + CallerLogger.d(TAG, "准备show fragment"); + supportFragmentManager.beginTransaction().show(sweeperCloudFragment).commitAllowingStateLoss(); + } + + private void hideFragment() { + if (sweeperOperateFragment != null) { + CallerLogger.d(TAG, "准备hide operate fragment"); + activity.getSupportFragmentManager().beginTransaction().hide(sweeperOperateFragment).commitAllowingStateLoss(); + } else if (sweeperCloudFragment != null) { + CallerLogger.d(TAG, "准备hide cloud fragment"); + activity.getSupportFragmentManager().beginTransaction().hide(sweeperCloudFragment).commitAllowingStateLoss(); + } + CallerSweeperModeListenerManager.INSTANCE.removeListener(TAG); + } + + @Override + public void createCoverage(FragmentActivity activity, int containerId) { + } + + @NotNull + @Override + public String getFunctionName() { + return null; + } + + @Nullable + @Override + public Fragment createCoverage(@Nullable FragmentActivity fragmentActivity, @Nullable Integer integer) { + this.containerId = integer; + this.activity = fragmentActivity; + + // 第一优先级:需要默认能切换清扫业务模式 + // 第二优先级:如果能切换清扫模式,查询SP中缓存的当前模式(用户切换后会在SP中写入当前模式,切换完后清除,因为现在产品确认还不需要每次启动时首先使用用户上次选择的模式,目前优先还是使用gradle中默认配置的模式打开) + // 第三优先级:如果不能切换清扫模式或者SP中没有用户选择的当前模式,查询gradle中默认配置的当前模式(用户不进行切换时SP中没有配置,默认使用的gradle中默认当前模式) + CallerLogger.i(M_SWEEPER + TAG, "清扫车启动,当前业务模式:isSPCurrentSweeperOperateMode=" + + SweeperVehicleConfigUtils.isSPCurrentSweeperOperateMode() + + ", isSPCurrentSweeperCloudMode=" + SweeperVehicleConfigUtils.isSPCurrentSweeperCloudMode()); + if (SweeperVehicleConfigUtils.isDefaultSweeperCanSwitchMode(FunctionBuildConfig.sweeperCanSwitchMode) + && SweeperVehicleConfigUtils.isSPCurrentSweeperOperateMode()) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_OPERATE; + showOperateFragment(); + ToastUtils.showLong("当前清扫业务模式:运营"); + } else if (SweeperVehicleConfigUtils.isDefaultSweeperCanSwitchMode(FunctionBuildConfig.sweeperCanSwitchMode) + && SweeperVehicleConfigUtils.isSPCurrentSweeperCloudMode()) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD; + showCloudFragment(); + ToastUtils.showLong("当前清扫业务模式:云控"); + } else if (SweeperVehicleConfigUtils.isDefaultSweeperOperateMode(FunctionBuildConfig.sweeperDefaultMode)) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_OPERATE; + showOperateFragment(); + ToastUtils.showLong("当前清扫业务模式:运营"); + } else if (SweeperVehicleConfigUtils.isDefaultSweeperCloudMode(FunctionBuildConfig.sweeperDefaultMode)) { + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD; + showCloudFragment(); + ToastUtils.showLong("当前清扫业务模式:云控"); + } else { + // 默认云控模式 + FunctionBuildConfig.sweeperCurrentMode = SweeperVehicleConfigUtils.BUSINESS_MODE_CLOUD; + showCloudFragment(); + ToastUtils.showLong("当前清扫业务模式:云控"); + } + + CallerSweeperModeListenerManager.INSTANCE.addListener(TAG, this); + return null; + } + + @Override + public void onDestroy() { + //若不调用finish, 设置中打开关闭UITouch,会造成och fragment 重叠 + if (activity == null) return; + activity.finish(); + } + + @SuppressLint("CheckResult") + @Override + public void onSweeperCurrentModeChanged(@NonNull String currentMode) { + // 日志、埋点 + CallerLogger.i(M_SWEEPER + TAG, "切换清扫车业务模式,当前切换的模式:" + currentMode); + SweeperAnalyticsManager.getInstance().trackSweeperModeChangeEvent(currentMode); + + Observable.just(currentMode) + .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .subscribe(new Consumer() { + @Override + public void accept(String s) throws Exception { + // 写入SP当前模式 + SweeperVehicleConfigUtils.setSPCurrentSweeperMode(currentMode); + // 清除本地业务缓存数据 + MyDataBase.getInstance().getWeltDataDao().deleteAllWeltData(); + // 等清除完数据库数据后,重启App + UiThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + AppUtils.relaunchApp(true); + } + }, 1000L); + } + }); + } +} diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperCloudTaskCallback.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperCloudTaskCallback.kt similarity index 81% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperCloudTaskCallback.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperCloudTaskCallback.kt index 631cfd330a..808036e67c 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperCloudTaskCallback.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperCloudTaskCallback.kt @@ -1,17 +1,13 @@ -package com.mogo.och.sweepercloud.callback +package com.mogo.och.sweeper.cloud.callback import chassis.ChassisStatesOuterClass -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweepercloud.database.bean.WeltDataBean +import com.mogo.och.sweeper.common.database.bean.WeltDataBean import com.zhjt.mogo.adas.data.AiCloudTask -import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable.IsBootableResp import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.Code import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask -import com.zhjt.mogo.adas.data.sweeper.task.big.SweeperBigTaskStatus import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.ActionType -import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionPush import com.zhjt.mogo.adas.data.sweeper.task.stop.SweeperTaskStop.StopTaskType /** @@ -62,7 +58,7 @@ interface ISweeperCloudTaskCallback { /** * 设置轨迹坐标点集合 */ - fun setRouteList(routeList: java.util.ArrayList) + fun setRouteList(routeList: java.util.ArrayList) /** * 贴边数据回传 */ diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperControllerStatusCallback.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperControllerStatusCallback.java similarity index 91% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperControllerStatusCallback.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperControllerStatusCallback.java index 2ad48d1d5b..3b153f16ad 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperControllerStatusCallback.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/ISweeperControllerStatusCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.callback; +package com.mogo.och.sweeper.cloud.callback; import com.mogo.eagle.core.data.map.MogoLocation; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/SweeperCloudDialogClickListener.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/SweeperCloudDialogClickListener.kt similarity index 75% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/SweeperCloudDialogClickListener.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/SweeperCloudDialogClickListener.kt index abf3be40ca..715347142a 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/SweeperCloudDialogClickListener.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/callback/SweeperCloudDialogClickListener.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.callback +package com.mogo.och.sweeper.cloud.callback interface SweeperCloudDialogClickListener { fun onConfirm() diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/fragment/BaseSweeperCloudTabFragment.java similarity index 73% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/fragment/BaseSweeperCloudTabFragment.java index 6da04fafed..6ec468c553 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/BaseSweeperTabFragment.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/fragment/BaseSweeperCloudTabFragment.java @@ -1,7 +1,8 @@ -package com.mogo.och.sweepercloud.fragment; +package com.mogo.och.sweeper.cloud.fragment; import static com.mogo.map.MogoMap.DEFAULT; +import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -13,16 +14,13 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.Group; import androidx.fragment.app.FragmentTransaction; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.amap.api.maps.model.LatLng; -import com.google.protobuf.TextFormat; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; -import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; @@ -33,31 +31,26 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.eagle.core.utilcode.util.ThreadUtils; -import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.listener.MogoMapListenerHandler; import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; -import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; -import com.mogo.och.sweepercloud.R; -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean; -import com.mogo.och.sweepercloud.callback.ISweeperTaskDataToFragmentCallback; -import com.mogo.och.sweepercloud.callback.IWeltMapSwitchToSmallCallback; -import com.mogo.och.sweepercloud.database.bean.WeltDataBean; -import com.mogo.och.sweepercloud.util.AutopilotModeConfigManager; -import com.mogo.och.sweepercloud.util.SweeperCloudTaskUtils; -import com.mogo.och.sweepercloud.view.SweeperTrafficDataView; -import com.mogo.och.sweepercloud.view.WeltSmallMapView; -import com.zhjt.mogo.adas.data.AiCloudTask; +import com.mogo.och.sweeper.R; +import com.mogo.och.sweeper.cloud.view.SweeperCloudTrafficDataView; +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean; +import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback; +import com.mogo.och.sweeper.common.callback.IWeltMapSwitchToSmallCallback; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; +import com.mogo.och.sweeper.common.fragment.WeltMapOverViewFragment; +import com.mogo.och.sweeper.common.view.DebugView; +import com.mogo.och.sweeper.common.view.WeltSmallMapView; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; -import mogo.telematics.pad.MessagePad; - /** * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况 *

@@ -65,7 +58,7 @@ import mogo.telematics.pad.MessagePad; * * @author tongchenfei */ -public abstract class BaseSweeperTabFragment> extends MvpFragment implements IMogoMapListener, +public abstract class BaseSweeperCloudTabFragment> extends MvpFragment implements IMogoMapListener, IWeltMapSwitchToSmallCallback, View.OnTouchListener { private static final String TAG = "BaseSweeperTabFragment"; @@ -82,7 +75,7 @@ public abstract class BaseSweeperTabFragment { - ToastUtils.showLong("读取失败=" + err); - }); - } - @Override - public void onParseFailed(String err) { - ToastUtils.showLong("解析失败=" + err); - } - - @Override - public void onParse(MessagePad.SetAutopilotModeReq bean) { - ToastUtils.showLong("下发命令\n" + TextFormat.printer().escapingNonAscii(false).printToString(bean)); - AutopilotControlParameters parameters = new AutopilotControlParameters(); - MessagePad.RouteInfo routeInfo = bean.getRouteInfo(); - if (routeInfo.getRouteID() > 0) { - parameters.routeID = routeInfo.getRouteID(); - } - parameters.routeName = routeInfo.getRouteName(); - parameters.startName = routeInfo.getStartName();//拼音 - parameters.endName = routeInfo.getEndName();//拼音 - parameters.startLatLon = new AutopilotControlParameters - .AutoPilotLonLat(routeInfo.getStartLocation().getLatitude(), routeInfo.getStartLocation().getLongitude()); - parameters.endLatLon = new AutopilotControlParameters - .AutoPilotLonLat(routeInfo.getEndLocation().getLatitude(), routeInfo.getEndLocation().getLongitude()); - parameters.vehicleType = 10; - MessagePad.Line line = routeInfo.getLine(); - parameters.autoPilotLine = new AutopilotControlParameters.AutoPilotLine( - line.getLineId(), line.getLineName(), - line.getTrajUrl(), line.getTrajMd5(), - line.getStopUrl(), line.getStopMd5(), - line.getTimestamp(), line.getVehicleModel(), - line.getTrajUrlDpqp(), line.getTrajMd5Dpqp(), - line.getStopUrlDpqp(), line.getStopMd5Dpqp(), - line.getTimestampDpqp()); - CallerAutoPilotControlManager.INSTANCE.startAutoPilot(parameters); - } - }).read(); - } - }); - // 模拟 查询当前任务 - findViewById(R.id.btnQueryCurrentTask).setOnClickListener(view -> - SweeperCloudTaskUtils.mockQueryCurrentTaskInfo() + //打开调试面板 + findViewById(R.id.btnOpenDebugView).setOnClickListener(view -> { + Intent intent = new Intent(); + intent.setAction(DebugView.BROADCAST_ACTION); + intent.putExtra(DebugView.BROADCAST_DATA_SHOW, true); + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent); + } ); - // 模拟 云端发送任务 - findViewById(R.id.btnSendTask).setOnClickListener(view -> { - SweeperCloudTaskUtils.mockSendCloudTaskInfo(AiCloudTask.MessageType.CloudPushTask); - UiThreadHandler.postDelayed(() -> { - debugEndSubTask(); - }, 5000); - - } - - ); - // 模拟 云端发送子任务确认 - findViewById(R.id.btnSendSubTaskConfirm).setOnClickListener(view -> - SweeperCloudTaskUtils.mockSendCloudSubTaskConfirm() - ); - - // 模拟 云端请求结束大任务 - findViewById(R.id.btnSendEndTask).setOnClickListener(view -> - SweeperCloudTaskUtils.mockSendCloudBigTaskEnd() - ); - // 模拟 云端发送子任务状态 - findViewById(R.id.btnSendSubtaskStatus).setOnClickListener(view -> - SweeperCloudTaskUtils.mockSendCloudUpdateSubTaskStatus() - ); - // 模拟 云端发送大任务状态 - findViewById(R.id.btnSendTaskStatus).setOnClickListener(view -> - SweeperCloudTaskUtils.mockSendCloudBigTaskStatus() - ); - // 模拟 添加高精地图Marker - findViewById(R.id.btnAddHDMarker).setOnClickListener(view -> { - // 坐标地址:湖南省衡阳市雁峰区金龙坪街道科学城大道衡山科学城停车场 - SweeperCloudTaskUtils.mockAddHdMarker("marker_sweeper_subtask_123_start", - 112.57742887355035, - 26.82068193910221, - true); - // 坐标地址:湖南省衡阳市雁峰区岳屏镇雁鸣路 - SweeperCloudTaskUtils.mockAddHdMarker("marker_sweeper_subtask_123_end", - 112.56666738544979, - 26.822879976829867, - false); - } - ); - // 模拟 移除高精地图Marker - findViewById(R.id.btnRemoveHDMarker).setOnClickListener(view -> - SweeperCloudTaskUtils.mockRemoveHDMarker() + //关闭调试面板 + findViewById(R.id.btnCloseDebugView).setOnClickListener(view -> { + Intent intent = new Intent(); + intent.setAction(DebugView.BROADCAST_ACTION); + intent.putExtra(DebugView.BROADCAST_DATA_SHOW, false); + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent); + } ); mTrafficDataView.getSpeedImage().setOnLongClickListener(new View.OnLongClickListener() { @Override @@ -368,7 +278,7 @@ public abstract class BaseSweeperTabFragment() { +class SweeperCloudFragment : BaseSweeperCloudTabFragment() { companion object { - const val TAG = "SweeperFragment" + const val TAG = "SweeperCloudFragment" } private var mSubMutableList: MutableList? = null @@ -82,8 +82,8 @@ class SweeperFragment : BaseSweeperTabFragment { mDialog = sweeperCloudTaskSuspendDialog(it.taskId) showNotice("云端暂停任务,注意车辆即将停车!") + DebugView.printInfoMsg("[任务状态]云端暂停任务,注意车辆即将停车!") } else -> { @@ -581,6 +587,7 @@ class SweeperFragment : BaseSweeperTabFragment) { + override fun setTaskRouteList(routeList: ArrayList) { super.setTaskRouteList(routeList) } - private fun getCurrentTaskView(): SweeperCurrentTaskInfoView = sweeper_current_task_view + private fun getCurrentTaskView(): SweeperCloudCurrentTaskInfoView = sweeper_current_task_view fun handleSubTaskInfoDialog(taskId: String, subTaskId: String, isPop: Boolean) { if (mTaskInfo == null) return @@ -733,7 +742,7 @@ class SweeperFragment : BaseSweeperTabFragment * 清扫车任务管理 */ -public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IMoGoAutopilotStatusListener, IMoGoSweeperFutianCleanSystemListener { - private final String TAG = SweeperTaskModel.class.getSimpleName(); - private static volatile SweeperTaskModel sInstance; +public class SweeperCloudTaskModel implements IMoGoSweeperFutianCloudTaskListener, IMoGoAutopilotStatusListener, IMoGoSweeperFutianCleanSystemListener { + private final String TAG = SweeperCloudTaskModel.class.getSimpleName(); + private static volatile SweeperCloudTaskModel sInstance; public double mLongitude = 0; public double mLatitude = 0; private Context mContext; @@ -112,18 +112,18 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM //用于对应messageType和reqNo绑定在一起,保证请求的reqNo和响应的reqNo一致 private HashMap msgTypeAndReqNo = new HashMap<>(); - public static SweeperTaskModel getInstance() { + public static SweeperCloudTaskModel getInstance() { if (sInstance == null) { - synchronized (SweeperTaskModel.class) { + synchronized (SweeperCloudTaskModel.class) { if (sInstance == null) { - sInstance = new SweeperTaskModel(); + sInstance = new SweeperCloudTaskModel(); } } } return sInstance; } - private SweeperTaskModel() { + private SweeperCloudTaskModel() { } @@ -197,7 +197,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) { if (null != routeList && routeList.getWayPointsList() != null && routeList.getWayPointsList().size() > 0) { - CallerLogger.d(M_SWEEPER + TAG, "onAutopilotRotting: " + printMessage(routeList)); + CallerLogger.d(M_SWEEPER + TAG, "onAutopilotRotting: " + SweeperCloudTaskUtils.printMessage(routeList)); + DebugView.Companion.printInfoMsg("[MAP全局规划回调] 回调,getWayPointsList.Size=" + routeList.getWayPointsList().size()); // MAP返回路线信息,在1秒内返回了2次,这里加上数据过滤 long current = System.currentTimeMillis(); @@ -291,6 +292,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM if (StatusDescriptor.VR_MODE == descriptor) { if (mControllerStatusCallback != null) { mControllerStatusCallback.onVRModeChanged(isTrue); + DebugView.Companion.printInfoMsg("[VRMode变化] isVRMode=" + isTrue); } } } @@ -336,7 +338,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM SweeperTask.TaskInfo taskInfo) { CallerLogger.d(M_SWEEPER + TAG, - "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " onSweeperFutianCloudTask:" + (taskInfo == null ? "null" : printMessage(taskInfo)) + " mSweeperTaskCallback:" + mSweeperTaskCallback); + "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " onSweeperFutianCloudTask:" + (taskInfo == null ? "null" : SweeperCloudTaskUtils.printMessage(taskInfo)) + " mSweeperTaskCallback:" + mSweeperTaskCallback); + DebugView.Companion.printInfoMsg("[云控]云端下发大任务,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", taskInfo=(" + + (taskInfo == null ? "null" : "taskId=" + taskInfo.getTaskId() + ", taskName=" + taskInfo.getTaskName() + ", taskStatus=" + taskInfo.getTaskStatus().name()) + + ")"); if (mSweeperTaskCallback != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTask(messageType, taskInfo); @@ -348,7 +356,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM SweeperTaskConfirm.TaskConfirm taskConfirm) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskConfirm:" + printMessage(taskConfirm)); + "onSweeperFutianCloudTaskConfirm:" + SweeperCloudTaskUtils.printMessage(taskConfirm)); + DebugView.Companion.printInfoMsg("[云控]云端下发子任务确认,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", taskConfirm=(" + + (taskConfirm == null ? "null" : "taskId=" + taskConfirm.getTaskId() + ", subTaskId=" + taskConfirm.getSubTaskId() + ", isPop=" + taskConfirm.getIsPop()) + + ")"); if (mSweeperTaskCallback != null && taskConfirm != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskConfirm(taskConfirm.getTaskId(), taskConfirm.getSubTaskId(), taskConfirm.getIsPop()); @@ -359,7 +373,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskStatus.TaskStatusPush taskStatusPush) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskStatus:" + printMessage(taskStatusPush)); + "onSweeperFutianCloudTaskStatus:" + SweeperCloudTaskUtils.printMessage(taskStatusPush)); + DebugView.Companion.printInfoMsg("[云控]云端下发子任务状态,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", taskStatusPush=(" + + (taskStatusPush == null ? "null" : "taskId=" + taskStatusPush.getTaskId() + ", subTaskId=" + taskStatusPush.getSubTaskId() + ", taskStatus=" + taskStatusPush.getTaskStatus().name()) + + ")"); if (mSweeperTaskCallback != null && taskStatusPush != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskStatus(taskStatusPush.getTaskId(), taskStatusPush.getSubTaskId(), taskStatusPush.getTaskStatus()); @@ -370,7 +390,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskStop(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskStop.StopTaskReq stopTaskReq) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskStop:" + printMessage(stopTaskReq)); + "onSweeperFutianCloudTaskStop:" + SweeperCloudTaskUtils.printMessage(stopTaskReq)); + DebugView.Companion.printInfoMsg("[云控]云端请求pad结束大任务,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", stopTaskReq=(" + + (stopTaskReq == null ? "null" : "taskId=" + stopTaskReq.getTaskId() + ", type=" + stopTaskReq.getType() + ", isPop=" + stopTaskReq.getIsPop()) + + ")"); if (mSweeperTaskCallback != null && stopTaskReq != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskStop(stopTaskReq.getTaskId(), stopTaskReq.getType(), stopTaskReq.getIsPop()); @@ -381,7 +407,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskSuspendResume(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperTaskSuspendResume.SuspendResumeTaskResp suspendResumeTaskResp) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskSuspendResume:" + printMessage(suspendResumeTaskResp)); + "onSweeperFutianCloudTaskSuspendResume:" + SweeperCloudTaskUtils.printMessage(suspendResumeTaskResp)); + DebugView.Companion.printInfoMsg("[云控]pad请求挂起/恢复任务云端回执,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", suspendResumeTaskResp=(" + + (suspendResumeTaskResp == null ? "null" : "taskId=" + suspendResumeTaskResp.getTaskId() + ", subTaskId=" + suspendResumeTaskResp.getSubTaskId() + ", code=" + suspendResumeTaskResp.getCode().name()) + + ")"); if (mSweeperTaskCallback != null && suspendResumeTaskResp != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudTaskSuspendResume(messageType, suspendResumeTaskResp.getTaskId(), @@ -393,7 +425,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudBootable(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperBootable.IsBootableResp isBootableResp) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudBootable:" + printMessage(isBootableResp)); + "onSweeperFutianCloudBootable:" + SweeperCloudTaskUtils.printMessage(isBootableResp)); + DebugView.Companion.printInfoMsg("[云控]pad请求启自驾云端回执,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", isBootableResp=(" + + (isBootableResp == null ? "null" : "taskId=" + isBootableResp.getTaskId() + ", subTaskId=" + isBootableResp.getSubTaskId()) + + ")"); if (mSweeperTaskCallback != null && isBootableResp != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudBootable(isBootableResp.getTaskId(), isBootableResp.getSubTaskId(), isBootableResp); @@ -404,7 +442,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudBigTaskStatus(@NonNull AiCloudTask.MessageType messageType, String reqNo, long sysTime, SweeperBigTaskStatus.BigTaskStatusPush bigTaskStatusPush) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudBigTaskStatus:" + printMessage(bigTaskStatusPush)); + "onSweeperFutianCloudBigTaskStatus:" + SweeperCloudTaskUtils.printMessage(bigTaskStatusPush)); + DebugView.Companion.printInfoMsg("[云控]云端下发大任务状态,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", bigTaskStatusPush=(" + + (bigTaskStatusPush == null ? "null" : "taskId=" + bigTaskStatusPush.getTaskId() + ", taskStatus=" + bigTaskStatusPush.getTaskStatus().name() + ", isPop=" + bigTaskStatusPush.getIsPop()) + + ")"); if (mSweeperTaskCallback != null && bigTaskStatusPush != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudBigTaskStatus(bigTaskStatusPush.getTaskId(), bigTaskStatusPush.getTaskStatus(), bigTaskStatusPush.getIsPop()); @@ -415,7 +459,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskCloudSuspendResume(@NonNull AiCloudTask.MessageType messageType, @Nullable String reqNo, long sysTime, @Nullable SweeperTaskCloudSuspendResume.BigTaskActionPush bigTaskActionPush) { CallerLogger.d(M_SWEEPER + TAG, "messageType: " + messageType.getNumber() + " sysTime:" + sysTime + " reqNo:" + reqNo + " " + - "onSweeperFutianCloudTaskCloudSuspendResume:" + printMessage(bigTaskActionPush)); + "onSweeperFutianCloudTaskCloudSuspendResume:" + SweeperCloudTaskUtils.printMessage(bigTaskActionPush)); + DebugView.Companion.printInfoMsg("[云控]云端下发暂停/恢复指令,messageType=" + messageType.getNumber() + + ", sysTime=" + sysTime + + ", reqNo=" + reqNo + + ", bigTaskActionPush=(" + + (bigTaskActionPush == null ? "null" : "taskId=" + bigTaskActionPush.getTaskId() + ", action=" + bigTaskActionPush.getAction() + ", isPop=" + bigTaskActionPush.getIsPop()) + + ")"); if (mSweeperTaskCallback != null && bigTaskActionPush != null) { msgTypeAndReqNo.put(messageType.getNumber(), reqNo); mSweeperTaskCallback.onSweeperCloudBigTaskSuspendResume(bigTaskActionPush.getTaskId(), bigTaskActionPush.getAction(), bigTaskActionPush.getIsPop()); @@ -436,6 +486,8 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM if (mSweeperTaskCallback != null) { mSweeperTaskCallback.onSweeperFutianCleanSystemState(cleanSystemState); } + //1秒一次太频繁,先删除这行日志 + //DebugView.Companion.printInfoMsg("[域控]接收到上装系统状态并更新"); } @Override @@ -459,6 +511,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM // CallerLogger.INSTANCE.d(M_SWEEPER + TAG, // "mSubTaskType:" + mSubTaskType + "+ onSweeperFutianTaskIndexData:" + printMessage(roboSweeperTaskIndex)); // handleWeltData(roboSweeperTaskIndex); +// DebugView.Companion.printInfoMsg("[域控]接收到贴边数据并更新"); } /** @@ -521,7 +574,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM SweeperTask.GetTaskReq getTaskReq = builder.build(); CallerLogger.d(M_SWEEPER + TAG, - "getCurrentTask:" + printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendGetTaskReq.getNumber()); + "getCurrentTask:" + SweeperCloudTaskUtils.printMessage(getTaskReq) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendGetTaskReq.getNumber()); getAutoPilotControlManager().sendSweeperGetTaskReq(reqNo, getTaskReq); } @@ -538,7 +591,10 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM getAutoPilotControlManager().sendSweeperStartTaskResp(reqNo, startTaskResp); CallerLogger.d(M_SWEEPER + TAG, - "sendSweeperStartTaskResp:" + printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTask.getNumber()); + "sendSweeperStartTaskResp:" + SweeperCloudTaskUtils.printMessage(startTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTask.getNumber()); + DebugView.Companion.printInfoMsg("[云控]pad发送接收 云端下发大任务信息 回执给云端,taskId=" + taskId + + ", StartTaskCode=" + code + + ", reqNo=" + reqNo); } /** @@ -552,9 +608,13 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM builder.setCode(code); SweeperTaskConfirm.TaskConfirmResp taskConfirmResp = builder.build(); String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); - CallerLogger.d(M_SWEEPER + TAG, - "sendSweeperTaskConfirmResp" + printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); getAutoPilotControlManager().sendSweeperTaskConfirmResp(reqNo, taskConfirmResp); + CallerLogger.d(M_SWEEPER + TAG, + "sendSweeperTaskConfirmResp" + SweeperCloudTaskUtils.printMessage(taskConfirmResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskConfirm.getNumber()); + DebugView.Companion.printInfoMsg("[云控]pad发送接收 云端下发子任务pad确认 回执给云端,taskId=" + taskId + + ", subTaskId=" + subTaskId + + ", TaskConfirmCode=" + code + + ", reqNo=" + reqNo); } /** @@ -572,8 +632,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskStop.getNumber()); CallerLogger.d(M_SWEEPER + TAG, - "sendSweeperStopTaskResp" + printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskStop.getNumber()); + "sendSweeperStopTaskResp" + SweeperCloudTaskUtils.printMessage(stopTaskResp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskStop.getNumber()); getAutoPilotControlManager().sendSweeperStopTaskResp(reqNo, stopTaskResp); + DebugView.Companion.printInfoMsg("[云控]pad发送接收 云端请求pad结束大任务 回执给云端,taskId=" + taskId + + ", StopTaskCode=" + code + + ", reqNo=" + reqNo); } /** @@ -593,8 +656,12 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM String reqNo = SweeperCloudTaskUtils.getRequestId(); CallerLogger.d(M_SWEEPER + TAG, - "sendSweeperAutopilotBootable" + printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendBootable.getNumber()); + "sendSweeperAutopilotBootable" + SweeperCloudTaskUtils.printMessage(isBootable) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.PadSendBootable.getNumber()); getAutoPilotControlManager().sendSweeperAutopilotBootable(reqNo, isBootable); + DebugView.Companion.printInfoMsg("[云控]pad发送 请求进入自动驾驶 给云端,taskId=" + taskId + + ", subTaskId=" + subTaskId + + ", lineId=" + lineId + + ", reqNo=" + reqNo); //SweeperCloudTaskUtils.mockSendCloudBootable(); } @@ -612,8 +679,11 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM String reqNo = msgTypeAndReqNo.get(AiCloudTask.MessageType.CloudPushTaskSuspendResume.getNumber()); CallerLogger.d(M_SWEEPER + TAG, - "sendSweeperSuspendResumeTaskResp" + printMessage(resp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskSuspendResume); + "sendSweeperSuspendResumeTaskResp" + SweeperCloudTaskUtils.printMessage(resp) + " reqNo:" + reqNo + " messageType:" + AiCloudTask.MessageType.CloudPushTaskSuspendResume); getAutoPilotControlManager().sendSweeperCloudSuspendResumeTaskResp(reqNo, resp); + DebugView.Companion.printInfoMsg("[云控]pad发送接收 云端下发大任务暂停/恢复 回执给云端,taskId=" + taskId + + ", SuspendResumeCode=" + code + + ", reqNo=" + reqNo); } public CallerAutoPilotControlManager getAutoPilotControlManager() { @@ -631,7 +701,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM @Override public void onAutopilotArriveAtStation(@Nullable MessagePad.ArrivalNotification arrivalNotification) { - + DebugView.Companion.printInfoMsg("[MAP到站通知] 上报到站,endLocation=(" + + ((arrivalNotification == null || arrivalNotification.getEndLocation() == null) ? "null" : arrivalNotification.getEndLocation().toString()) + + ")"); } @Override @@ -652,6 +724,9 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM getCurrentTask(); }, 10000); } + DebugView.Companion.printInfoMsg( + "[域控连接状态变化] status=" + status + + ", reason=" + reason); //CallerLogger.d(M_SWEEPER + TAG, "onAutopilotIpcConnectStatusChanged status:" + status + " reason:" + reason); } @@ -679,6 +754,7 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM public void onSweeperFutianCloudTaskUnknown(@NonNull byte[] bytes) { String string = new String(bytes, StandardCharsets.UTF_8); CallerLogger.d(M_SWEEPER + TAG, "onSweeperFutianCloudTaskUnknown:" + string); + DebugView.Companion.printInfoMsg("[云控]接收到云端未知类型消息,Unknown=" + string); } @Override @@ -690,12 +766,16 @@ public class SweeperTaskModel implements IMoGoSweeperFutianCloudTaskListener, IM } switch (state) { case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE://不可自动驾驶 + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_DISABLE,meaning=不可自动驾驶"); break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE://人工驾驶 + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_ENABLE,meaning=可自动驾驶,人工干预状态"); break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING://自动驾驶中 + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_RUNNING,meaning=自动驾驶中"); break; case IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING://平行驾驶 + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_PARALLEL_DRIVING,meaning=平行驾驶中"); break; default: break; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/presenter/SweeperPresenter.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java similarity index 77% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/presenter/SweeperPresenter.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java index 1e4b15569d..2d98852ecf 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/presenter/SweeperPresenter.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/presenter/SweeperCloudPresenter.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.presenter; +package com.mogo.och.sweeper.cloud.presenter; import androidx.annotation.NonNull; @@ -10,13 +10,13 @@ import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.call.autopilot.CallerSweeperFutianCleanSystemListenerManager; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean; -import com.mogo.och.sweepercloud.callback.ISweeperCloudTaskCallback; -import com.mogo.och.sweepercloud.callback.ISweeperControllerStatusCallback; -import com.mogo.och.sweepercloud.callback.ISweeperTaskRouteCallback; -import com.mogo.och.sweepercloud.database.bean.WeltDataBean; -import com.mogo.och.sweepercloud.fragment.SweeperFragment; -import com.mogo.och.sweepercloud.model.SweeperTaskModel; +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean; +import com.mogo.och.sweeper.cloud.callback.ISweeperCloudTaskCallback; +import com.mogo.och.sweeper.cloud.callback.ISweeperControllerStatusCallback; +import com.mogo.och.sweeper.common.callback.ISweeperTaskRouteCallback; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; +import com.mogo.och.sweeper.cloud.fragment.SweeperCloudFragment; +import com.mogo.och.sweeper.cloud.model.SweeperCloudTaskModel; import com.zhjt.mogo.adas.data.AiCloudTask; import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable; import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon; @@ -34,15 +34,15 @@ import chassis.ChassisStatesOuterClass; * * @author tongchenfei */ -public class SweeperPresenter extends Presenter +public class SweeperCloudPresenter extends Presenter implements ISweeperControllerStatusCallback, ISweeperCloudTaskCallback, ISweeperTaskRouteCallback { private static final String TAG = "SweeperPresenter"; - public SweeperPresenter(SweeperFragment view) { + public SweeperCloudPresenter(SweeperCloudFragment view) { super(view); - SweeperTaskModel.getInstance().init(); + SweeperCloudTaskModel.getInstance().init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); } @@ -55,18 +55,18 @@ public class SweeperPresenter extends Presenter @Override public void onDestroy(@NonNull LifecycleOwner owner) { super.onDestroy(owner); - SweeperTaskModel.getInstance().release(); + SweeperCloudTaskModel.getInstance().release(); releaseListener(); } public void initModelListener() { - SweeperTaskModel.getInstance().setControllerStatusCallback(this); - SweeperTaskModel.getInstance().setSweeperTaskCallback(this); + SweeperCloudTaskModel.getInstance().setControllerStatusCallback(this); + SweeperCloudTaskModel.getInstance().setSweeperTaskCallback(this); } public void releaseListener() { - SweeperTaskModel.getInstance().setControllerStatusCallback(null); - SweeperTaskModel.getInstance().setSweeperTaskCallback(null); + SweeperCloudTaskModel.getInstance().setControllerStatusCallback(null); + SweeperCloudTaskModel.getInstance().setSweeperTaskCallback(null); CallerSweeperFutianCleanSystemListenerManager.INSTANCE.removeListener(TAG); } @@ -94,28 +94,28 @@ public class SweeperPresenter extends Presenter * @return */ public int getAutopilotState() { - return SweeperTaskModel.getInstance().getAutopilotState(); + return SweeperCloudTaskModel.getInstance().getAutopilotState(); } /** * 清除路线缓存数据 */ public void clearRouteList() { - SweeperTaskModel.getInstance().clearRouteList(); + SweeperCloudTaskModel.getInstance().clearRouteList(); } /** * 设置当前子任务信息 */ public void setSubtask(String subTaskId, SweeperTask.TaskModel subTaskType, int currentLineId) { - SweeperTaskModel.getInstance().setSubtask(subTaskId, subTaskType, currentLineId); + SweeperCloudTaskModel.getInstance().setSubtask(subTaskId, subTaskType, currentLineId); } /** * 判断是否有任务数据 */ public void isHasTaskInfo(boolean isHasTaskInfo) { - SweeperTaskModel.getInstance().isHasTaskInfo(isHasTaskInfo); + SweeperCloudTaskModel.getInstance().isHasTaskInfo(isHasTaskInfo); } /** @@ -123,14 +123,14 @@ public class SweeperPresenter extends Presenter * @param preLineId */ public void setPreLineId(int preLineId) { - SweeperTaskModel.getInstance().setPreLineId(preLineId); + SweeperCloudTaskModel.getInstance().setPreLineId(preLineId); } /** * 获取当前正在执行的任务 */ public void getCurrentTask() { - SweeperTaskModel.getInstance().getCurrentTask(); + SweeperCloudTaskModel.getInstance().getCurrentTask(); } /** @@ -140,7 +140,7 @@ public class SweeperPresenter extends Presenter * @param code */ public void sendSweeperStartTaskResp(String taskId, SweeperTask.StartTaskCode code) { - SweeperTaskModel.getInstance().sendSweeperStartTaskResp(taskId, code); + SweeperCloudTaskModel.getInstance().sendSweeperStartTaskResp(taskId, code); } /** @@ -151,7 +151,7 @@ public class SweeperPresenter extends Presenter * @param code */ public void sendSweeperTaskConfirmResp(String taskId, String subTaskId, SweeperTaskConfirm.TaskConfirmCode code) { - SweeperTaskModel.getInstance().sendSweeperTaskConfirmResp(taskId, subTaskId, code); + SweeperCloudTaskModel.getInstance().sendSweeperTaskConfirmResp(taskId, subTaskId, code); } /** @@ -161,7 +161,7 @@ public class SweeperPresenter extends Presenter * @param code */ public void sendSweeperStopTaskResp(String taskId, SweeperTaskStop.StopTaskCode code) { - SweeperTaskModel.getInstance().sendSweeperStopTaskResp(taskId, code); + SweeperCloudTaskModel.getInstance().sendSweeperStopTaskResp(taskId, code); } /** @@ -172,7 +172,7 @@ public class SweeperPresenter extends Presenter * @param lineId */ public void sendSweeperAutopilotBootable(String taskId, String subTaskId, long lineId) { - SweeperTaskModel.getInstance().sendSweeperAutopilotBootable(taskId, subTaskId, lineId); + SweeperCloudTaskModel.getInstance().sendSweeperAutopilotBootable(taskId, subTaskId, lineId); } /** @@ -181,7 +181,7 @@ public class SweeperPresenter extends Presenter * @param code */ public void sendSweeperSuspendResumeTaskResp(String taskId, SweeperTaskCloudSuspendResume.Code code) { - SweeperTaskModel.getInstance().sendSweeperSuspendResumeTaskResp(taskId, code); + SweeperCloudTaskModel.getInstance().sendSweeperSuspendResumeTaskResp(taskId, code); } @Override diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudDialog.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudDialog.kt similarity index 94% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudDialog.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudDialog.kt index 23deab9621..4f162f2956 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudDialog.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudDialog.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.ui.dialog +package com.mogo.och.sweeper.cloud.ui.dialog import android.animation.ObjectAnimator import android.animation.ValueAnimator @@ -10,9 +10,8 @@ import android.widget.TextView import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.mogo.eagle.core.utilcode.util.ClickUtils -import com.mogo.och.sweepercloud.R -import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener -import com.mogo.och.sweepercloud.view.CountDownView +import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.cloud.view.CountDownView /** * 清扫车云控任务dialog基类 @@ -115,7 +114,7 @@ import com.mogo.och.sweepercloud.view.CountDownView var middleStr: String = "" var rightStr: String = "" var countDownTime: Int = 0 - var listener: SweeperCloudDialogClickListener? = null + var listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener? = null fun build(context: Context): SweeperCloudDialog { return SweeperCloudDialog(this, context) } diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudLoadingDialog.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudLoadingDialog.kt similarity index 96% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudLoadingDialog.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudLoadingDialog.kt index 3321382705..fcb1f3e94f 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/dialog/SweeperCloudLoadingDialog.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/ui/dialog/SweeperCloudLoadingDialog.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.ui.dialog +package com.mogo.och.sweeper.cloud.ui.dialog import android.animation.ObjectAnimator import android.content.Context @@ -7,7 +7,7 @@ import androidx.lifecycle.LifecycleObserver import com.elegant.utils.UiThreadHandler import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.sweepercloud.R +import com.mogo.och.sweeper.R import kotlinx.android.synthetic.main.dialog_sweeper_cloud_loading.* /** diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/AutopilotModeConfigManager.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/AutopilotModeConfigManager.java similarity index 99% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/AutopilotModeConfigManager.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/AutopilotModeConfigManager.java index f828af22a5..9bf022e5d2 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/AutopilotModeConfigManager.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/AutopilotModeConfigManager.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.util; +package com.mogo.och.sweeper.cloud.util; import android.os.Environment; import android.text.TextUtils; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperCloudTaskUtils.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/SweeperCloudTaskUtils.kt similarity index 83% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperCloudTaskUtils.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/SweeperCloudTaskUtils.kt index ef14a2ef6a..c759f2f649 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperCloudTaskUtils.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/util/SweeperCloudTaskUtils.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.util +package com.mogo.och.sweeper.cloud.util import android.content.Context import android.util.Log @@ -14,11 +14,8 @@ import com.mogo.map.overlay.point.Point import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.OCHThreadPoolManager import com.mogo.och.common.module.voice.VoiceNotice -import com.mogo.och.sweepercloud.R -import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener -import com.mogo.och.sweepercloud.constant.SweeperConst -import com.mogo.och.sweepercloud.model.SweeperTaskModel -import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog +import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.cloud.model.SweeperCloudTaskModel import com.zhjt.mogo.adas.data.AiCloudTask import com.zhjt.mogo.adas.data.sweeper.bootable.SweeperBootable import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon @@ -43,7 +40,7 @@ object SweeperCloudTaskUtils { // UiThreadHandler.getsUiHandler().postDelayed({ // mockSendCloudTaskInfo(MessageType.PadSendGetTaskReq) // },1000) - SweeperTaskModel.getInstance().getCurrentTask() + SweeperCloudTaskModel.getInstance().getCurrentTask() } /** @@ -150,7 +147,7 @@ object SweeperCloudTaskUtils { // subBuilder3.lineId = 126 // subBuilder3.lineName = "测试路线3" // builder.addSubList(subBuilder3.build()) - SweeperTaskModel.getInstance().onSweeperFutianCloudTask( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudTask( messageType, "${System.currentTimeMillis()}", System.currentTimeMillis(), @@ -171,7 +168,7 @@ object SweeperCloudTaskUtils { builder.sn = getDriverSn() builder.taskId = "10" builder.subTaskId = "1" - SweeperTaskModel.getInstance().onSweeperFutianCloudTaskConfirm( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudTaskConfirm( AiCloudTask.MessageType.CloudPushTaskConfirm, "${System.currentTimeMillis()}", System.currentTimeMillis(), builder.build() ) @@ -187,7 +184,7 @@ object SweeperCloudTaskUtils { builder.taskId = "10" builder.subTaskId = "1" builder.taskStatus = SweeperCommon.TaskStatus.RUNNING - SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStatus( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudTaskStatus( AiCloudTask.MessageType.CloudPushTaskStatus, "${System.currentTimeMillis()}", System.currentTimeMillis(), builder.build() ) @@ -202,7 +199,7 @@ object SweeperCloudTaskUtils { builder.sn = getDriverSn() builder.taskId = "10" builder.type = SweeperTaskStop.StopTaskType.ADVANCE - SweeperTaskModel.getInstance().onSweeperFutianCloudTaskStop( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudTaskStop( AiCloudTask.MessageType.CloudPushTaskStop, "${System.currentTimeMillis()}", System.currentTimeMillis(), builder.build() ) @@ -218,7 +215,7 @@ object SweeperCloudTaskUtils { builder.taskId = "10" builder.taskStatus = SweeperCommon.TaskStatus.FINISHED builder.systemTime = System.currentTimeMillis() - SweeperTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudBigTaskStatus( AiCloudTask.MessageType.CloudPushBigTaskStatus, "${System.currentTimeMillis()}", System.currentTimeMillis(), builder.build() ) @@ -235,7 +232,7 @@ object SweeperCloudTaskUtils { builder.subTaskId = "1" builder.code = SweeperCommon.Code.SUCCEED UiThreadHandler.getsUiHandler().postDelayed({ - SweeperTaskModel.getInstance().onSweeperFutianCloudBootable( + SweeperCloudTaskModel.getInstance().onSweeperFutianCloudBootable( AiCloudTask.MessageType.PadSendBootable, "${System.currentTimeMillis()}", System.currentTimeMillis(), builder.build() ) @@ -251,7 +248,7 @@ object SweeperCloudTaskUtils { val setMapMarkerRunnable = Runnable { val builder = Point.Options.Builder( - SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END, + com.mogo.och.sweeper.common.constant.SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END, Level.MAP_MARKER ) .setId(uuid) @@ -277,7 +274,7 @@ object SweeperCloudTaskUtils { //开启线程移除起终点marker设置 val removeMapMarkerRunnable = Runnable { val overlayManager = CallerMapUIServiceManager.getOverlayManager() - overlayManager?.removeAllPointsInOwner(SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END) + overlayManager?.removeAllPointsInOwner(com.mogo.och.sweeper.common.constant.SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END) } OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable) } @@ -291,11 +288,11 @@ object SweeperCloudTaskUtils { */ @JvmStatic fun createReceivedBigTaskInfoDialog( - context: Context?, - listener: SweeperCloudDialogClickListener?, - taskInfo: TaskInfo - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + context: Context?, + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?, + taskInfo: TaskInfo + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() val startCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskStartTime) val endCalendar = DateTimeUtil.formatLongToCalendar(taskInfo.taskEndTime) builder.titleStr = "任务接取" @@ -320,11 +317,11 @@ object SweeperCloudTaskUtils { */ @JvmStatic fun createConfirmStartSubTaskDialog( - context: Context?, - listener: SweeperCloudDialogClickListener?, - subTaskInfo: SubTaskInfo - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + context: Context?, + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?, + subTaskInfo: SubTaskInfo + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() builder.titleStr = "子任务确认" builder.contentStr = "请确认并执行子任务 ${subTaskInfo.subTaskName}" builder.tipStr = @@ -342,12 +339,12 @@ object SweeperCloudTaskUtils { */ @JvmStatic fun createSweeperTaskEndDialog( - context: Context?, - listener: SweeperCloudDialogClickListener?, - stopTaskType: SweeperTaskStop.StopTaskType, - timeoutStr: String - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + context: Context?, + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?, + stopTaskType: SweeperTaskStop.StopTaskType, + timeoutStr: String + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() val titleStr = when (stopTaskType) { SweeperTaskStop.StopTaskType.ADVANCE -> "任务中止" SweeperTaskStop.StopTaskType.EXCEPTION -> "任务异常结束" @@ -385,9 +382,9 @@ object SweeperCloudTaskUtils { @JvmStatic fun createSweeperTaskNormalEndDialog( context: Context?, - listener: SweeperCloudDialogClickListener? - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener? + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() builder.titleStr = "任务结束" builder.contentStr = "任务已完成,干的漂亮!" builder.tipStr = "" @@ -404,11 +401,11 @@ object SweeperCloudTaskUtils { */ @JvmStatic fun createSweeperTaskExceptionEndDialog( - context: Context?, - listener: SweeperCloudDialogClickListener?, - isCancel: Boolean - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + context: Context?, + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?, + isCancel: Boolean + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() builder.titleStr = "任务结束" builder.contentStr = if (isCancel) "任务已取消!" else "任务已异常结束!" builder.tipStr = "" @@ -423,9 +420,9 @@ object SweeperCloudTaskUtils { @JvmStatic fun createSweeperTaskSuspendDialog( context: Context?, - listener: SweeperCloudDialogClickListener? - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener? + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() builder.titleStr = "任务暂停" builder.contentStr = "云端暂停任务,注意车辆即将停车!" builder.tipStr = "【云端任务恢复前不可启动自动驾驶】" @@ -439,11 +436,11 @@ object SweeperCloudTaskUtils { @JvmStatic fun createSweeperTaskResumeDialog( - context: Context?, - listener: SweeperCloudDialogClickListener?, - contentStr: String - ): SweeperCloudDialog? { - val builder: SweeperCloudDialog.Builder = SweeperCloudDialog.Builder() + context: Context?, + listener: com.mogo.och.sweeper.cloud.callback.SweeperCloudDialogClickListener?, + contentStr: String + ): com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog? { + val builder: com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder = com.mogo.och.sweeper.cloud.ui.dialog.SweeperCloudDialog.Builder() builder.titleStr = "任务恢复" builder.contentStr = contentStr builder.tipStr = "【注意安全,坐稳扶好】" diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/CountDownView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/CountDownView.kt similarity index 97% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/CountDownView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/CountDownView.kt index 5790ef8072..1ead6fa62c 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/CountDownView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/CountDownView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.cloud.view import android.content.Context import android.os.Handler diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/FontAdaptionTextView.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/FontAdaptionTextView.java similarity index 97% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/FontAdaptionTextView.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/FontAdaptionTextView.java index 816baff142..be546001e7 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/FontAdaptionTextView.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/FontAdaptionTextView.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view; +package com.mogo.och.sweeper.cloud.view; import android.content.Context; import android.util.AttributeSet; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SubTaskView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SubTaskView.kt similarity index 89% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SubTaskView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SubTaskView.kt index 8f2b8709ec..31249d8fe5 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SubTaskView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SubTaskView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.cloud.view import android.content.Context import android.graphics.Color @@ -6,11 +6,11 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.och.sweepercloud.R +import com.mogo.och.sweeper.R import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.SubTaskInfo import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskModel -import kotlinx.android.synthetic.main.sweeper_subtask_view.view.* +import kotlinx.android.synthetic.main.sweeper_cloud_subtask_view.view.* /** * 子任务View @@ -24,7 +24,7 @@ class SubTaskView : ConstraintLayout { constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {} private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_subtask_view, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_subtask_view, this) } /** diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperCurrentTaskInfoView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudCurrentTaskInfoView.kt similarity index 89% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperCurrentTaskInfoView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudCurrentTaskInfoView.kt index 3295ab76a0..36e4d3b7f0 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperCurrentTaskInfoView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudCurrentTaskInfoView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.cloud.view import android.annotation.SuppressLint import android.content.Context @@ -10,23 +10,23 @@ import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.och.common.module.utils.DateTimeUtil -import com.mogo.och.sweepercloud.R +import com.mogo.och.sweeper.R import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon import com.zhjt.mogo.adas.data.sweeper.common.SweeperCommon.TaskStatus import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.SubTaskInfo import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskInfo -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.currentSubTask -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.lastSubTask -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.preSubTask -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvStartAuto -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskName -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskState -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.tvTaskTime +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.currentSubTask +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.lastSubTask +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.preSubTask +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvStartAuto +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskName +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskState +import kotlinx.android.synthetic.main.sweeper_cloud_current_task_info.view.tvTaskTime /** * 清扫车当前任务信息展示 */ -class SweeperCurrentTaskInfoView : ConstraintLayout { +class SweeperCloudCurrentTaskInfoView : ConstraintLayout { private val TAG: String = "SweeperCurrentTaskInfoView" //当前任务操作菜单 @@ -53,7 +53,7 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { } private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_current_task_info, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_current_task_info, this) updateTaskStateText(TaskStatus.TO_START) } @@ -116,7 +116,7 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { ) { // 更新 任务名称、任务时间 taskInfo?.apply { - this@SweeperCurrentTaskInfoView.listTask = subListList + this@SweeperCloudCurrentTaskInfoView.listTask = subListList tvTaskName.text = taskName val calendarStart = DateTimeUtil.formatLongToCalendar(taskStartTime) val calendarEnd = DateTimeUtil.formatLongToCalendar(taskEndTime) diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperTrafficDataView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudTrafficDataView.kt similarity index 97% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperTrafficDataView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudTrafficDataView.kt index 875b5ca82c..0a783ad174 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperTrafficDataView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudTrafficDataView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.cloud.view import android.annotation.SuppressLint import android.content.Context @@ -18,14 +18,14 @@ import com.mogo.eagle.core.function.hmi.ui.widget.TapPositionView import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.och.sweepercloud.R +import com.mogo.och.sweeper.R import planning.RoboSweeperTaskIndexOuterClass import kotlin.math.roundToInt /** * 车辆基本信息:方向盘下方的档位 转向灯 限速 速度 电量 水量 */ -class SweeperTrafficDataView : ConstraintLayout, +class SweeperCloudTrafficDataView : ConstraintLayout, IMoGoBatteryManagementSystemListener, IMoGoChassisLamplightListener, IMoGoChassisGearStateListener, @@ -64,7 +64,7 @@ class SweeperTrafficDataView : ConstraintLayout, constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {} private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_traffic_data, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_cloud_traffic_data, this) tapPositionView = findViewById(R.id.sweeperTrafficPosition) speedImage = findViewById(R.id.sweeperSpeedImage) speedTextView = findViewById(R.id.sweeperSpeedText) diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperWorkModeView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudWorkModeView.kt similarity index 88% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperWorkModeView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudWorkModeView.kt index 08dd7f348c..80ef087ff8 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/SweeperWorkModeView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/cloud/view/SweeperCloudWorkModeView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.cloud.view import android.content.Context import android.util.AttributeSet @@ -9,18 +9,22 @@ import chassis.ChassisStatesOuterClass.SweeperFuTianTaskSystemStates import com.elegant.utils.UiThreadHandler import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant -import com.mogo.och.sweepercloud.R -import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback -import com.mogo.och.sweepercloud.constant.OperateStateEnum -import com.mogo.och.sweepercloud.ui.popwindow.SweeperOperatePanelPopWindow -import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil +import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.common.constant.OperateStateEnum +import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil +import com.mogo.och.sweeper.common.view.SweeperOperatePanelPopWindow import com.zhjt.mogo.adas.data.sweeper.task.SweeperTask.TaskModel -import kotlinx.android.synthetic.main.sweeper_work_mode.view.* +import kotlinx.android.synthetic.main.sweeper_work_mode.view.groupWorkModelPanel +import kotlinx.android.synthetic.main.sweeper_work_mode.view.ivOpenOperatePanel +import kotlinx.android.synthetic.main.sweeper_work_mode.view.tvCleaningDirection +import kotlinx.android.synthetic.main.sweeper_work_mode.view.tvCleaningIntensity +import kotlinx.android.synthetic.main.sweeper_work_mode.view.tvCleaningMode +import kotlinx.android.synthetic.main.sweeper_work_mode.view.tvNoDataDesc /** * 清扫车模式信息展示 */ -class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback { +class SweeperCloudWorkModeView : ConstraintLayout { private var isSelectPureSweepMode: Boolean = false private val TAG = "SweeperWorkModeView" @@ -46,7 +50,7 @@ class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback { /** * 设置view */ - fun setTrafficDataView(trafficDataView: SweeperTrafficDataView){ + fun setTrafficDataView(trafficDataView: com.mogo.och.sweeper.cloud.view.SweeperCloudTrafficDataView){ //清扫模式选择面板打开关闭处理 ivOpenOperatePanel.setOnClickListener { if (mOperatePanelPopWindow?.isShowing != true) { @@ -126,7 +130,7 @@ class SweeperWorkModeView : ConstraintLayout,ICleaningModeStateCallback { } } - override fun cleaningModeState(operateState: OperateStateEnum, cleanSystemState: SweeperFuTianTaskSystemStates?, isSelectPureSweepMode: Boolean) { + fun cleaningModeState(operateState: OperateStateEnum, cleanSystemState: SweeperFuTianTaskSystemStates?, isSelectPureSweepMode: Boolean) { this.isSelectPureSweepMode = isSelectPureSweepMode this.operateState=operateState setShowOrHideCleanSystemState(operateState, cleanSystemState) diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperRoutePlanningUpdateReqBean.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/bean/SweeperRoutePlanningUpdateReqBean.java similarity index 93% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperRoutePlanningUpdateReqBean.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/bean/SweeperRoutePlanningUpdateReqBean.java index 32fcf73e48..3633d8530f 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperRoutePlanningUpdateReqBean.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/bean/SweeperRoutePlanningUpdateReqBean.java @@ -1,9 +1,7 @@ -package com.mogo.och.sweeper.bean; +package com.mogo.och.sweeper.common.bean; import java.io.Serializable; import java.util.ArrayList; -import java.util.List; - /** * Created by pangfan on 2021/8/19 * diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ICleaningModeStateCallback.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ICleaningModeStateCallback.java similarity index 72% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ICleaningModeStateCallback.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ICleaningModeStateCallback.java index 300a7300ad..e4c58f702a 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ICleaningModeStateCallback.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ICleaningModeStateCallback.java @@ -1,6 +1,6 @@ -package com.mogo.och.sweepercloud.callback; +package com.mogo.och.sweeper.common.callback; -import com.mogo.och.sweepercloud.constant.OperateStateEnum; +import com.mogo.och.sweeper.common.constant.OperateStateEnum; import chassis.ChassisStatesOuterClass; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperADASStatusCallback.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperADASStatusCallback.java similarity index 83% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperADASStatusCallback.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperADASStatusCallback.java index f8ce45d1a5..e36f419418 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperADASStatusCallback.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperADASStatusCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.callback; +package com.mogo.och.sweeper.common.callback; /** * Created on 2021/9/8 diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperTaskDataToFragmentCallback.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskDataToFragmentCallback.kt similarity index 73% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperTaskDataToFragmentCallback.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskDataToFragmentCallback.kt index 4e5badf48d..91eeb0a5fe 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/ISweeperTaskDataToFragmentCallback.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskDataToFragmentCallback.kt @@ -1,8 +1,8 @@ -package com.mogo.och.sweepercloud.callback +package com.mogo.och.sweeper.common.callback import com.amap.api.maps.model.LatLng -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweepercloud.database.bean.WeltDataBean +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean +import com.mogo.och.sweeper.common.database.bean.WeltDataBean import java.util.ArrayList interface ISweeperTaskDataToFragmentCallback { diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskRouteCallback.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskRouteCallback.kt similarity index 55% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskRouteCallback.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskRouteCallback.kt index 5711c8e6ab..bc00fe2628 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskRouteCallback.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/ISweeperTaskRouteCallback.kt @@ -1,6 +1,6 @@ -package com.mogo.och.sweeper.callback +package com.mogo.och.sweeper.common.callback -import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean import java.util.ArrayList interface ISweeperTaskRouteCallback { diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/IWeltMapSwitchToSmallCallback.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/IWeltMapSwitchToSmallCallback.kt similarity index 63% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/IWeltMapSwitchToSmallCallback.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/IWeltMapSwitchToSmallCallback.kt index 20748b003b..4f5497f4bd 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/callback/IWeltMapSwitchToSmallCallback.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/callback/IWeltMapSwitchToSmallCallback.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.callback +package com.mogo.och.sweeper.common.callback interface IWeltMapSwitchToSmallCallback { fun onWeltMapSwitchToSmall() diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/OperateStateEnum.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/OperateStateEnum.kt similarity index 86% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/OperateStateEnum.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/OperateStateEnum.kt index d757fee453..dda8adfbd5 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/OperateStateEnum.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/OperateStateEnum.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.constant +package com.mogo.och.sweeper.common.constant /** * 上装面板操作状态 diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/SweeperConst.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/SweeperConst.kt similarity index 88% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/SweeperConst.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/SweeperConst.kt index 1c4f5891e8..f0ee4dd32d 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/constant/SweeperConst.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/constant/SweeperConst.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.constant +package com.mogo.och.sweeper.common.constant import com.mogo.commons.debug.DebugConfig @@ -54,6 +54,10 @@ class SweeperConst { const val EVENT_KEY_AP_UNABLE_START_REASON = "event_key_och_bus_ap_unable_start_reason" const val EVENT_PARAM_UNABLE_START_REASON = "unable_start_reason"; + // 埋点Key: 切换清扫业务模式 + const val EVENT_KEY_CHANGE_CURRENT_SWEEPER_MODE = "event_key_och_change_current_sweeper_mode" + const val EVENT_PARAM_CHANGE_CURRENT_SWEEPER_MODE_CURRENT_MODE = "event_param_och_change_current_sweeper_mode_current_mode" + /** * 子任务起终点Marker类型 */ diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/database/MyDataBase.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/MyDataBase.java similarity index 84% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/database/MyDataBase.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/MyDataBase.java index 69b363a9b8..1cbeb0a021 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/database/MyDataBase.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/MyDataBase.java @@ -1,8 +1,8 @@ -package com.mogo.och.sweeper.database; +package com.mogo.och.sweeper.common.database; import com.mogo.commons.AbsMogoApplication; -import com.mogo.och.sweeper.database.bean.WeltDataBean; -import com.mogo.och.sweeper.database.dao.WeltDataDao; +import com.mogo.och.sweeper.common.database.dao.WeltDataDao; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; import androidx.room.Database; import androidx.room.Room; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/bean/WeltDataBean.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/bean/WeltDataBean.java similarity index 98% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/bean/WeltDataBean.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/bean/WeltDataBean.java index f6a3be84ee..c54f0f870f 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/bean/WeltDataBean.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/bean/WeltDataBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.database.bean; +package com.mogo.och.sweeper.common.database.bean; import java.io.Serializable; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/dao/WeltDataDao.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/dao/WeltDataDao.java similarity index 68% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/dao/WeltDataDao.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/dao/WeltDataDao.java index 4217b93d85..86c2a546dc 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/database/dao/WeltDataDao.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/database/dao/WeltDataDao.java @@ -1,7 +1,6 @@ -package com.mogo.och.sweepercloud.database.dao; +package com.mogo.och.sweeper.common.database.dao; -import com.mogo.och.sweepercloud.database.bean.WeltDataBean; -import com.mogo.och.sweepercloud.database.bean.WeltDataBean; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; import java.util.List; @@ -10,7 +9,7 @@ import androidx.room.Insert; import androidx.room.OnConflictStrategy; import androidx.room.Query; -import static com.mogo.och.sweepercloud.database.bean.WeltDataBean.WeltDataTable; +import static com.mogo.och.sweeper.common.database.bean.WeltDataBean.WeltDataTable; @Dao public interface WeltDataDao { diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperUIFragment.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/BaseSweeperUIFragment.java similarity index 96% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperUIFragment.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/BaseSweeperUIFragment.java index 3ee40b9134..7c3a6360fa 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperUIFragment.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/BaseSweeperUIFragment.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.fragment; +package com.mogo.och.sweeper.common.fragment; import android.os.Bundle; import android.view.LayoutInflater; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperAmapNaviFragment.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/SweeperAmapNaviFragment.java similarity index 97% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperAmapNaviFragment.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/SweeperAmapNaviFragment.java index b6439c35bd..7db003e127 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/SweeperAmapNaviFragment.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/SweeperAmapNaviFragment.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.fragment; +package com.mogo.och.sweeper.common.fragment; import android.os.Bundle; import android.view.View; @@ -43,21 +43,21 @@ public class SweeperAmapNaviFragment extends BaseSweeperUIFragment implements AM protected void initViews(Bundle savedInstanceState) { super.initViews(savedInstanceState); if (mAMapNaviView != null) - mAMapNaviView.onCreate(savedInstanceState); + mAMapNaviView.onCreate(savedInstanceState); } @Override public void onResume() { super.onResume(); if (mAMapNaviView != null) - mAMapNaviView.onResume(); + mAMapNaviView.onResume(); } @Override public void onPause() { super.onPause(); if (mAMapNaviView != null) - mAMapNaviView.onPause(); + mAMapNaviView.onPause(); } @Override diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/WeltMapOverViewFragment.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/WeltMapOverViewFragment.kt similarity index 76% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/WeltMapOverViewFragment.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/WeltMapOverViewFragment.kt index de471c94b8..7f73035010 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/fragment/WeltMapOverViewFragment.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/fragment/WeltMapOverViewFragment.kt @@ -1,13 +1,12 @@ -package com.mogo.och.sweepercloud.fragment +package com.mogo.och.sweeper.common.fragment import android.os.Bundle import com.amap.api.maps.model.LatLng import com.mogo.commons.mvp.BaseFragment -import com.mogo.och.sweepercloud.R -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweepercloud.callback.ISweeperTaskDataToFragmentCallback -import com.mogo.och.sweepercloud.callback.IWeltMapSwitchToSmallCallback -import com.mogo.och.sweepercloud.database.bean.WeltDataBean +import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback +import com.mogo.och.sweeper.common.callback.IWeltMapSwitchToSmallCallback +import com.mogo.och.sweeper.common.database.bean.WeltDataBean import kotlinx.android.synthetic.main.fragment_welt_map_overview.* import kotlinx.android.synthetic.main.sweeper_welt_map_overview.* @@ -16,7 +15,6 @@ import kotlinx.android.synthetic.main.sweeper_welt_map_overview.* */ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallback { private var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback? = null - private var mFragment: SweeperFragment? = null override fun getLayoutId(): Int = R.layout.fragment_welt_map_overview override fun getTagName(): String { return "WeltMapOverViewFragment" @@ -28,10 +26,6 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba fun setWeltMapSwitchToSmallCallBack(iWeltMapSwitchToSmallCallback: IWeltMapSwitchToSmallCallback){ this.mIWeltMapSwitchToSmallCallBack=iWeltMapSwitchToSmallCallback } - fun setSweeperFragment(fragment: SweeperFragment){ - this.mFragment=fragment - mFragment?.setTaskDataToFragmentCallback(this) - } override fun initViews(savedInstanceState: Bundle?) { super.initViews(savedInstanceState) weltMapOverView?.onCreateView(savedInstanceState) @@ -43,7 +37,7 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba val latLngs = bundle.getSerializable("subTaskCoordinates") as? ArrayList val latLng = bundle.getParcelable("subTaskEndCoordinates") val weltDataList = bundle.getSerializable("weltDataList") as? ArrayList - val routeList = bundle.getSerializable("routeList") as? ArrayList + val routeList = bundle.getSerializable("routeList") as? ArrayList val progress = bundle.getString("progress") routeList?.let { weltMapOverView?.setRouteList(it) @@ -67,13 +61,12 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba companion object { @JvmStatic fun newInstance( - mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback, - mCurrentTaskEndStation:LatLng?, - weltDataList: ArrayList?, - latLngs: ArrayList?, - routeList: ArrayList?, - progress:String?, - sweeperFragment: SweeperFragment + mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback, + mCurrentTaskEndStation:LatLng?, + weltDataList: ArrayList?, + latLngs: ArrayList?, + routeList: ArrayList?, + progress:String? ): WeltMapOverViewFragment { val args = Bundle() args.putSerializable("weltDataList", weltDataList) @@ -83,7 +76,6 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba args.putString("progress", progress) val fragment = WeltMapOverViewFragment() fragment.setWeltMapSwitchToSmallCallBack(mIWeltMapSwitchToSmallCallBack) - fragment.setSweeperFragment(sweeperFragment) fragment.arguments = args return fragment } @@ -119,7 +111,7 @@ class WeltMapOverViewFragment : BaseFragment(), ISweeperTaskDataToFragmentCallba weltMapOverView?.setProgress(progress) } - override fun setRouteList(routeList: java.util.ArrayList) { + override fun setRouteList(routeList: java.util.ArrayList) { weltMapOverView?.setRouteList(routeList) } diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/receiver/TestSweeperBroadcastReceiver.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/receiver/TestSweeperBroadcastReceiver.java similarity index 90% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/receiver/TestSweeperBroadcastReceiver.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/receiver/TestSweeperBroadcastReceiver.java index 2c990d55ea..9999ef70ba 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/receiver/TestSweeperBroadcastReceiver.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/receiver/TestSweeperBroadcastReceiver.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.receiver; +package com.mogo.och.sweeper.common.receiver; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; @@ -7,7 +7,7 @@ import android.content.Context; import android.content.Intent; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.och.sweeper.constant.SweeperConst; +import com.mogo.och.sweeper.common.constant.SweeperConst; /** * 测试小巴车的场景 diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperAnalyticsManager.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperAnalyticsManager.java similarity index 93% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperAnalyticsManager.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperAnalyticsManager.java index 36d48211ad..d46c36a9b9 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperAnalyticsManager.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperAnalyticsManager.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.util; +package com.mogo.och.sweeper.common.util; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER; @@ -14,7 +14,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.DateTimeUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; -import com.mogo.och.sweeper.constant.SweeperConst; +import com.mogo.och.sweeper.common.constant.SweeperConst; import java.util.HashMap; @@ -146,4 +146,10 @@ public class SweeperAnalyticsManager { params.put(SweeperConst.EVENT_PARAM_UNABLE_START_REASON, reason); MogoAnalyticUtils.INSTANCE.track(SweeperConst.EVENT_KEY_AP_UNABLE_START_REASON, params); } + + public void trackSweeperModeChangeEvent(String currentMode) { + HashMap params = new HashMap<>(); + params.put(SweeperConst.EVENT_PARAM_CHANGE_CURRENT_SWEEPER_MODE_CURRENT_MODE, currentMode); + MogoAnalyticUtils.INSTANCE.track(SweeperConst.EVENT_KEY_CHANGE_CURRENT_SWEEPER_MODE, params); + } } diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperFutianCmdUtil.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperFutianCmdUtil.java similarity index 99% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperFutianCmdUtil.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperFutianCmdUtil.java index 35e2a0963b..e4eb7beaf6 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperFutianCmdUtil.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperFutianCmdUtil.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.util; +package com.mogo.och.sweeper.common.util; import chassis.ChassisStatesOuterClass; import chassis.SpecialVehicleTaskCmdOuterClass; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperMapAssetStyleUtil.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperMapAssetStyleUtil.java similarity index 97% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperMapAssetStyleUtil.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperMapAssetStyleUtil.java index 57d39a354b..c8673b1186 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/util/SweeperMapAssetStyleUtil.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/util/SweeperMapAssetStyleUtil.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.util; +package com.mogo.och.sweeper.common.util; import android.content.Context; diff --git a/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/DebugView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/DebugView.kt new file mode 100644 index 0000000000..25eef6dae5 --- /dev/null +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/DebugView.kt @@ -0,0 +1,137 @@ +package com.mogo.och.sweeper.common.view + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.text.SpannableString +import android.text.Spanned +import android.text.method.ScrollingMovementMethod +import android.text.style.ForegroundColorSpan +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import android.widget.LinearLayout +import android.widget.TextView +import androidx.lifecycle.ProcessLifecycleOwner +import androidx.lifecycle.lifecycleScope +import androidx.localbroadcastmanager.content.LocalBroadcastManager +import com.mogo.commons.utils.MogoAnalyticUtils +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.function.main.MainMoGoApplication +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.sweeper.R +import kotlinx.android.synthetic.main.sweeper_debug_view_content.view.currentSweeperModeTextView +import kotlinx.android.synthetic.main.sweeper_debug_view_content.view.debugLogHistoryTextView +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch + + +class DebugView @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0, defStyleRes: Int = 0 +) : LinearLayout(context, attrs, defStyleAttr, defStyleRes) { + companion object { + const val TAG = "DebugView" + private const val ANALYTICS_EVENT_TYPE_DRIVER_SWEEPER_OPERATION_PROCESS_KEY_NODE_LOG = + "och.driver.sweeper.operation.process.key.node.log" + const val BROADCAST_ACTION = "com.mogo.och.driver.debugview.show" + const val BROADCAST_DATA_SHOW = "isShow" + private var logHistoryTextView: TextView? = null + + fun printInfoMsg(msg: String) { + printMsg("Info $msg", MainMoGoApplication.getApp().getColor(R.color.background_info)) + trackEvent("Info", msg) + } + + fun printWarnMsg(msg: String) { + printMsg("Warn $msg", MainMoGoApplication.getApp().getColor(R.color.background_warn)) + trackEvent("Warn", msg) + } + + fun printErrorMsg(msg: String) { + printMsg("Error $msg", MainMoGoApplication.getApp().getColor(R.color.background_error)) + trackEvent("Error", msg) + } + + private fun printMsg(msg: String, textColor: Int) { + logHistoryTextView?.also { + val msg = "${currentDateTimeString()} $msg" + val spannableMsg = SpannableString(msg) + + spannableMsg.setSpan( + ForegroundColorSpan(textColor), 0, msg.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ) + UiThreadHandler.post({ + it.append("\n") + it.append(spannableMsg) + + val offset: Int = it.lineCount * it.lineHeight + if (offset > it.height) { + it.scrollTo(0, offset - it.height) + } + }, UiThreadHandler.MODE.QUEUE) + } + } + + /** + * 上报埋点 + */ + private fun trackEvent(level: String, msg: String) { + ProcessLifecycleOwner.get().lifecycleScope.launch(Dispatchers.IO) { + val map: MutableMap = HashMap() + map["level"] = level + map["msg"] = msg + MogoAnalyticUtils.track(ANALYTICS_EVENT_TYPE_DRIVER_SWEEPER_OPERATION_PROCESS_KEY_NODE_LOG, map) + } + } + + private fun currentDateTimeString(): String { + return DateTimeUtil.formatCalendarToString( + DateTimeUtil.formatLongToCalendar(System.currentTimeMillis()), + DateTimeUtil.yyyy_MM_dd_HH_mm_ss + ) + } + } + + private val broadcastReceiver = object : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (BROADCAST_ACTION == intent.action) { + val isShow = intent.getBooleanExtra(BROADCAST_DATA_SHOW, false) + visibility = if (isShow) VISIBLE else GONE + } + } + } + + init { + initBroadcastReceiver() + LayoutInflater.from(context).inflate(R.layout.sweeper_debug_view_content, this, true) + debugLogHistoryTextView.movementMethod = ScrollingMovementMethod.getInstance() + visibility = GONE + logHistoryTextView = debugLogHistoryTextView + } + + private fun initBroadcastReceiver() { + val intentFilter = IntentFilter() + intentFilter.addAction(BROADCAST_ACTION) + LocalBroadcastManager.getInstance(context).registerReceiver(broadcastReceiver, intentFilter) + } + + fun toggleDebugView() { + visibility = if (visibility == View.VISIBLE) View.GONE + else View.VISIBLE + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + initView() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + } + + fun initView() { + currentSweeperModeTextView.text = "当前清扫业务模式:${FunctionBuildConfig.sweeperCurrentMode}" + } +} \ No newline at end of file diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/LegendItemView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/LegendItemView.kt similarity index 96% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/LegendItemView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/LegendItemView.kt index 9a6e360b14..135c965a6b 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/LegendItemView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/LegendItemView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.common.view import android.content.Context import android.util.AttributeSet diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchConstraintLayout.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchConstraintLayout.java similarity index 96% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchConstraintLayout.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchConstraintLayout.java index 0e5714b7cf..3f83a34c23 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchConstraintLayout.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchConstraintLayout.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view; +package com.mogo.och.sweeper.common.view; import android.content.Context; import android.util.AttributeSet; diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchFrameLayout.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchFrameLayout.java similarity index 94% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchFrameLayout.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchFrameLayout.java index 10ff08d760..6b1b052963 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/NoTouchFrameLayout.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/NoTouchFrameLayout.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view; +package com.mogo.och.sweeper.common.view; import android.content.Context; import android.util.AttributeSet; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperLimitingVelocityView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperLimitingVelocityView.kt similarity index 98% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperLimitingVelocityView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperLimitingVelocityView.kt index 17e414c40d..004f85e812 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperLimitingVelocityView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperLimitingVelocityView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.common.view import android.content.Context import android.util.AttributeSet diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperManualDrivingDialog.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperManualDrivingDialog.kt similarity index 88% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperManualDrivingDialog.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperManualDrivingDialog.kt index 788f2965e6..cf843cdfde 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperManualDrivingDialog.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperManualDrivingDialog.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.ui.dialog +package com.mogo.och.sweeper.common.view import android.content.Context import android.widget.TextView @@ -16,7 +16,7 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver { private var clickListener: ClickListener? = null - constructor(builder: Builder,context: Context) : super(context) { + constructor(builder: Builder, context: Context) : super(context) { commonTips?.text = builder.tipsStr commonConfirm?.text = builder.confirmStr } @@ -53,12 +53,12 @@ class SweeperManualDrivingDialog: BaseFloatDialog, LifecycleObserver { class Builder{ var tipsStr:String = "" var confirmStr:String = "" - fun tips(tips: String) : Builder{ + fun tips(tips: String) : Builder { this.tipsStr = tips return this } - fun confirmStr(commit: String) : Builder{ + fun confirmStr(commit: String) : Builder { this.confirmStr = commit return this } diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperNoTitleCommonDialog.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperNoTitleCommonDialog.kt similarity index 88% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperNoTitleCommonDialog.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperNoTitleCommonDialog.kt index 57618ccb5f..525ff7a64f 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/dialog/SweeperNoTitleCommonDialog.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperNoTitleCommonDialog.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.ui.dialog +package com.mogo.och.sweeper.common.view import android.content.Context import android.widget.TextView @@ -17,7 +17,7 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver { private var clickListener: ClickListener? = null - constructor(builder: Builder,context: Context) : super(context) { + constructor(builder: Builder, context: Context) : super(context) { commonTips?.text = builder.tipsStr commonCancel?.text = builder.cancelStr commonConfirm?.text = builder.confirmStr @@ -62,17 +62,17 @@ class SweeperNoTitleCommonDialog: BaseFloatDialog, LifecycleObserver { var tipsStr:String = "" var confirmStr:String = "" var cancelStr:String = "" - fun tips(tips: String) : Builder{ + fun tips(tips: String) : Builder { this.tipsStr = tips return this } - fun confirmStr(commit: String) : Builder{ + fun confirmStr(commit: String) : Builder { this.confirmStr = commit return this } - fun cancelStr(cancel: String) : Builder{ + fun cancelStr(cancel: String) : Builder { this.cancelStr = cancel return this } diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/SweeperOperatePanelPopWindow.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelPopWindow.kt similarity index 87% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/SweeperOperatePanelPopWindow.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelPopWindow.kt index 1004555886..941d55237e 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/SweeperOperatePanelPopWindow.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelPopWindow.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.ui.popwindow +package com.mogo.och.sweeper.common.view import android.content.Context import android.graphics.Color @@ -8,9 +8,9 @@ import android.view.ViewGroup import android.widget.PopupWindow import chassis.ChassisStatesOuterClass import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.callback.ICleaningModeStateCallback -import com.mogo.och.sweeper.constant.OperateStateEnum -import com.mogo.och.sweeper.ui.SweeperOperatePanelView +import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback +import com.mogo.och.sweeper.common.constant.OperateStateEnum +import com.mogo.och.sweeper.common.view.SweeperOperatePanelView /** * 清扫车面板浮窗 diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/SweeperOperatePanelView.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelView.java similarity index 96% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/SweeperOperatePanelView.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelView.java index 741b9a9e6e..92d9ee1cc4 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/ui/SweeperOperatePanelView.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperOperatePanelView.java @@ -1,14 +1,4 @@ -package com.mogo.och.sweepercloud.ui; - -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_BOTH_SIDE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_LEFT_SIDE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_RIGHT_SIDE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRAND; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_INTENSITY_STRONG; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_DRAW; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_SWEEP; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_PURE_WASH; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_WASH_SWEEP; +package com.mogo.och.sweeper.common.view; import android.animation.ObjectAnimator; import android.content.Context; @@ -31,14 +21,11 @@ import androidx.annotation.Nullable; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.och.sweepercloud.R; -import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback; -import com.mogo.och.sweepercloud.constant.OperateStateEnum; -import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil; -import com.mogo.och.sweepercloud.view.NoTouchConstraintLayout; -import com.mogo.och.sweepercloud.callback.ICleaningModeStateCallback; -import com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil; -import com.mogo.och.sweepercloud.view.NoTouchConstraintLayout; +import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback; +import com.mogo.och.sweeper.R; +import com.mogo.och.sweeper.common.constant.OperateStateEnum; +import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil; +import com.mogo.och.sweeper.common.view.NoTouchConstraintLayout; import java.util.Arrays; import java.util.HashMap; @@ -47,11 +34,6 @@ import java.util.List; import chassis.ChassisStatesOuterClass; import chassis.SpecialVehicleTaskCmdOuterClass; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_DIRECTION_CLOSE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_MODE_CLOSE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_WORK_CLOSE; -import static com.mogo.och.sweepercloud.util.SweeperFutianCmdUtil.CLEAN_WORK_OPEN; - /** * 清扫车操作面板View */ diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperTrafficLightView.kt similarity index 99% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperTrafficLightView.kt index 18ae4794f1..7687ee8b8c 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficLightView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/SweeperTrafficLightView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.common.view import android.content.Context import android.util.AttributeSet diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/TurnSignalView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt similarity index 98% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/TurnSignalView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt index 57394c2ce8..8c43d614a7 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/TurnSignalView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/TurnSignalView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.common.view import android.animation.AnimatorSet import android.animation.ObjectAnimator diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/VerticalDashLineView.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/VerticalDashLineView.java similarity index 97% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/VerticalDashLineView.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/VerticalDashLineView.java index bc6aae4605..354a552356 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/VerticalDashLineView.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/VerticalDashLineView.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view; +package com.mogo.och.sweeper.common.view; import android.content.Context; import android.graphics.Canvas; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltMapOverView.kt similarity index 97% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltMapOverView.kt index 438b14b0e9..6d38771549 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltMapOverView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.common.view import android.content.Context import android.graphics.Color @@ -20,10 +20,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweeper.constant.SweeperConst -import com.mogo.och.sweeper.database.bean.WeltDataBean -import com.mogo.och.sweeper.util.SweeperMapAssetStyleUtil +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean +import com.mogo.och.sweeper.common.constant.SweeperConst +import com.mogo.och.sweeper.common.database.bean.WeltDataBean +import com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil import kotlinx.android.synthetic.main.sweeper_welt_map_overview.view.* /** diff --git a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/WeltSmallMapView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltSmallMapView.kt similarity index 92% rename from OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/WeltSmallMapView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltSmallMapView.kt index 4db516bb7a..585be4077d 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/java/com/mogo/och/sweepercloud/view/WeltSmallMapView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/common/view/WeltSmallMapView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweepercloud.view +package com.mogo.och.sweeper.common.view import android.content.Context import android.graphics.Color @@ -19,11 +19,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.CoordinateUtils import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.och.sweepercloud.R -import com.mogo.och.sweepercloud.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweepercloud.constant.SweeperConst -import com.mogo.och.sweepercloud.database.bean.WeltDataBean -import com.mogo.och.sweepercloud.util.SweeperMapAssetStyleUtil +import com.mogo.och.sweeper.common.database.bean.WeltDataBean +import com.mogo.och.sweeper.R import kotlinx.android.synthetic.main.sweeper_welt_small_map_view.view.* @@ -120,8 +117,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { // 加载自定义样式 val customMapStyleOptions = CustomMapStyleOptions() .setEnable(true) - .setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data")) - .setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data")) + .setStyleData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data")) + .setStyleExtraData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data")) // 设置自定义样式 mAMap?.setCustomMapStyle(customMapStyleOptions) mAMap?.setOnMapLoadedListener(AMap.OnMapLoadedListener { @@ -129,8 +126,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { // 加载自定义样式 val customMapStyleOptions = CustomMapStyleOptions() .setEnable(true) - .setStyleData(SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data")) - .setStyleExtraData(SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data")) + .setStyleData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsStyle(context, "map_style.data")) + .setStyleExtraData(com.mogo.och.sweeper.common.util.SweeperMapAssetStyleUtil.getAssetsExtraStyle(context, "map_style_extra.data")) // 设置自定义样式 mAMap?.setCustomMapStyle(customMapStyleOptions) mAMap?.setPointToCenter(sweeperSmallTextureMapView.width / 2, sweeperSmallTextureMapView.height / 2) @@ -184,7 +181,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { } } - if (weltDataBean.weltDistance == SweeperConst.NONWELT) {//非贴边 + if (weltDataBean.weltDistance == com.mogo.och.sweeper.common.constant.SweeperConst.NONWELT) {//非贴边 colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299)) } else if (weltDataBean.weltDistance < 0) { colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101)) @@ -249,7 +246,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { /** * 设置任务轨迹数据 */ - fun setRouteList(routeList: ArrayList) { + fun setRouteList(routeList: ArrayList) { val routeCoordinatesLatLngs = mutableListOf() for (i in routeList.indices) { routeCoordinatesLatLngs.add(LatLng(routeList[i].latitude, routeList[i].longitude)) diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/BaseResponse.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/BaseResponse.java similarity index 91% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/BaseResponse.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/BaseResponse.java index d13c872662..43a9640793 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/BaseResponse.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/BaseResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.bean; +package com.mogo.och.sweeper.operate.bean; import com.mogo.eagle.core.data.BaseData; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SubStartRequest.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SubStartRequest.kt similarity index 85% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SubStartRequest.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SubStartRequest.kt index f0793a69a5..96f3d6c1da 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SubStartRequest.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SubStartRequest.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.bean +package com.mogo.och.sweeper.operate.bean import com.mogo.cloud.passport.MoGoAiCloudClientConfig diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperMainTaskBean.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperMainTaskBean.kt similarity index 84% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperMainTaskBean.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperMainTaskBean.kt index ccb548653a..caaf02f64c 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperMainTaskBean.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperMainTaskBean.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.bean +package com.mogo.och.sweeper.operate.bean /** * diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskBean.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskBean.kt similarity index 94% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskBean.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskBean.kt index 63ce688454..2943999645 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskBean.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskBean.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.bean +package com.mogo.och.sweeper.operate.bean /** * 子任务信息 diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskDetailBean.java similarity index 99% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskDetailBean.java index c21229a738..7ad893ff1f 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/bean/SweeperSubTaskDetailBean.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.bean; +package com.mogo.och.sweeper.operate.bean; public class SweeperSubTaskDetailBean { private int id; //子任务id diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperControllerStatusCallback.java similarity index 90% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperControllerStatusCallback.java index 7a831a7c0e..fa7f0f845c 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperControllerStatusCallback.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.callback; +package com.mogo.och.sweeper.operate.callback; import com.mogo.eagle.core.data.map.MogoLocation; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskCallback.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperOperateTaskCallback.kt similarity index 56% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskCallback.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperOperateTaskCallback.kt index 377eb91145..f2951e5401 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperTaskCallback.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/callback/ISweeperOperateTaskCallback.kt @@ -1,27 +1,27 @@ -package com.mogo.och.sweeper.callback +package com.mogo.och.sweeper.operate.callback -import com.mogo.och.sweeper.bean.SweeperMainTaskBean -import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean -import com.mogo.och.sweeper.bean.SweeperSubTaskBean -import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean -import com.mogo.och.sweeper.constant.SubTaskTypeEnum -import com.mogo.och.sweeper.constant.TaskStatusEnum +import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean +import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum +import com.mogo.och.sweeper.operate.constant.TaskStatusEnum import java.util.ArrayList /** * @author: wangmingjun * @date: 2021/10/22 */ -interface ISweeperTaskCallback { +interface ISweeperOperateTaskCallback { /** * 获取主任务列表 */ - fun setMainTaskList(mainTaskBeanList: MutableList?,refresh:Boolean) + fun setMainTaskList(mainTaskBeanList: MutableList?, refresh:Boolean) /** * 获取子任务列表 */ - fun setSubTaskBean(subTaskBean: SweeperSubTaskBean,isWorkingSubTask:Boolean) + fun setSubTaskBean(subTaskBean: SweeperSubTaskBean, isWorkingSubTask:Boolean) /** * 更新子任务状态 diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/SubTaskTypeEnum.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/SubTaskTypeEnum.kt similarity index 78% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/SubTaskTypeEnum.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/SubTaskTypeEnum.kt index 9946b8b2ef..a03c0db0d4 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/SubTaskTypeEnum.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/SubTaskTypeEnum.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.constant +package com.mogo.och.sweeper.operate.constant /** * 任务类型 diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskStatusEnum.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/TaskStatusEnum.kt similarity index 85% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskStatusEnum.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/TaskStatusEnum.kt index 5d9fd9839a..47483b65ce 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/constant/TaskStatusEnum.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/constant/TaskStatusEnum.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.constant +package com.mogo.och.sweeper.operate.constant /** * 当前任务操作菜单 diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/fragment/BaseSweeperOperateTabFragment.java similarity index 91% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/fragment/BaseSweeperOperateTabFragment.java index cb8754febb..2726d8bf69 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/fragment/BaseSweeperOperateTabFragment.java @@ -1,5 +1,6 @@ -package com.mogo.och.sweeper.fragment; +package com.mogo.och.sweeper.operate.fragment; +import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MotionEvent; @@ -7,12 +8,17 @@ import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.Group; +import androidx.fragment.app.FragmentTransaction; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import com.amap.api.maps.model.LatLng; import com.amap.api.navi.model.NaviLatLng; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager; import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; @@ -29,22 +35,20 @@ import com.mogo.map.uicontroller.IMogoMapUIController; import com.mogo.map.uicontroller.VisualAngleMode; import com.mogo.och.common.module.map.AmapNaviToDestinationModel; import com.mogo.och.sweeper.R; -import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean; -import com.mogo.och.sweeper.callback.ISweeperTaskDataToFragmentCallback; -import com.mogo.och.sweeper.callback.IWeltMapSwitchToSmallCallback; -import com.mogo.och.sweeper.database.bean.WeltDataBean; -import com.mogo.och.sweeper.view.SweeperTrafficDataView; -import com.mogo.och.sweeper.view.WeltSmallMapView; +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean; +import com.mogo.och.sweeper.common.callback.ISweeperTaskDataToFragmentCallback; +import com.mogo.och.sweeper.common.callback.IWeltMapSwitchToSmallCallback; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; +import com.mogo.och.sweeper.common.fragment.SweeperAmapNaviFragment; +import com.mogo.och.sweeper.common.fragment.WeltMapOverViewFragment; +import com.mogo.och.sweeper.common.view.DebugView; +import com.mogo.och.sweeper.common.view.WeltSmallMapView; +import com.mogo.och.sweeper.operate.view.SweeperOperateTrafficDataView; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.Group; -import androidx.fragment.app.FragmentTransaction; - /** * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况 *

@@ -52,7 +56,7 @@ import androidx.fragment.app.FragmentTransaction; * * @author tongchenfei */ -public abstract class BaseSweeperTabFragment> extends MvpFragment implements IMogoMapListener, +public abstract class BaseSweeperOperateTabFragment> extends MvpFragment implements IMogoMapListener, View.OnClickListener, IWeltMapSwitchToSmallCallback, View.OnTouchListener { private static final String TAG = "BaseSweeperTabFragment"; @@ -69,7 +73,7 @@ public abstract class BaseSweeperTabFragment - debugAutoPilotStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE) + //打开调试面板 + findViewById(R.id.btnOpenDebugView).setOnClickListener(view -> { + Intent intent = new Intent(); + intent.setAction(DebugView.BROADCAST_ACTION); + intent.putExtra(DebugView.BROADCAST_DATA_SHOW, true); + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent); + } ); - - // 模拟 可自动驾驶,工控机连接正常,且处于人工干预状态 - findViewById(R.id.btnAutopilotEnable).setOnClickListener(view -> - debugAutoPilotStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE) - ); - - // 模拟 自动驾驶能力,自动驾驶中,可能是停车,可能是行进,但是是机器在处理车的前进后退,不是人 - findViewById(R.id.btnAutopilotRunning).setOnClickListener(view -> - debugAutoPilotStatus(IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) - ); - // 模拟 结束子任务 - findViewById(R.id.btnEndTask).setOnClickListener(view -> - debugEndSubTask() + //关闭调试面板 + findViewById(R.id.btnCloseDebugView).setOnClickListener(view -> { + Intent intent = new Intent(); + intent.setAction(DebugView.BROADCAST_ACTION); + intent.putExtra(DebugView.BROADCAST_DATA_SHOW, false); + LocalBroadcastManager.getInstance(requireContext()).sendBroadcast(intent); + } ); mTrafficDataView.setOnLongClickListener(new View.OnLongClickListener() { @Override @@ -282,7 +284,7 @@ public abstract class BaseSweeperTabFragment(), MenuPopWindow.OnMenuItemOnClickListener { +class SweeperOperateFragment : BaseSweeperOperateTabFragment(), MenuPopWindow.OnMenuItemOnClickListener { companion object { - const val TAG = "SweeperFragment" + const val TAG = "SweeperOperateFragment" } private var mAdapter: TaskListAdapter? = null @@ -80,8 +83,8 @@ class SweeperFragment : BaseSweeperTabFragment * 清扫车任务管理 */ -public class SweeperTaskModel { - private final String TAG = SweeperTaskModel.class.getSimpleName(); - private static volatile SweeperTaskModel sInstance; +public class SweeperOperateTaskModel { + private final String TAG = SweeperOperateTaskModel.class.getSimpleName(); + private static volatile SweeperOperateTaskModel sInstance; public double mLongitude = 0; public double mLatitude = 0; private Context mContext; @@ -83,7 +88,7 @@ public class SweeperTaskModel { private static final int VEHICLE_TYPE = 10; private ISweeperControllerStatusCallback mControllerStatusCallback; //Model->Presenter:VR mode等 private ISweeperADASStatusCallback mADASStatusCallback; - private ISweeperTaskCallback mSweeperTaskCallback; + private ISweeperOperateTaskCallback mSweeperTaskCallback; ArrayList points = new ArrayList<>();//全路径信息 //当前子任务详情信息包括轨迹文件信息 private SweeperSubTaskDetailBean mCurrentSubTaskDetail; @@ -105,18 +110,18 @@ public class SweeperTaskModel { //自动驾驶状态 private int mAutopilotState = IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE; - public static SweeperTaskModel getInstance() { + public static SweeperOperateTaskModel getInstance() { if (sInstance == null) { - synchronized (SweeperTaskModel.class) { + synchronized (SweeperOperateTaskModel.class) { if (sInstance == null) { - sInstance = new SweeperTaskModel(); + sInstance = new SweeperOperateTaskModel(); } } } return sInstance; } - private SweeperTaskModel() { + private SweeperOperateTaskModel() { } @@ -137,6 +142,9 @@ public class SweeperTaskModel { OCHSocketMessageManager.msgMonitorType, mMogoOnMessageListener); + IntentManager.getInstance() + .registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener); + //2022.1.28 // 调用Disposable.dispose() 时候会出现InterruptedException 导致出现崩溃 // The exception could not be delivered to the consumer because it has already canceled/disposed @@ -183,7 +191,7 @@ public class SweeperTaskModel { this.mControllerStatusCallback = callback; } - public void setSweeperTaskCallback(ISweeperTaskCallback callback) { + public void setSweeperTaskCallback(ISweeperOperateTaskCallback callback) { this.mSweeperTaskCallback = callback; } @@ -191,7 +199,8 @@ public class SweeperTaskModel { @Override public void onAutopilotRotting(MessagePad.GlobalPathResp routeList) { - if (null != routeList && routeList.getWayPointsList()!=null&&routeList.getWayPointsList().size() > 0) { + if (null != routeList && routeList.getWayPointsList() != null && routeList.getWayPointsList().size() > 0) { + DebugView.Companion.printInfoMsg("[MAP全局规划回调] 回调,getWayPointsList.Size=" + routeList.getWayPointsList().size()); if (mCurrentSubTaskDetail.getLineId() != mLineId) {//判断是否同一条路线 mLineId = mCurrentSubTaskDetail.getLineId(); points.addAll(coordinateConverterWgsToGcjList(mContext, routeList.getWayPointsList())); @@ -216,7 +225,7 @@ public class SweeperTaskModel { */ public void clearRouteList() { points.clear(); - mSubTaskType=0; + mSubTaskType = 0; } /** @@ -270,10 +279,26 @@ public class SweeperTaskModel { } CallerLogger.d(M_SWEEPER + TAG, "onMsgReceived = " + obj.getMessage()); OCHSocketMessageManager.INSTANCE.pushAppOperationalMsgBox(obj.getPushTimeStamp(), - obj.getMessage(),OCHSocketMessageManager.OPERATION_SYSTEM); + obj.getMessage(), OCHSocketMessageManager.OPERATION_SYSTEM); } }; + //监听网络变化,避免启动机器时无网导致无法更新信息 + private final IMogoIntentListener mNetWorkIntentListener = new IMogoIntentListener() { + + @Override + public void onIntentReceived(String intentStr, Intent intent) { + CallerLogger.d(TAG, "mNetWorkIntentListener: onIntentReceived=" + intentStr); + if ((ConnectivityManager.CONNECTIVITY_ACTION.equals(intentStr))) { + if (NetworkUtils.isConnected(mContext)) { + DebugView.Companion.printInfoMsg("[网络状态变化] isConnected=true"); + } else { + DebugView.Companion.printErrorMsg("[网络状态变化] isConnected=false"); + } + } + } + }; + private final IMogoStatusChangedListener mMogoStatusChangedListener = new IMogoStatusChangedListener() { // VR mode变更回调 @Override @@ -281,6 +306,7 @@ public class SweeperTaskModel { if (StatusDescriptor.VR_MODE == descriptor) { if (mControllerStatusCallback != null) { mControllerStatusCallback.onVRModeChanged(isTrue); + DebugView.Companion.printInfoMsg("[VRMode变化] isVRMode=" + isTrue); } } } @@ -294,6 +320,7 @@ public class SweeperTaskModel { @Override public void onStartAutopilotFailure(@NotNull String startFailedCode, @NonNull String startFailedMessage) { + DebugView.Companion.printInfoMsg("[启自驾] 执行失败,code=" + startFailedCode + ", msg=" + startFailedMessage); SweeperAnalyticsManager.getInstance().triggerStartAutopilotFailureEventByAdas(startFailedCode, startFailedMessage); if (mADASStatusCallback != null && !FunctionBuildConfig.isDemoMode) { CallerLogger.e(M_SWEEPER + TAG, "mAdasStartFailureListener = " + startFailedMessage); @@ -308,7 +335,7 @@ public class SweeperTaskModel { public void onChassisLocationGCJ02(@Nullable MogoLocation gnssInfo) { if (null == gnssInfo) return; CallerLogger.e(M_SWEEPER + TAG, "高德定位到站:mLongitude = " + gnssInfo.getLongitude() - + ", mLatitude=" + gnssInfo.getLatitude() + ", mSubTaskType=" + mSubTaskType +", mIsSubTaskWorking=" + mIsSubTaskWorking + + ", mLatitude=" + gnssInfo.getLatitude() + ", mSubTaskType=" + mSubTaskType + ", mIsSubTaskWorking=" + mIsSubTaskWorking + ", isAutopilotSubTaskArriveEndSite=" + isAutopilotSubTaskArriveEndSite ); if (mControllerStatusCallback != null) { @@ -362,6 +389,9 @@ public class SweeperTaskModel { if (distance <= SweeperConst.ARRIVE_AT_END_STATION_DISTANCE) { CallerLogger.d(M_SWEEPER + TAG, "行程日志-judgeArrivedStation() distance = " + distance + " to " + mCurrentSubTaskDetail.getEndSiteName()); + DebugView.Companion.printInfoMsg( + "[自车定位围栏] 触发围栏,围栏范围:" + SweeperConst.ARRIVE_AT_END_STATION_DISTANCE + "米" + ); isAutopilotSubTaskArriveEndSite = true; //到达子任务终点 结束子任务 subTaskEnd(mIsFirstSubtask, mIsLastSubtask, mSubTaskId); //无自动驾驶到终点信息传null @@ -384,9 +414,11 @@ public class SweeperTaskModel { * @param isRestart */ private void startAutopilot(boolean isRestart) { + DebugView.Companion.printInfoMsg("[启自驾] startAutoPilot"); if (!FunctionBuildConfig.isDemoMode && !OCHAdasAbilityManager.getInstance().getAutopilotAbilityStatus()) { ToastUtils.showLong(OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason() + ", 请稍候重试"); + DebugView.Companion.printErrorMsg("[启自驾]" + OCHAdasAbilityManager.getInstance().getAutopilotUnAbilityReason()); triggerUnableStartAPReasonEvent(); return; } @@ -395,9 +427,11 @@ public class SweeperTaskModel { AutopilotControlParameters parameters = initAutopilotControlParameters(); if (null == parameters) { CallerLogger.e(M_SWEEPER + TAG, "行程日志-AutopilotControlParameters is empty."); + DebugView.Companion.printErrorMsg("[启自驾]行程日志-AutopilotControlParameters is empty"); return; } CallerAutoPilotControlManager.INSTANCE.startAutoPilot(parameters); + DebugView.Companion.printInfoMsg("[启自驾] 调用成功"); CallerLogger.d(M_SWEEPER + TAG, "行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters) + " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName + "isRestart = " + isRestart); @@ -444,6 +478,9 @@ public class SweeperTaskModel { public void onArriveTaskEnd(MessagePad.ArrivalNotification data) { //MAP 280 每隔100ms左右返回一次到站, 导致在到达中间站后再次滑动出发后会有时间差,收到一次到站,出现问题 //此处比对 自驾告诉的子任务终点坐标和本地应到子任务终点坐标, 一致时才表示子任务完成 + DebugView.Companion.printInfoMsg("[MAP到站通知] 上报到站,endLocation=(" + + ((data == null || data.getEndLocation() == null) ? "null" : data.getEndLocation().toString()) + + ")"); if (data != null && data.getEndLocation() != null && mCurrentSubTaskDetail != null) { CallerLogger.d(M_SWEEPER + TAG, "MAP到站通知:" + mCurrentSubTaskDetail.getEndSiteName() + " 经度:" + data.getEndLocation().getLongitude() + " 纬度:" + data.getEndLocation().getLatitude()); @@ -494,7 +531,6 @@ public class SweeperTaskModel { * 将轨迹文件信息同步到鹰眼 */ private void updateAutopilotControlParameters() { - AutopilotControlParameters parameters = initAutopilotControlParameters(); if (null == parameters) { CallerLogger.e(M_SWEEPER + TAG, "AutopilotControlParameters is empty."); @@ -503,11 +539,13 @@ public class SweeperTaskModel { CallerLogger.d(M_SWEEPER + TAG, "AutopilotControlParameters" + GsonUtil.jsonFromObject(parameters)); CallerLogger.d(M_SWEEPER + TAG, "AutopilotControlParameters is update."); CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters); + DebugView.Companion.printInfoMsg("[启自驾] updateAutopilotControlParameters调用成功"); } private void clearAutopilotControlParameters() { CallerLogger.d(M_SWEEPER + TAG, "AutopilotControlParameters is clear."); CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(null); + DebugView.Companion.printInfoMsg("[启自驾] clearAutopilotControlParameters调用成功"); } private AutopilotControlParameters initAutopilotControlParameters() { @@ -538,10 +576,12 @@ public class SweeperTaskModel { * 获取当前正在执行的任务 */ public void getCurrentTask() { - SweeperServiceManager.getCurrentTask(mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[查询当前任务] 请求中"); + SweeperOperateServiceManager.getCurrentTask(mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "getCurrentTask:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[查询当前任务] 请求success"); if (mSweeperTaskCallback != null && data != null) { SweeperSubTaskBean sweeperSubTaskBean = data.getData(); if (sweeperSubTaskBean != null && sweeperSubTaskBean.getSubList() != null && sweeperSubTaskBean.getSubList().size() > 0) { @@ -556,8 +596,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[查询当前任务] 请求error," + mContext.getString(R.string.network_error_tip)); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[查询当前任务] 请求error," + mContext.getString(R.string.request_error_tip)); } } @@ -566,8 +608,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[查询当前任务] 请求failed, 网络异常,请稍后重试"); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[查询当前任务] 请求failed, " + msg); } } } @@ -578,10 +622,12 @@ public class SweeperTaskModel { * 获取主任务列表 */ public void getMainTaskList(boolean refresh) { - SweeperServiceManager.getMainTaskList(mContext, new OchCommonServiceCallback>>() { + DebugView.Companion.printInfoMsg("[查询主任务] 请求中"); + SweeperOperateServiceManager.getMainTaskList(mContext, new OchCommonServiceCallback>>() { @Override public void onSuccess(BaseResponse> data) { CallerLogger.d(M_SWEEPER + TAG, "getMainTaskList:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[查询主任务] 请求success"); if (mSweeperTaskCallback != null && data != null && data.getCode() == 0) { List list = data.getData(); mSweeperTaskCallback.setMainTaskList(list, refresh); @@ -593,8 +639,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[查询主任务] 请求error, 网络异常,请稍后重试"); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[查询主任务] 请求error, " + msg); } } } @@ -603,8 +651,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[查询主任务] 请求failed, " + mContext.getString(R.string.network_error_tip)); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[查询主任务] 请求failed, " + mContext.getString(R.string.request_error_tip)); } } }); @@ -614,10 +664,12 @@ public class SweeperTaskModel { * 获取子任务列表 */ public void getSubTaskList(int taskId, SweeperSubTaskBean sweeperSubTaskBean) { - SweeperServiceManager.getSubTaskList(taskId, mContext, new OchCommonServiceCallback>>() { + DebugView.Companion.printInfoMsg("[查询子任务] 请求中, taskId=" + taskId); + SweeperOperateServiceManager.getSubTaskList(taskId, mContext, new OchCommonServiceCallback>>() { @Override public void onSuccess(BaseResponse> data) { CallerLogger.d(M_SWEEPER + TAG, "getSubTaskList:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[查询子任务] 请求success, taskId=" + taskId); if (mSweeperTaskCallback != null && data != null && data.getCode() == 0) { List list = data.getData(); if (list != null && list.size() > 0) { @@ -634,8 +686,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[查询子任务] 请求failed, 网络异常,请稍后重试, taskId=" + taskId); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[查询子任务] 请求failed, " + msg + ", taskId=" + taskId); } } } @@ -644,8 +698,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[查询子任务] 请求error, " + mContext.getString(R.string.network_error_tip) + ", taskId=" + taskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[查询子任务] 请求error, " + mContext.getString(R.string.request_error_tip) + ", taskId=" + taskId); } } }); @@ -655,10 +711,12 @@ public class SweeperTaskModel { * 获取子任务详情包括轨迹文件信息 */ public void getSubTaskDetail(boolean isFirst, boolean isEnd, int subTaskId, SubTaskTypeEnum subTaskType, boolean isStartSubtask) { - SweeperServiceManager.getSubTaskDetail(subTaskId, mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[查询子任务详情及轨迹信息] 请求中, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); + SweeperOperateServiceManager.getSubTaskDetail(subTaskId, mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "getSubTaskDetail:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[查询子任务详情及轨迹信息] 请求success, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); if (data != null) { mCurrentSubTaskDetail = data.getData(); if (mCurrentSubTaskDetail != null) { @@ -693,8 +751,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[查询子任务详情及轨迹信息] 请求failed, 网络异常,请稍后重试, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[查询子任务详情及轨迹信息] 请求failed, " + msg + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } } @@ -703,8 +763,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[查询子任务详情及轨迹信息] 请求Error, " + mContext.getString(R.string.network_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[查询子任务详情及轨迹信息] 请求Error, " + mContext.getString(R.string.request_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } }); @@ -714,10 +776,12 @@ public class SweeperTaskModel { * 子任务开始上报 */ public void subTaskStart(boolean isFirst, boolean isEnd, int subTaskId, SubTaskTypeEnum subTaskType) { - SweeperServiceManager.subTaskStart(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[子任务开始上报] 请求中, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); + SweeperOperateServiceManager.subTaskStart(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "subTaskStart:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[子任务开始上报] 请求success, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); if (mSweeperTaskCallback != null && data != null) { if (data.getData()) { mIsSubTaskWorking = true; @@ -725,7 +789,7 @@ public class SweeperTaskModel { mSweeperTaskCallback.updateSubTaskStatus(TaskStatusEnum.START_SUBTASK, false); if (subTaskType == SubTaskTypeEnum.AUTOPILOT_SUBTYPE) {//如果是自动驾驶子任务子开启自驾 if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 - SweeperTaskModel.getInstance().startBeautificationMode(); + SweeperOperateTaskModel.getInstance().startBeautificationMode(); } //ÏstartAutopilot(false); } else { @@ -743,8 +807,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[子任务开始上报] 请求failed, 网络异常,请稍后重试, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[子任务开始上报] 请求failed, " + msg + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } } @@ -753,8 +819,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[子任务开始上报] 请求error, " + mContext.getString(R.string.network_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[子任务开始上报] 请求error, " + mContext.getString(R.string.request_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } }); @@ -764,11 +832,13 @@ public class SweeperTaskModel { * 子任务结束上报 */ public void subTaskEnd(boolean isFirst, boolean isEnd, int subTaskId) { - SweeperServiceManager.subTaskEnd(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[子任务结束上报] 请求中, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); + SweeperOperateServiceManager.subTaskEnd(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "subTaskEnd:" + String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd) + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[子任务结束上报] 请求success, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); if (data != null) { if (data.getData()) { mIsSubTaskWorking = false; @@ -777,7 +847,7 @@ public class SweeperTaskModel { } if (isEnd) { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 - SweeperTaskModel.getInstance().closeBeautificationMode(); + SweeperOperateTaskModel.getInstance().closeBeautificationMode(); } clearAutopilotControlParameters(); //结束自动驾驶 @@ -792,9 +862,11 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[子任务结束上报] 请求failed, 网络异常,请稍后重试, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { if (isAutopilotSubTaskArriveEndSite) return; ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[子任务结束上报] 请求failed, " + msg + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } } @@ -803,8 +875,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[子任务结束上报] 请求error, " + mContext.getString(R.string.network_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[子任务结束上报] 请求error, " + mContext.getString(R.string.request_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } @@ -815,11 +889,13 @@ public class SweeperTaskModel { * 子任务跳过上报 */ public void subTaskSkip(boolean isFirst, boolean isEnd, int subTaskId) { - SweeperServiceManager.subTaskSkip(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[子任务跳过上报] 请求中, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); + SweeperOperateServiceManager.subTaskSkip(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "subTaskSkip:" + - String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd)+ GsonUtil.jsonFromObject(data)); + String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd) + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[子任务跳过上报] 请求success, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); if (mSweeperTaskCallback != null && data != null) { if (data.getData()) { mIsSubTaskWorking = false; @@ -835,8 +911,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[子任务跳过上报] 请求failed, 网络异常,请稍后重试, isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[子任务跳过上报] 请求failed, " + msg + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } } @@ -845,8 +923,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[子任务跳过上报] 请求error, " + mContext.getString(R.string.network_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[子任务跳过上报] 请求error, " + mContext.getString(R.string.request_error_tip) + ", isFirst=" + isFirst + ", isEnd=" + isEnd + ", subTaskId=" + subTaskId); } } }); @@ -856,10 +936,12 @@ public class SweeperTaskModel { * 主任务重置 */ public void mainTaskReset(int taskId) { - SweeperServiceManager.mainTaskReset(taskId, mContext, new OchCommonServiceCallback>() { + DebugView.Companion.printInfoMsg("[主任务重置] 请求中, taskId=" + taskId); + SweeperOperateServiceManager.mainTaskReset(taskId, mContext, new OchCommonServiceCallback>() { @Override public void onSuccess(BaseResponse data) { CallerLogger.d(M_SWEEPER + TAG, "mainTaskReset:" + GsonUtil.jsonFromObject(data)); + DebugView.Companion.printInfoMsg("[主任务重置] 请求success, taskId=" + taskId); // 主任务重置 当前子任务也需重置 mIsSubTaskWorking = false; isAutopilotSubTaskArriveEndSite = false; @@ -873,8 +955,10 @@ public class SweeperTaskModel { if (ToastUtilsOch.isCustomFastClick(5000)) { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort("网络异常,请稍后重试"); + DebugView.Companion.printErrorMsg("[主任务重置] 请求failed, 网络异常,请稍后重试, taskId=" + taskId); } else { ToastUtils.showShort(msg); + DebugView.Companion.printErrorMsg("[主任务重置] 请求failed, " + msg + ", taskId=" + taskId); } } } @@ -883,8 +967,10 @@ public class SweeperTaskModel { public void onError() { if (!NetworkUtils.isConnected(mContext)) { ToastUtils.showShort(mContext.getString(R.string.network_error_tip)); + DebugView.Companion.printErrorMsg("[主任务重置] 请求error, " + mContext.getString(R.string.network_error_tip) + ", taskId=" + taskId); } else { ToastUtils.showShort(mContext.getString(R.string.request_error_tip)); + DebugView.Companion.printErrorMsg("[主任务重置] 请求error, " + mContext.getString(R.string.request_error_tip)+ ", taskId=" + taskId); } } }); @@ -893,5 +979,6 @@ public class SweeperTaskModel { //结束自动驾驶 public void cancelAutoPilot() { CallerAutoPilotControlManager.INSTANCE.cancelAutoPilot(); + DebugView.Companion.printInfoMsg("[取消自动驾驶] 请求成功"); } } diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/ISweeperApiService.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/ISweeperOperateApiService.java similarity index 87% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/ISweeperApiService.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/ISweeperOperateApiService.java index 5522f00dae..ab78c8e5ed 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/ISweeperApiService.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/ISweeperOperateApiService.java @@ -1,10 +1,10 @@ -package com.mogo.och.sweeper.net; -import com.mogo.och.sweeper.bean.BaseResponse; -import com.mogo.och.sweeper.bean.SubInfo; -import com.mogo.och.sweeper.bean.SubStartRequest; -import com.mogo.och.sweeper.bean.SweeperSubTaskBean; -import com.mogo.och.sweeper.bean.SweeperMainTaskBean; -import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean; +package com.mogo.och.sweeper.operate.net; +import com.mogo.och.sweeper.operate.bean.BaseResponse; +import com.mogo.och.sweeper.operate.bean.SubInfo; +import com.mogo.och.sweeper.operate.bean.SubStartRequest; +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean; +import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean; +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean; import java.util.List; import java.util.Map; @@ -21,7 +21,7 @@ import retrofit2.http.QueryMap; /** * 清扫车相关接口 */ -public interface ISweeperApiService { +public interface ISweeperOperateApiService { /** * 获取当前正在执行的任务 * @param appId diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/SweeperServiceManager.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt similarity index 89% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/SweeperServiceManager.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt index 7ded92408d..35882d1427 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/net/SweeperServiceManager.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/net/SweeperOperateServiceManager.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.net +package com.mogo.och.sweeper.operate.net import android.content.Context import com.elegant.network.utils.GsonUtil @@ -10,13 +10,18 @@ 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.sweeper.bean.* -import com.mogo.och.sweeper.model.SweeperTaskModel +import com.mogo.och.sweeper.operate.model.SweeperOperateTaskModel +import com.mogo.och.sweeper.operate.bean.BaseResponse +import com.mogo.och.sweeper.operate.bean.SubInfo +import com.mogo.och.sweeper.operate.bean.SubStartRequest +import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean -object SweeperServiceManager { - private val TAG = SweeperTaskModel::class.java.simpleName - private val mService: ISweeperApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getSweeperUrl()).create( - ISweeperApiService::class.java +object SweeperOperateServiceManager { + private val TAG = SweeperOperateTaskModel::class.java.simpleName + private val mService: ISweeperOperateApiService = MoGoRetrofitFactory.getInstance(OchCommonConst.getSweeperUrl()).create( + ISweeperOperateApiService::class.java ) /** diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java similarity index 74% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java index 1a2bf393d3..0ee3bda143 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/presenter/SweeperOperatePresenter.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.presenter; +package com.mogo.och.sweeper.operate.presenter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_SWEEPER; @@ -23,23 +23,24 @@ import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.och.common.module.manager.autopilotmanager.OCHAdasAbilityManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; -import com.mogo.och.sweeper.bean.SweeperMainTaskBean; -import com.mogo.och.sweeper.bean.SweeperRoutePlanningUpdateReqBean; -import com.mogo.och.sweeper.bean.SweeperSubTaskBean; -import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean; -import com.mogo.och.sweeper.callback.ISweeperADASStatusCallback; -import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback; -import com.mogo.och.sweeper.callback.ISweeperTaskCallback; -import com.mogo.och.sweeper.callback.ISweeperTaskRouteCallback; -import com.mogo.och.sweeper.constant.SubTaskTypeEnum; -import com.mogo.och.sweeper.constant.SweeperConst; -import com.mogo.och.sweeper.constant.TaskStatusEnum; -import com.mogo.och.sweeper.database.MyDataBase; -import com.mogo.och.sweeper.database.bean.WeltDataBean; -import com.mogo.och.sweeper.fragment.SweeperFragment; -import com.mogo.och.sweeper.model.SweeperTaskModel; -import com.mogo.och.sweeper.util.SweeperFutianCmdUtil; -import com.mogo.och.sweeper.util.SweeperTrajectoryManager; +import com.mogo.och.sweeper.common.view.DebugView; +import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean; +import com.mogo.och.sweeper.common.bean.SweeperRoutePlanningUpdateReqBean; +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean; +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean; +import com.mogo.och.sweeper.common.callback.ISweeperADASStatusCallback; +import com.mogo.och.sweeper.operate.callback.ISweeperControllerStatusCallback; +import com.mogo.och.sweeper.operate.callback.ISweeperOperateTaskCallback; +import com.mogo.och.sweeper.common.callback.ISweeperTaskRouteCallback; +import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum; +import com.mogo.och.sweeper.common.constant.SweeperConst; +import com.mogo.och.sweeper.operate.constant.TaskStatusEnum; +import com.mogo.och.sweeper.common.database.MyDataBase; +import com.mogo.och.sweeper.common.database.bean.WeltDataBean; +import com.mogo.och.sweeper.operate.fragment.SweeperOperateFragment; +import com.mogo.och.sweeper.operate.model.SweeperOperateTaskModel; +import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil; +import com.mogo.och.sweeper.operate.util.SweeperTrajectoryManager; import org.jetbrains.annotations.NotNull; @@ -60,9 +61,9 @@ import system_master.SystemStatusInfo; * * @author tongchenfei */ -public class SweeperPresenter extends Presenter +public class SweeperOperatePresenter extends Presenter implements IMoGoAutopilotStatusListener, ISweeperControllerStatusCallback, ISweeperADASStatusCallback, - IMoGoSweeperFutianCleanSystemListener, ISweeperTaskCallback, ISweeperTaskRouteCallback { + IMoGoSweeperFutianCleanSystemListener, ISweeperOperateTaskCallback, ISweeperTaskRouteCallback { private static final String TAG = "SweeperPresenter"; //当前子任务id @@ -80,13 +81,13 @@ public class SweeperPresenter extends Presenter private String longitude;//经度 private String latitude;//纬度 - public SweeperPresenter(SweeperFragment view) { + public SweeperOperatePresenter(SweeperOperateFragment view) { super(view); //2021.11.1 鹰眼架构整合,由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口 CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); //清扫车模式和贴边数据回调监听 CallerSweeperFutianCleanSystemListenerManager.INSTANCE.addListener(TAG, this); - SweeperTaskModel.getInstance().init(); + SweeperOperateTaskModel.getInstance().init(); OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp()); } @@ -99,20 +100,20 @@ public class SweeperPresenter extends Presenter @Override public void onDestroy(@NonNull LifecycleOwner owner) { super.onDestroy(owner); - SweeperTaskModel.getInstance().release(); + SweeperOperateTaskModel.getInstance().release(); releaseListener(); } public void initModelListener() { - SweeperTaskModel.getInstance().setControllerStatusCallback(this); - SweeperTaskModel.getInstance().setAdasStatusCallback(this); - SweeperTaskModel.getInstance().setSweeperTaskCallback(this); + SweeperOperateTaskModel.getInstance().setControllerStatusCallback(this); + SweeperOperateTaskModel.getInstance().setAdasStatusCallback(this); + SweeperOperateTaskModel.getInstance().setSweeperTaskCallback(this); } public void releaseListener() { - SweeperTaskModel.getInstance().setControllerStatusCallback(null); - SweeperTaskModel.getInstance().setAdasStatusCallback(null); - SweeperTaskModel.getInstance().setSweeperTaskCallback(null); + SweeperOperateTaskModel.getInstance().setControllerStatusCallback(null); + SweeperOperateTaskModel.getInstance().setAdasStatusCallback(null); + SweeperOperateTaskModel.getInstance().setSweeperTaskCallback(null); CallerSweeperFutianCleanSystemListenerManager.INSTANCE.removeListener(TAG); } @@ -126,34 +127,38 @@ public class SweeperPresenter extends Presenter @Override public void onAutopilotStatusResponse(int state) { - SweeperTaskModel.getInstance().setAutopilotState(state); + SweeperOperateTaskModel.getInstance().setAutopilotState(state); ThreadUtils.runOnUiThread(() -> mView.startAutoBtn(state)); switch (state) { case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE://不可自动驾驶 + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_DISABLE,meaning=不可自动驾驶"); break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE://人工驾驶 - if (SweeperTaskModel.getInstance().getSubWorking()) { + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_ENABLE,meaning=可自动驾驶,人工干预状态"); + if (SweeperOperateTaskModel.getInstance().getSubWorking()) { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 - SweeperTaskModel.getInstance().startBeautificationMode(); + SweeperOperateTaskModel.getInstance().startBeautificationMode(); } } else { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 //关闭美化模式 - SweeperTaskModel.getInstance().closeBeautificationMode(); + SweeperOperateTaskModel.getInstance().closeBeautificationMode(); } } break; case IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING://自动驾驶中 - SweeperTaskModel.getInstance().triggerStartServiceEvent( - SweeperTaskModel.getInstance().isRestartAutopilot(), true); - if (SweeperTaskModel.getInstance().getSubWorking()) { + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_AUTOPILOT_RUNNING,meaning=自动驾驶中"); + SweeperOperateTaskModel.getInstance().triggerStartServiceEvent( + SweeperOperateTaskModel.getInstance().isRestartAutopilot(), true); + if (SweeperOperateTaskModel.getInstance().getSubWorking()) { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 - SweeperTaskModel.getInstance().startBeautificationMode(); + SweeperOperateTaskModel.getInstance().startBeautificationMode(); } } break; case IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING://平行驾驶 - if (SweeperTaskModel.getInstance().getSubWorking()) { + DebugView.Companion.printInfoMsg("[自驾状态变化] afterValue=STATUS_PARALLEL_DRIVING,meaning=平行驾驶中"); + if (SweeperOperateTaskModel.getInstance().getSubWorking()) { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;//是否强制绘制引导线 CallerAutoPilotControlManager.INSTANCE.setIPCDemoMode(false);//是否自动启动自驾 @@ -161,7 +166,7 @@ public class SweeperPresenter extends Presenter } else { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 //关闭美化模式 - SweeperTaskModel.getInstance().closeBeautificationMode(); + SweeperOperateTaskModel.getInstance().closeBeautificationMode(); } } break; @@ -191,10 +196,10 @@ public class SweeperPresenter extends Presenter * 清除路线缓存数据 */ public void clearRouteList(){ - SweeperTaskModel.getInstance().clearRouteList(); + SweeperOperateTaskModel.getInstance().clearRouteList(); } public void startAutopilot() { - SweeperTaskModel.getInstance().startAutopilot(); + SweeperOperateTaskModel.getInstance().startAutopilot(); } /** @@ -202,10 +207,10 @@ public class SweeperPresenter extends Presenter */ public void setSubtask(boolean isFirstSubtask, boolean isLastSubtask, int subTaskId,int subTaskType) { this.mSubTaskId = subTaskId; - SweeperTaskModel.getInstance().setSubtask(isFirstSubtask, isLastSubtask, subTaskId,subTaskType); + SweeperOperateTaskModel.getInstance().setSubtask(isFirstSubtask, isLastSubtask, subTaskId,subTaskType); } public void setWorking(boolean isWorking){ - SweeperTaskModel.getInstance().setWorking(isWorking); + SweeperOperateTaskModel.getInstance().setWorking(isWorking); } /** * 测试使用 @@ -223,6 +228,9 @@ public class SweeperPresenter extends Presenter @Override public void onAutopilotIpcConnectStatusChanged(int status, @Nullable String reason) { + DebugView.Companion.printInfoMsg( + "[域控连接状态变化] status=" + status + + ", reason=" + reason); } @Override @@ -236,7 +244,10 @@ public class SweeperPresenter extends Presenter @Override public void onAutopilotArriveAtStation(@Nullable MessagePad.ArrivalNotification arrivalNotification) { - SweeperTaskModel.getInstance().onArriveTaskEnd(arrivalNotification); + SweeperOperateTaskModel.getInstance().onArriveTaskEnd(arrivalNotification); + DebugView.Companion.printInfoMsg("[MAP到站通知] 上报到站,endLocation=(" + + ((arrivalNotification == null || arrivalNotification.getEndLocation() == null) ? "null" : arrivalNotification.getEndLocation().toString()) + + ")"); } @Override @@ -248,7 +259,7 @@ public class SweeperPresenter extends Presenter } public void onArriveTaskEnd(@Nullable MessagePad.ArrivalNotification arrivalNotification) { - SweeperTaskModel.getInstance().onArriveTaskEnd(arrivalNotification); + SweeperOperateTaskModel.getInstance().onArriveTaskEnd(arrivalNotification); } @Override @@ -348,7 +359,7 @@ public class SweeperPresenter extends Presenter weltDataBean.setCleanMode(roboSweeperTaskIndex.getCleanMode()); weltDataBean.setCleanDirection(roboSweeperTaskIndex.getCleanDirection()); weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity()); - weltDataBean.setSubTaskId(mSubTaskId); + weltDataBean.setSubTaskId(String.valueOf(mSubTaskId)); MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean); String distance; if (roboSweeperTaskIndex.getDistToRefEdgePoint() >= 1.0) {//大于等于1m @@ -370,28 +381,28 @@ public class SweeperPresenter extends Presenter * 获取当前正在执行的任务 */ public void getCurrentTask() { - SweeperTaskModel.getInstance().getCurrentTask(); + SweeperOperateTaskModel.getInstance().getCurrentTask(); } /** * 获取主任务列表 */ public void getMainTaskList(boolean refresh) { - SweeperTaskModel.getInstance().getMainTaskList(refresh); + SweeperOperateTaskModel.getInstance().getMainTaskList(refresh); } /** * 获取子任务列表 */ public void getSubTaskList(int taskId, SweeperSubTaskBean sweeperSubTaskBean) { - SweeperTaskModel.getInstance().getSubTaskList(taskId, sweeperSubTaskBean); + SweeperOperateTaskModel.getInstance().getSubTaskList(taskId, sweeperSubTaskBean); } /** * 获取子任务详情包括轨迹文件信息 */ public void getSubTaskDetail(boolean isFirst, boolean isEnd, int subTaskId, SubTaskTypeEnum subTaskType, boolean isStartSubtask) { - SweeperTaskModel.getInstance().getSubTaskDetail(isFirst, isEnd, subTaskId, subTaskType, isStartSubtask); + SweeperOperateTaskModel.getInstance().getSubTaskDetail(isFirst, isEnd, subTaskId, subTaskType, isStartSubtask); } /** @@ -399,7 +410,7 @@ public class SweeperPresenter extends Presenter */ public void startTask(boolean isFirst, boolean isEnd, int subTaskId, SubTaskTypeEnum subTaskType, int subTaskStatus) { if (SubTaskTypeEnum.AUTOPILOT_SUBTYPE.getCode() == subTaskStatus) { - SweeperTaskModel.getInstance().subTaskStart(isFirst, isEnd, subTaskId, subTaskType); + SweeperOperateTaskModel.getInstance().subTaskStart(isFirst, isEnd, subTaskId, subTaskType); } } @@ -407,21 +418,21 @@ public class SweeperPresenter extends Presenter * 子任务结束上报 */ public void subTaskEnd(boolean isFirst, boolean isEnd, int subTaskId) { - SweeperTaskModel.getInstance().subTaskEnd(isFirst, isEnd, subTaskId); + SweeperOperateTaskModel.getInstance().subTaskEnd(isFirst, isEnd, subTaskId); } /** * 子任务跳过上报 */ public void subTaskSkip(boolean isFirst, boolean isEnd, int subTaskId) { - SweeperTaskModel.getInstance().subTaskSkip(isFirst, isEnd, subTaskId); + SweeperOperateTaskModel.getInstance().subTaskSkip(isFirst, isEnd, subTaskId); } /** * 主任务重置 */ public void mainTaskReset(int taskId) { - SweeperTaskModel.getInstance().mainTaskReset(taskId); + SweeperOperateTaskModel.getInstance().mainTaskReset(taskId); } @Override diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/adapter/TaskListAdapter.kt similarity index 92% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/adapter/TaskListAdapter.kt index ef9aaa9a61..0798e21305 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/adapter/TaskListAdapter.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/adapter/TaskListAdapter.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.ui.adapter +package com.mogo.och.sweeper.operate.ui.adapter import android.graphics.Color import android.view.LayoutInflater @@ -9,7 +9,7 @@ import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.bean.SweeperMainTaskBean +import com.mogo.och.sweeper.operate.bean.SweeperMainTaskBean class TaskListAdapter() : RecyclerView.Adapter() { private var mItemClickListener: TaskItemClickListener? = null @@ -42,12 +42,12 @@ class TaskListAdapter() : RecyclerView.Adapter() notifyDataSetChanged() } interface TaskItemClickListener { - fun onItemClick(position: Int,mainTask:SweeperMainTaskBean) + fun onItemClick(position: Int,mainTask: SweeperMainTaskBean) } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TaskViewHolder { val view = LayoutInflater.from(parent.context).inflate( - R.layout.sweeper_item_task_info, parent, false + R.layout.sweeper_operate_item_task_info, parent, false ) return TaskViewHolder(view) } diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/popwindow/MenuPopWindow.kt similarity index 88% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/popwindow/MenuPopWindow.kt index 1f2c5ad8f0..d6e8e16037 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/ui/popwindow/MenuPopWindow.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/ui/popwindow/MenuPopWindow.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.ui.popwindow +package com.mogo.och.sweeper.operate.ui.popwindow import android.content.Context import android.graphics.Color @@ -9,7 +9,7 @@ import android.view.ViewGroup.LayoutParams import android.widget.PopupWindow import android.widget.TextView import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.constant.TaskStatusEnum +import com.mogo.och.sweeper.operate.constant.TaskStatusEnum /** * 当前任务操作菜单栏 @@ -24,9 +24,9 @@ class MenuPopWindow : PopupWindow, View.OnClickListener{ private var mTvCancelTask: TextView? = null - private var mMenuItemClickListener:OnMenuItemOnClickListener?=null + private var mMenuItemClickListener: OnMenuItemOnClickListener?=null - constructor(context: Context,menuItemClickListener:OnMenuItemOnClickListener) : super(context) { + constructor(context: Context,menuItemClickListener: OnMenuItemOnClickListener) : super(context) { init(context) this.mMenuItemClickListener=menuItemClickListener } @@ -36,7 +36,7 @@ class MenuPopWindow : PopupWindow, View.OnClickListener{ */ private fun init(context: Context) { setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) - var view: View = LayoutInflater.from(context).inflate(R.layout.sweeper_task_menu, null) + var view: View = LayoutInflater.from(context).inflate(R.layout.sweeper_operate_task_menu, null) mTvJumpOverTask = view.findViewById(R.id.tvJumpOverTask) mTaskJumpLineView = view.findViewById(R.id.taskJumpLineView) mTvEndTask = view.findViewById(R.id.tvEndTask) diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/util/SweeperTrajectoryManager.java similarity index 97% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/util/SweeperTrajectoryManager.java index 3c072d77bd..ac6b237f8f 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/util/SweeperTrajectoryManager.java @@ -1,11 +1,11 @@ -package com.mogo.och.sweeper.util; +package com.mogo.och.sweeper.operate.util; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.GsonUtils; -import com.mogo.och.sweeper.bean.SweeperSubTaskDetailBean; -import com.mogo.och.sweeper.constant.SweeperConst; +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskDetailBean; +import com.mogo.och.sweeper.common.constant.SweeperConst; import java.util.concurrent.TimeUnit; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SlidePanelView.java b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SlidePanelView.java similarity index 99% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SlidePanelView.java rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SlidePanelView.java index f7171bce89..b9e86e6284 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SlidePanelView.java +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SlidePanelView.java @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view; +package com.mogo.och.sweeper.operate.view; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateCurrentTaskInfoView.kt similarity index 89% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateCurrentTaskInfoView.kt index 39fc24fd81..d15f3402fc 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperCurrentTaskInfoView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateCurrentTaskInfoView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.operate.view import android.content.Context import android.graphics.Color @@ -11,22 +11,22 @@ import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.bean.SubInfo -import com.mogo.och.sweeper.bean.SweeperSubTaskBean -import com.mogo.och.sweeper.constant.SubTaskTypeEnum -import com.mogo.och.sweeper.presenter.SweeperPresenter -import com.mogo.och.sweeper.ui.popwindow.MenuPopWindow -import kotlinx.android.synthetic.main.sweeper_current_task_info.view.* +import com.mogo.och.sweeper.operate.bean.SubInfo +import com.mogo.och.sweeper.operate.bean.SweeperSubTaskBean +import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum +import com.mogo.och.sweeper.operate.presenter.SweeperOperatePresenter +import com.mogo.och.sweeper.operate.ui.popwindow.MenuPopWindow +import kotlinx.android.synthetic.main.sweeper_operate_current_task_info.view.* /** * 清扫车当前任务信息展示 */ -class SweeperCurrentTaskInfoView : ConstraintLayout { +class SweeperOperateCurrentTaskInfoView : ConstraintLayout { private val TAG: String = "SweeperCurrentTaskInfoView" //当前任务操作菜单 private var mTaskMenuPopWindow: MenuPopWindow? = null - private var presenter: SweeperPresenter? = null + private var presenter: SweeperOperatePresenter? = null private var mCurrentPosition = 0 private var listTask: List? = null private var mSubTaskType: SubTaskTypeEnum = SubTaskTypeEnum.AUTOPILOT_SUBTYPE @@ -43,7 +43,7 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {} private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_current_task_info, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_operate_current_task_info, this) setEnableClickBtn(false) tvStartAuto.setOnClickListener { if (ClickUtils.isFastClick()){//防止重复点击 @@ -51,7 +51,7 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { ToastUtils.showLong("任务未开始无轨迹,无法启动自驾") return@setOnClickListener } - if (mSubTaskType==SubTaskTypeEnum.MANUAL_DRIVING_SUBTYPE){ + if (mSubTaskType== SubTaskTypeEnum.MANUAL_DRIVING_SUBTYPE){ ToastUtils.showLong("人工子任务无轨迹,无法启动自驾") return@setOnClickListener } @@ -66,17 +66,17 @@ class SweeperCurrentTaskInfoView : ConstraintLayout { * 设置当前任务数据 */ fun setData( - workModePanelView: SweeperWorkModeView, - subTaskBean: SweeperSubTaskBean?, - currentPosition: Int, - menuItemClickListener: MenuPopWindow.OnMenuItemOnClickListener, - presenter: SweeperPresenter? + workModePanelView: SweeperOperateWorkModeView, + subTaskBean: SweeperSubTaskBean?, + currentPosition: Int, + menuItemClickListener: MenuPopWindow.OnMenuItemOnClickListener, + presenter: SweeperOperatePresenter? ) { this.presenter = presenter this.mCurrentPosition = currentPosition mTaskMenuPopWindow = MenuPopWindow(context, menuItemClickListener) subTaskBean?.apply { - this@SweeperCurrentTaskInfoView.listTask = subList + this@SweeperOperateCurrentTaskInfoView.listTask = subList tvTaskName.text = taskName val calendar = DateTimeUtil.formatLongToCalendar(taskStartTime) tvTaskTime.text = DateTimeUtil.formatCalendarToString(calendar, DateTimeUtil.HH_mm) diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateSubTaskView.kt similarity index 86% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateSubTaskView.kt index a3d6374066..5b84d18f5c 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SubTaskView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateSubTaskView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.operate.view import android.content.Context import android.graphics.Color @@ -8,13 +8,13 @@ import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.bean.SubInfo -import kotlinx.android.synthetic.main.sweeper_subtask_view.view.* +import com.mogo.och.sweeper.operate.bean.SubInfo +import kotlinx.android.synthetic.main.sweeper_operate_subtask_view.view.* /** * 子任务View */ -class SubTaskView : ConstraintLayout { +class SweeperOperateSubTaskView : ConstraintLayout { constructor(context: Context) : super(context) {} constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { initView(context) @@ -24,7 +24,7 @@ class SubTaskView : ConstraintLayout { constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {} private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_subtask_view, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_operate_subtask_view, this) } /** diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateTrafficDataView.kt similarity index 96% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateTrafficDataView.kt index 3482edfd7e..c11778b7ce 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperTrafficDataView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateTrafficDataView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.operate.view import android.annotation.SuppressLint import android.content.Context @@ -22,13 +22,14 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.sweeper.R +import com.mogo.och.sweeper.common.view.TurnSignalView import planning.RoboSweeperTaskIndexOuterClass import kotlin.math.roundToInt /** * 车辆基本信息:方向盘下方的档位 转向灯 限速 速度 电量 水量 */ -class SweeperTrafficDataView : ConstraintLayout, +class SweeperOperateTrafficDataView : ConstraintLayout, IMoGoBatteryManagementSystemListener, IMoGoChassisLamplightListener, IMoGoChassisGearStateListener, @@ -68,7 +69,7 @@ class SweeperTrafficDataView : ConstraintLayout, constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) {} private fun initView(context: Context) { - LayoutInflater.from(context).inflate(R.layout.sweeper_traffic_data, this) + LayoutInflater.from(context).inflate(R.layout.sweeper_operate_traffic_data, this) tapPositionView = findViewById(R.id.sweeperTrafficPosition) speedImage = findViewById(R.id.sweeperSpeedImage) speedTextView = findViewById(R.id.sweeperSpeedText) diff --git a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperWorkModeView.kt b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateWorkModeView.kt similarity index 90% rename from OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperWorkModeView.kt rename to OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateWorkModeView.kt index fae8cfd18f..6eace23aee 100644 --- a/OCH/sweeper/sweeper/src/main/java/com/mogo/och/sweeper/view/SweeperWorkModeView.kt +++ b/OCH/sweeper/driver/src/main/java/com/mogo/och/sweeper/operate/view/SweeperOperateWorkModeView.kt @@ -1,4 +1,4 @@ -package com.mogo.och.sweeper.view +package com.mogo.och.sweeper.operate.view import android.content.Context import android.util.AttributeSet @@ -10,25 +10,25 @@ import com.elegant.utils.UiThreadHandler import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.sweeper.R -import com.mogo.och.sweeper.callback.ICleaningModeStateCallback -import com.mogo.och.sweeper.constant.OperateStateEnum -import com.mogo.och.sweeper.constant.SubTaskTypeEnum -import com.mogo.och.sweeper.ui.popwindow.SweeperOperatePanelPopWindow -import com.mogo.och.sweeper.util.SweeperFutianCmdUtil +import com.mogo.och.sweeper.common.callback.ICleaningModeStateCallback +import com.mogo.och.sweeper.common.constant.OperateStateEnum +import com.mogo.och.sweeper.operate.constant.SubTaskTypeEnum +import com.mogo.och.sweeper.common.view.SweeperOperatePanelPopWindow +import com.mogo.och.sweeper.common.util.SweeperFutianCmdUtil import kotlinx.android.synthetic.main.sweeper_work_mode.view.* /** * 清扫车模式信息展示 */ -class SweeperWorkModeView : ConstraintLayout, - ICleaningModeStateCallback { +class SweeperOperateWorkModeView : ConstraintLayout, + ICleaningModeStateCallback { private var isSelectPureSweepMode: Boolean = false private val TAG = "SweeperWorkModeView" //清扫模式选择面板 private var mOperatePanelPopWindow: SweeperOperatePanelPopWindow? = null - private var operateState: OperateStateEnum=OperateStateEnum.SYNCING_STATUS + private var operateState: OperateStateEnum = OperateStateEnum.SYNCING_STATUS constructor(context: Context) : super(context) {} constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) { @@ -47,7 +47,7 @@ class SweeperWorkModeView : ConstraintLayout, /** * 设置view */ - fun setTrafficDataView(trafficDataView: SweeperTrafficDataView){ + fun setTrafficDataView(trafficDataView: SweeperOperateTrafficDataView){ //清扫模式选择面板打开关闭处理 ivOpenOperatePanel.setOnClickListener { if (mOperatePanelPopWindow?.isShowing != true) { @@ -72,12 +72,12 @@ class SweeperWorkModeView : ConstraintLayout, fun setSweeperFutianCleanSystemState(taskType: SubTaskTypeEnum, cleanSystemState: SweeperFuTianTaskSystemStates?) { // TODO:传递清扫车底盘数据给上装面板 //mOperatePanelPopWindow?.setCleanSystemState(cleanSystemState, this@SweeperWorkModeView) - if (this.operateState.code==OperateStateEnum.STARTING_STATUS.code){ + if (this.operateState.code== OperateStateEnum.STARTING_STATUS.code){ return } //如果状态是同步中,在底盘首次回调时把状态强制修改成成功 - if (this.operateState.code==OperateStateEnum.SYNCING_STATUS.code){ - this.operateState=OperateStateEnum.SUCCESS_STATUS + if (this.operateState.code== OperateStateEnum.SYNCING_STATUS.code){ + this.operateState= OperateStateEnum.SUCCESS_STATUS d(SceneConstant.M_SWEEPER + TAG, "SystemState operateState:"+operateState.code) } //清扫车暂未选择清扫模式或者任务类型是人工驾驶子任务,则暂无清扫模式 diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/bg_shape_work_mode.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/bg_shape_work_mode.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/bg_shape_work_mode.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/bg_shape_work_mode.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/bg_sweeper_operate_panel.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/bg_sweeper_operate_panel.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/bg_sweeper_operate_panel.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/bg_sweeper_operate_panel.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_ai_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_ai_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_ai_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_ai_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_auto.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_auto.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_auto.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_auto.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_battery.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_battery.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_battery.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_battery.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_manual_driving.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_manual_driving.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_manual_driving.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_manual_driving.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_message_box.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_message_box.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_message_box.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_message_box.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_message_box_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_message_box_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_message_box_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_message_box_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_not_auto.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_not_auto.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_not_auto.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_not_auto.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_right_down_arrow.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_right_down_arrow.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_right_down_arrow.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_right_down_arrow.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_level_warning.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_level_warning.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_level_warning.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_level_warning.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_select.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_select.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/icon_water_select.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/icon_water_select.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/no_task_data.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/no_task_data.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/no_task_data.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/no_task_data.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_base_slide_block.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_base_slide_block.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_base_slide_block.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_base_slide_block.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data_speed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data_speed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data_speed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_bg_traffic_data_speed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_big_end_maker_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_big_end_maker_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_big_end_maker_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_big_end_maker_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_big_start_maker_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_big_start_maker_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_big_start_maker_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_big_start_maker_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_car_big.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_car_big.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_car_big.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_car_big.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_car_small.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_car_small.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_car_small.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_car_small.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_card_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_card_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_card_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_card_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_card_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_card_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_card_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_card_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_clean_mode_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_clean_mode_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_clean_mode_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_clean_mode_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_close_navi_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_close_navi_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_close_navi_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_close_navi_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_loading.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_loading.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_loading.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_loading.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotate.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotate.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotate.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotate.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotation.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotation.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotation.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotation.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotation_background.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotation_background.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_cloud_rotation_background.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_cloud_rotation_background.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_collect_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_collect_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_collect_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_collect_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_collect_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_collect_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_collect_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_collect_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_full_screen_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_full_screen_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_full_screen_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_full_screen_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_ai_select.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_ai_select.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_ai_select.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_ai_select.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_select.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_select.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_select.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_bad_case_select.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_close.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_close.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_close.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_close.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_open.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_open.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_open.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_msg_box_open.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_not_select_subtask.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_select_subtask.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_select_subtask.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_icon_select_subtask.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_icon_select_subtask.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_gay_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_gay_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_gay_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_gay_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_green_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_green_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_green_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_green_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_red_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_red_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_light_red_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_light_red_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_lightyellow_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_lightyellow_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_lightyellow_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_lightyellow_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_line.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_line.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_line.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_line.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_loading_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_loading_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_loading_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_loading_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_navi_refresh.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_navi_refresh.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_navi_refresh.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_navi_refresh.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_och_dot_line.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_och_dot_line.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_och_dot_line.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_och_dot_line.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_btn_bg.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_btn_bg.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_btn_bg.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_btn_bg.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_setting_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_setting_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_small_end_marker_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_small_end_marker_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_small_end_marker_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_small_end_marker_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_small_start_marker_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_small_start_marker_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_small_start_marker_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_small_start_marker_icon.png diff --git a/OCH/sweeper/sweeper/src/main/res/drawable-xhdpi/sweeper_start_auto_not_running.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_start_auto_not_running.png similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable-xhdpi/sweeper_start_auto_not_running.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_start_auto_not_running.png diff --git a/OCH/sweeper/sweeper/src/main/res/drawable-xhdpi/sweeper_start_auto_running.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_start_auto_running.png similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable-xhdpi/sweeper_start_auto_running.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_start_auto_running.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_big_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_big_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_big_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_big_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_big_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_big_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_big_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_big_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_long.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_long.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_long.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_long.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_medium.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_medium.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_medium.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_medium.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_small_normal.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_small_normal.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_small_normal.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_small_normal.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_small_pressed.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_small_pressed.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_switch_map_small_pressed.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_switch_map_small_pressed.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_list_left_select_icon.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_not_working.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_not_working.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_not_working.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_not_working.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_working.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_working.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_task_working.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_task_working.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_traffic_data_speed_warning.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_traffic_data_speed_warning.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_traffic_data_speed_warning.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_traffic_data_speed_warning.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_unselect_btn.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_unselect_btn.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/sweeper_unselect_btn.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/sweeper_unselect_btn.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_left_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_left_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_left_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_left_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_left_select.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_left_select.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_left_select.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_left_select.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_right_nor.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_right_nor.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_right_nor.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_right_nor.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_right_select.png b/OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_right_select.png similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable-xhdpi/turn_signal_right_select.png rename to OCH/sweeper/driver/src/main/res/drawable-xhdpi/turn_signal_right_select.png diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_bubble.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_bubble.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_bubble.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_bubble.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_clean_mode.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_clean_mode.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_clean_mode.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_clean_mode.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_dialog_cloud_view.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_dialog_cloud_view.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_dialog_cloud_view.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_dialog_cloud_view.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_dialog_no_title.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_dialog_no_title.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_dialog_no_title.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_dialog_no_title.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_left_bottom_round.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_left_bottom_round.xml similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_left_bottom_round.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_left_bottom_round.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_left_right_bottom_round.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_left_right_bottom_round.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_left_right_bottom_round.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_left_right_bottom_round.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_right_bottom_round.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_right_bottom_round.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_right_bottom_round.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_right_bottom_round.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_panel.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_panel.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_panel.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_panel.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_state_not_ready.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_state_not_ready.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_state_not_ready.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_state_not_ready.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_state_working.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_state_working.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_shape_task_state_working.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_task_state_working.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_welt_panel.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_shape_welt_panel.xml similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_welt_panel.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_shape_welt_panel.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_close.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_close.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_close.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_close.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_default.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_default.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_default.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_default.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_disabled.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_disabled.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_disabled.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_disabled.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_open.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_open.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_open.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_open.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_pressed.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_pressed.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_sweeper_operate_panel_btn_pressed.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_sweeper_operate_panel_btn_pressed.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_task_menu.xml b/OCH/sweeper/driver/src/main/res/drawable/bg_task_menu.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/bg_task_menu.xml rename to OCH/sweeper/driver/src/main/res/drawable/bg_task_menu.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/icon_more.xml b/OCH/sweeper/driver/src/main/res/drawable/icon_more.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/icon_more.xml rename to OCH/sweeper/driver/src/main/res/drawable/icon_more.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_ai_collect_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_ai_collect_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_ai_collect_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_ai_collect_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_bad_case_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_bad_case_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_bad_case_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_bad_case_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_bg_waring_limiting_velocity.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_bg_waring_limiting_velocity.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_bg_waring_limiting_velocity.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_bg_waring_limiting_velocity.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_cloud_rotation_layer.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_cloud_rotation_layer.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_cloud_rotation_layer.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_cloud_rotation_layer.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_collect_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_collect_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_collect_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_collect_selector.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_task_panel.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_debug_view_log_history_bg.xml similarity index 51% rename from OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_task_panel.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_debug_view_log_history_bg.xml index 3a6f72848e..3911b44185 100644 --- a/OCH/sweeper/sweeper/src/main/res/drawable/bg_shape_task_panel.xml +++ b/OCH/sweeper/driver/src/main/res/drawable/sweeper_debug_view_log_history_bg.xml @@ -1,6 +1,8 @@ - - + + \ No newline at end of file diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend1.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend1.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend1.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend1.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend2.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend2.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend2.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend2.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend3.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend3.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend3.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend3.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend4.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend4.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend4.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend4.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend5.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend5.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend5.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend5.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend6.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_legend6.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_legend6.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_legend6.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_list_left_top_line.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_list_left_top_line.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_list_left_top_line.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_list_left_top_line.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_message_box.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_message_box.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_message_box.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_message_box.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operate_panel_btn1_bg_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_operate_panel_btn1_bg_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operate_panel_btn1_bg_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_operate_panel_btn1_bg_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operate_panel_btn2_bg_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_operate_panel_btn2_bg_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operate_panel_btn2_bg_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_operate_panel_btn2_bg_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_bg.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_bg.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_bg.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_bg.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_bg_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_bg_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_bg_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_bg_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_select_bg.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_select_bg.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_operation_status_select_bg.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_operation_status_select_bg.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_oprate_panel_cancel_btn.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_oprate_panel_cancel_btn.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_oprate_panel_cancel_btn.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_oprate_panel_cancel_btn.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_oprate_panel_reset_btn.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_oprate_panel_reset_btn.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_oprate_panel_reset_btn.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_oprate_panel_reset_btn.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_panel_anchor_bkg.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_panel_anchor_bkg.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_panel_anchor_bkg.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_panel_anchor_bkg.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_panel_bkg.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_panel_bkg.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_panel_bkg.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_panel_bkg.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_refresh.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_refresh.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_refresh.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_refresh.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_selector_msg_box.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_selector_msg_box.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_selector_msg_box.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_selector_msg_box.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_setting_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_setting_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_setting_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_setting_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_station_green_dash_line.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_station_green_dash_line.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_station_green_dash_line.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_station_green_dash_line.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_station_v_green_dash.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_station_v_green_dash.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_station_v_green_dash.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_station_v_green_dash.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_card_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_card_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_card_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_card_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_bg.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_bg.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_bg.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_bg.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_big_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_big_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_big_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_big_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_small_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_small_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_switch_map_small_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_switch_map_small_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_task_dividing_line1_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_task_dividing_line1_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_task_dividing_line1_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_task_dividing_line1_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_task_dividing_line2_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_task_dividing_line2_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_task_dividing_line2_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_task_dividing_line2_selector.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_btn.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_btn.xml similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_btn.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_btn.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_not_selected.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_not_selected.xml similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_not_selected.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_not_selected.xml diff --git a/OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_selected.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_selected.xml similarity index 100% rename from OCH/sweeper/sweeper/src/main/res/drawable/sweeper_task_list_selected.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_task_list_selected.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_upload_autopoiltstate.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_upload_autopoiltstate.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_upload_autopoiltstate.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_upload_autopoiltstate.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_water_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/sweeper_water_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/sweeper_water_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/sweeper_water_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/turn_signal_left_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/turn_signal_left_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/turn_signal_left_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/turn_signal_left_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/drawable/turn_signal_right_selector.xml b/OCH/sweeper/driver/src/main/res/drawable/turn_signal_right_selector.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/drawable/turn_signal_right_selector.xml rename to OCH/sweeper/driver/src/main/res/drawable/turn_signal_right_selector.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/layout/dialog_sweeper_cloud_loading.xml b/OCH/sweeper/driver/src/main/res/layout/dialog_sweeper_cloud_loading.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/layout/dialog_sweeper_cloud_loading.xml rename to OCH/sweeper/driver/src/main/res/layout/dialog_sweeper_cloud_loading.xml diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/layout/dialog_sweeper_cloud_view.xml b/OCH/sweeper/driver/src/main/res/layout/dialog_sweeper_cloud_view.xml similarity index 99% rename from OCH/sweeper/sweeper-cloud/src/main/res/layout/dialog_sweeper_cloud_view.xml rename to OCH/sweeper/driver/src/main/res/layout/dialog_sweeper_cloud_view.xml index a0b0c6a17b..36e98fe190 100644 --- a/OCH/sweeper/sweeper-cloud/src/main/res/layout/dialog_sweeper_cloud_view.xml +++ b/OCH/sweeper/driver/src/main/res/layout/dialog_sweeper_cloud_view.xml @@ -29,7 +29,7 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - @@ -24,13 +24,13 @@ app:xOffset="0dp" app:yOffset="0dp" android:layout_marginTop="-20dp"> - \ No newline at end of file diff --git a/OCH/sweeper/sweeper/src/main/res/layout/fragment_och_sweeper.xml b/OCH/sweeper/driver/src/main/res/layout/fragment_och_sweeper_operate.xml similarity index 95% rename from OCH/sweeper/sweeper/src/main/res/layout/fragment_och_sweeper.xml rename to OCH/sweeper/driver/src/main/res/layout/fragment_och_sweeper_operate.xml index 5f11cfe729..bd43c86dcd 100644 --- a/OCH/sweeper/sweeper/src/main/res/layout/fragment_och_sweeper.xml +++ b/OCH/sweeper/driver/src/main/res/layout/fragment_och_sweeper_operate.xml @@ -9,7 +9,7 @@ app:layout_constraintBottom_toBottomOf="parent" android:orientation="vertical"> - - + tools:listitem="@layout/sweeper_operate_item_task_info" /> - \ No newline at end of file diff --git a/OCH/sweeper/sweeper/src/main/res/layout/fragment_welt_map_overview.xml b/OCH/sweeper/driver/src/main/res/layout/fragment_welt_map_overview.xml similarity index 86% rename from OCH/sweeper/sweeper/src/main/res/layout/fragment_welt_map_overview.xml rename to OCH/sweeper/driver/src/main/res/layout/fragment_welt_map_overview.xml index e5655ea229..96124b138b 100644 --- a/OCH/sweeper/sweeper/src/main/res/layout/fragment_welt_map_overview.xml +++ b/OCH/sweeper/driver/src/main/res/layout/fragment_welt_map_overview.xml @@ -2,7 +2,7 @@ - diff --git a/OCH/sweeper/sweeper-cloud/src/main/res/layout/sweeper_amap_navi_view.xml b/OCH/sweeper/driver/src/main/res/layout/sweeper_amap_navi_view.xml similarity index 100% rename from OCH/sweeper/sweeper-cloud/src/main/res/layout/sweeper_amap_navi_view.xml rename to OCH/sweeper/driver/src/main/res/layout/sweeper_amap_navi_view.xml diff --git a/OCH/sweeper/sweeper/src/main/res/layout/sweeper_base_fragment.xml b/OCH/sweeper/driver/src/main/res/layout/sweeper_base_fragment.xml similarity index 88% rename from OCH/sweeper/sweeper/src/main/res/layout/sweeper_base_fragment.xml rename to OCH/sweeper/driver/src/main/res/layout/sweeper_base_fragment.xml index c4498cbaaa..84c1b3dd01 100644 --- a/OCH/sweeper/sweeper/src/main/res/layout/sweeper_base_fragment.xml +++ b/OCH/sweeper/driver/src/main/res/layout/sweeper_base_fragment.xml @@ -16,7 +16,7 @@ android:layout_height="match_parent" /> - + + + + - + + + +