diff --git a/.idea/misc.xml b/.idea/misc.xml
index 21e99e2dc0..cd77a1f062 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
index 34481dc884..e3299f92b7 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java
@@ -18,8 +18,10 @@ import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
import com.mogo.map.uicontroller.IMogoMapUIController;
+import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
+import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.extensions.R;
import com.mogo.module.extensions.navi.TopView;
import com.mogo.service.windowview.IMogoTopViewStatusListener;
@@ -301,6 +303,8 @@ public class TopViewAnimHelper {
}
Logger.d(TAG, "生硬的删掉了之前的view: " + viewCaches.size());
topContainer.removeAllViews();
+ // 同时设置一下隐藏状态
+ MogoApisHandler.getInstance().getApis().getStatusManagerApi().setTopViewShow(ExtensionsModuleConst.TYPE_ENTRANCE, false);
// 如果高度变化,生硬的变化一下高度
Logger.d(TAG, "container.height: " + topContainer.getHeight());
@@ -427,6 +431,8 @@ public class TopViewAnimHelper {
});
}
}
+
+ MogoApisHandler.getInstance().getApis().getStatusManagerApi().setTopViewShow(ExtensionsModuleConst.TYPE_ENTRANCE, true);
}
/**
@@ -506,6 +512,7 @@ public class TopViewAnimHelper {
}
Logger.d(TAG, "hide top setMapCenterPointByScene: " + scene);
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
+ MogoApisHandler.getInstance().getApis().getStatusManagerApi().setTopViewShow(ExtensionsModuleConst.TYPE_ENTRANCE, false);
}
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
index 5b3257652f..7c7600e155 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/IMogoStatusManager.java
@@ -10,6 +10,12 @@ import com.alibaba.android.arouter.facade.template.IProvider;
*/
public interface IMogoStatusManager extends IProvider {
+ /**
+ * TopView是否在展示
+ * @return
+ */
+ boolean isTopViewShow();
+
/**
* 小智语音 UI 是否在展示
*
@@ -110,6 +116,13 @@ public interface IMogoStatusManager extends IProvider {
*/
boolean isMainPageLaunched();
+ /**
+ * 设置topView展示状态
+ * @param tag 业务类型
+ * @param show true - 显示 false - 隐藏
+ */
+ void setTopViewShow(String tag, boolean show);
+
/**
* 设置小智语音UI状态
*
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
index 2acf766c45..b128676fdc 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/statusmanager/StatusDescriptor.java
@@ -78,5 +78,9 @@ public enum StatusDescriptor {
/**
* 是否已经进入过主页
*/
- MAIN_PAGE_CREATED;
+ MAIN_PAGE_CREATED,
+ /**
+ * topView展示状态
+ */
+ TOP_VIEW
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
index 43eb1b4769..4b6a9a09de 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
@@ -122,11 +122,21 @@ public class MogoStatusManager implements IMogoStatusManager {
return get_bool_val( StatusDescriptor.MAIN_PAGE_CREATED );
}
- private boolean get_bool_val( StatusDescriptor descriptor ) {
+ @Override
+ public boolean isTopViewShow() {
+ return get_bool_val(StatusDescriptor.TOP_VIEW);
+ }
+
+ private boolean get_bool_val(StatusDescriptor descriptor ) {
Boolean val = mStatus.get( descriptor );
return val == null ? false : val;
}
+ @Override
+ public void setTopViewShow(String tag, boolean show) {
+ doSetStatus(tag, StatusDescriptor.TOP_VIEW, show);
+ }
+
@Override
public void setVoiceUIShow( String tag, boolean show ) {
doSetStatus( tag, StatusDescriptor.VOICE_UI, show );