eagle 处理异常

This commit is contained in:
lianglihui
2021-10-09 18:37:14 +08:00
parent 19d2fd45a6
commit 7d5845fb60
7 changed files with 71 additions and 24 deletions

View File

@@ -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;
* wikihttp://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<String, CopyOnWriteArrayList> 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();
}
}
}
}
}

View File

@@ -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();
}
}

View File

@@ -35,7 +35,7 @@ public class CheckAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
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<RecyclerView.ViewHolder>
return holder;
}
public void dismissDialog() {
if (mCheckInfoListDialog!=null && mCheckInfoListDialog.isShowing()){
mCheckInfoListDialog.dismiss();
}
}
public void ondestry() {
mContext = null;
mCheckInfoListDialog = null;
}
/**
* 顶部view列表
*/