diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index d329ae6946..315321a1bc 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -39,11 +39,13 @@ import com.mogo.utils.ProcessUtils; import com.mogo.utils.logger.LogLevel; import com.mogo.utils.logger.Logger; import com.mogo.utils.storage.SharedPrefsMgr; -import com.squareup.leakcanary.LeakCanary; -import com.squareup.leakcanary.RefWatcher; +//import com.squareup.leakcanary.LeakCanary; +//import com.squareup.leakcanary.RefWatcher; import com.zhidao.boot.persistent.lib.PersistentManager; import com.zhidao.mogo.module.left.panel.LeftPanelConst; +import leakcanary.LeakCanary; + /** * @author congtaowang * @since 2019-12-18 @@ -55,7 +57,7 @@ public class MogoApplication extends AbsMogoApplication { private static final String TAG = "MogoApplication"; private long start; - private volatile static RefWatcher refWatcher; +// private volatile static RefWatcher refWatcher; @Override public void onCreate() { @@ -313,9 +315,9 @@ public class MogoApplication extends AbsMogoApplication { startService(intent); } - if (refWatcher == null) { - refWatcher = LeakCanary.install(this); - } +// if (refWatcher == null) { +// refWatcher = LeakCanary.install(this); +// } // 初始化 bugly 升级 ARouter.getInstance().navigation(UpgradeReportProvider.class); diff --git a/config.gradle b/config.gradle index 0bbc715145..a62f80e527 100644 --- a/config.gradle +++ b/config.gradle @@ -43,9 +43,9 @@ ext { // json 转换 gson : "com.google.code.gson:gson:2.8.4", // 内存泄漏检测 - debugleakcanary : "com.squareup.leakcanary:leakcanary-android:1.6.1", - releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1", - testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.1", + debugleakcanary : "com.squareup.leakcanary:leakcanary-android:2.7", + releaseleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7", + testleakcanary : "com.squareup.leakcanary:leakcanary-android-no-op:2.7", //rxJava rxjava : "io.reactivex.rxjava2:rxjava:2.2.2", rxandroid : "io.reactivex.rxjava2:rxandroid:2.1.1", diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java index ed60b68332..627f9221a7 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/VehicleMonitoringManager.java @@ -21,10 +21,16 @@ import com.mogo.eagle.core.utilcode.util.LogUtils; import com.mogo.eagle.core.function.api.check.IMogoCheckListener; import com.mogo.eagle.core.function.check.view.CheckActivity; import com.mogo.eagle.core.utilcode.util.ThreadUtils; +import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.service.MogoServiceProvider; +import com.mogo.module.service.MogoServices; import com.mogo.module.service.receiver.MogoReceiver; import com.mogo.service.MogoServicePaths; import com.mogo.eagle.core.function.api.check.ICheckProvider; +import com.mogo.service.statusmanager.IMogoStatusChangedListener; +import com.mogo.service.statusmanager.StatusDescriptor; import com.mogo.utils.ActivityLifecycleManager; +import com.mogo.utils.UiThreadHandler; import com.mogo.utils.network.RequestOptions; import java.util.List; @@ -44,7 +50,7 @@ import io.reactivex.schedulers.Schedulers; * wiki:http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=58204952 */ @Route(path = MogoServicePaths.PATH_CHECK) -public class VehicleMonitoringManager implements ICheckProvider { +public class VehicleMonitoringManager implements ICheckProvider , IMogoStatusChangedListener { private static final String TAG = "VehicleMonitoringManager"; private Context mContext; private final Map mListeners = new ConcurrentHashMap<>(); @@ -55,6 +61,7 @@ public class VehicleMonitoringManager implements ICheckProvider { public void init(Context context) { LogUtils.dTag(TAG, "初始化 CheckProvider 模块"); mContext = context; + MogoApisHandler.getInstance().getApis().getStatusManagerApi().registerStatusChangedListener(TAG,StatusDescriptor.MAIN_PAGE_RESUME,this); } @Override @@ -155,4 +162,15 @@ public class VehicleMonitoringManager implements ICheckProvider { } } } + + @Override + public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) { + if (descriptor == StatusDescriptor.MAIN_PAGE_RESUME) { + if (!isTrue){ + if (dialog != null && dialog.isShowing()){ + dialog.dismiss(); + } + } + } + } } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java index a7ab0a0b4e..329c31b67e 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckActivity.java @@ -51,7 +51,7 @@ import io.reactivex.schedulers.Schedulers; public class CheckActivity extends AppCompatActivity { private static final String TAG = "CheckActivity"; - private static RecyclerView mRecyclerView; + private RecyclerView mRecyclerView; private static CheckResultData sCheckResultData; // private static Context mContext; private static NetworkStatusUtil.NetWorkStatus sNetWorkStatus; @@ -109,7 +109,7 @@ public class CheckActivity extends AppCompatActivity { new CheckLinearLayout(this, CheckLinearLayout.VERTICAL, false); mRecyclerView.addItemDecoration(new SpacesItemDecoration((int) getResources().getDimension(R.dimen.check_item_space_vr))); mRecyclerView.setLayoutManager(linearLayoutManager); - mCheckAdapter = new CheckAdapter(this, sCheckResultData); + mCheckAdapter = new CheckAdapter(CheckActivity.this, sCheckResultData); mRecyclerView.setAdapter(mCheckAdapter); } @@ -119,7 +119,7 @@ public class CheckActivity extends AppCompatActivity { public static void checkMonitor(Context context, ICheckResultCallBack checkResultCallBack) { Log.d(TAG, "checkMonitor"); // mContext = context; - loadDetail(context.getApplicationContext(), checkResultCallBack); + loadDetail(context, checkResultCallBack); } //网络请求,获取自车检测结果(工控机上报云端) @@ -249,6 +249,9 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onPause() { super.onPause(); + if (mCheckAdapter!=null){ + mCheckAdapter.dismissDialog(); + } } @Override @@ -264,7 +267,8 @@ public class CheckActivity extends AppCompatActivity { @Override protected void onDestroy() { super.onDestroy(); - isFront = false; +// isFront = false; + mCheckAdapter.ondestry(); } } diff --git a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java index ff9029336c..f665761bf2 100644 --- a/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java +++ b/core/function-impl/mogo-core-function-check/src/main/java/com/mogo/eagle/core/function/check/view/CheckAdapter.java @@ -35,7 +35,7 @@ public class CheckAdapter extends RecyclerView.Adapter public CheckAdapter(@NonNull Context context, @NonNull CheckResultData checkResult) { mContext = context; mCheckResultData = checkResult; - mLayoutInflater = LayoutInflater.from(context); + mLayoutInflater = LayoutInflater.from(mContext); } @Override @@ -62,6 +62,17 @@ public class CheckAdapter extends RecyclerView.Adapter return holder; } + public void dismissDialog() { + if (mCheckInfoListDialog!=null && mCheckInfoListDialog.isShowing()){ + mCheckInfoListDialog.dismiss(); + } + } + + public void ondestry() { + mContext = null; + mCheckInfoListDialog = null; + } + /** * 顶部view列表 */ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt index a64f9d92a8..b4e2be73a1 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt @@ -6,13 +6,16 @@ import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.data.autopilot.AdasOCHData +import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.util.LogUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.module.common.MogoApisHandler import com.mogo.service.adas.IMogoAdasOCHCallback +import com.mogo.utils.logger.Logger import kotlinx.android.synthetic.main.view_autopilot_status.view.* +import java.util.* /** * @author xiaoyuzhou @@ -20,8 +23,8 @@ import kotlinx.android.synthetic.main.view_autopilot_status.view.* * 自动驾驶状态按钮 */ class AutoPilotStatusView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet + context: Context, + attrs: AttributeSet ) : ConstraintLayout(context, attrs), View.OnClickListener, IMogoAdasOCHCallback { private val TAG = "AutopilotStatusView" @@ -53,7 +56,7 @@ class AutoPilotStatusView @JvmOverloads constructor( when (mAutopilotStatus) { 0 -> {// 不可自动驾驶,adas与工控机没有链接,或工控机异常 LogUtils.eTag(TAG, "不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") - ToastUtils.showShort("不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") +// ToastUtils.showShort("不可自动驾驶,adas与工控机没有链接,或工控机异常,请检查") // TODO 这里临时触发自动驾驶能力,测试功过这里删除 CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(true) } @@ -64,6 +67,15 @@ class AutoPilotStatusView @JvmOverloads constructor( CallerHmiListenerManager.invokeCheckAutoPilotBtnListener(false) } } +// startAutoPilot(); + } + private fun startAutoPilot() { + val currentAutopilot = RemoteControlAutoPilotParameters() + currentAutopilot.isSpeakVoice = false + currentAutopilot.startLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.194795425,116.724476409); + currentAutopilot.endLatLon = RemoteControlAutoPilotParameters.AutoPilotLonLat(40.199730,116.735687); + currentAutopilot.vehicleType = 10 + MogoApisHandler.getInstance().apis.adasControllerApi.aiCloudToAdasData(currentAutopilot) } /** diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java index 293ad08a3e..669a63f78a 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/MogoLauncher.java @@ -17,16 +17,16 @@ public class MogoLauncher implements IMogoLauncher { @Override public void backToLauncher( Context context ) { - BackToMainHomeManager.backToLauncher(); +// BackToMainHomeManager.backToLauncher(); } @Override public void setFloatButtonVisible( boolean visible ) { - if ( visible ) { - BackToMainHomeManager.showFloatButton(); - } else { - BackToMainHomeManager.hideFloatButton(); - } +// if ( visible ) { +// BackToMainHomeManager.showFloatButton(); +// } else { +// BackToMainHomeManager.hideFloatButton(); +// } } @Override