bug fix: UI-2.0/UI-882 not attached to a context

This commit is contained in:
tongchenfei
2020-07-29 10:59:23 +08:00
parent 638b4cc924
commit ac024ffd37

View File

@@ -168,15 +168,18 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mDisplayOverviewText = findViewById(R.id.module_ext_id_display_overview_text);
mDisplayOverviewIcon = findViewById(R.id.module_ext_id_display_overview_icon);
mDisplayOverview.setOnClickListener(view -> {
if (!mStatusManager.isDisplayOverview()) {
mMApUIController.displayOverview(mDisplayOverviewBounds);
UiThreadHandler.removeCallbacks(mLockCarRunnable);
UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
} else {
mMApUIController.recoverLockMode();
UiThreadHandler.removeCallbacks(mLockCarRunnable);
if(getContext()!=null) {
// 加此判断是解决下面setDisplayOverview后本Fragment回调中出现not attached to a context问题
if (!mStatusManager.isDisplayOverview()) {
mMApUIController.displayOverview(mDisplayOverviewBounds);
UiThreadHandler.removeCallbacks(mLockCarRunnable);
UiThreadHandler.postDelayed(mLockCarRunnable, 20_000);
} else {
mMApUIController.recoverLockMode();
UiThreadHandler.removeCallbacks(mLockCarRunnable);
}
mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview());
}
mStatusManager.setDisplayOverview(TAG, !mStatusManager.isDisplayOverview());
});
mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location);
@@ -460,19 +463,22 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
if (!mMogoNavi.isNaviing()) {
return;
}
if (isTrue) {
mDisplayOverviewText.setText("退出全览");
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize));
mCameraMode.setVisibility(View.GONE);
} else {
mDisplayOverviewText.setText("全览");
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large));
if (CustomNaviInterrupter.getInstance().interrupt()) {
if(getContext()!=null) {
// 加此判断是为了规避not attached to a context问题
if (isTrue) {
mDisplayOverviewText.setText("退出全览");
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getContext().getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize));
mCameraMode.setVisibility(View.GONE);
} else {
mCameraMode.setVisibility(View.VISIBLE);
mDisplayOverviewText.setText("全览");
mDisplayOverviewText.setTextSize(TypedValue.COMPLEX_UNIT_PX,
getContext().getResources().getDimensionPixelSize(R.dimen.module_ext_display_overview_textSize_large));
if (CustomNaviInterrupter.getInstance().interrupt()) {
mCameraMode.setVisibility(View.GONE);
} else {
mCameraMode.setVisibility(View.VISIBLE);
}
}
}
} else if (descriptor == StatusDescriptor.ACC_STATUS) {