From 199976c1538e95a80cea8002db366c4028dfb420 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 17 Nov 2020 10:08:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AA=92=E4=BD=93=E6=92=AD?= =?UTF-8?q?=E6=94=BE=E7=8A=B6=E6=80=81=E6=94=B9=E5=8F=98=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/module/media/window/MediaWindow2.java | 7 ++++++- .../service/statusmanager/IMogoStatusManager.java | 13 +++++++++++++ .../service/statusmanager/StatusDescriptor.java | 6 +++++- .../impl/statusmanager/MogoStatusManager.java | 10 ++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java index 6cc81d0938..6c3fa5e7d9 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java @@ -13,6 +13,7 @@ import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.voice.AIAssist; import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.module.carchattingprovider.ICallProviderResponse; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.glide.SkinAbleBitmapTarget; import com.mogo.module.media.MediaConstants; import com.mogo.module.media.R; @@ -269,6 +270,8 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { if (mCircleImg != null) { mCircleImg.startAnim(); } + + MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG, true); } @Override @@ -282,6 +285,8 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { if (mCircleImg != null) { mCircleImg.stopAnim(); } + + MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG,false); } @Override @@ -296,7 +301,7 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { mCircleImg.stopAnim(); } - + MogoApisHandler.getInstance().getApis().getStatusManagerApi().setMediaPlayStatus(TAG,false); } @Override 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 7c7600e155..f4655180d0 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 @@ -116,6 +116,19 @@ public interface IMogoStatusManager extends IProvider { */ boolean isMainPageLaunched(); + /** + * 媒体是否正在播放 + * @return true - 正在播放 false - 没有播放 + */ + boolean isMediaPlaying(); + + /** + * 设置媒体播放状态 + * @param tag 业务类型 + * @param status true - 正在播放 false - 未在播放 + */ + void setMediaPlayStatus(String tag, boolean status); + /** * 设置topView展示状态 * @param tag 业务类型 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 b128676fdc..42d71b3283 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 @@ -82,5 +82,9 @@ public enum StatusDescriptor { /** * topView展示状态 */ - TOP_VIEW + TOP_VIEW, + /** + * 媒体播放状态 + */ + MEDIA_PLAYER_STATUS } 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 4b6a9a09de..62c6076ff4 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 @@ -127,6 +127,16 @@ public class MogoStatusManager implements IMogoStatusManager { return get_bool_val(StatusDescriptor.TOP_VIEW); } + @Override + public boolean isMediaPlaying() { + return get_bool_val( StatusDescriptor.MEDIA_PLAYER_STATUS ); + } + + @Override + public void setMediaPlayStatus(String tag, boolean status) { + doSetStatus(tag, StatusDescriptor.MEDIA_PLAYER_STATUS, status); + } + private boolean get_bool_val(StatusDescriptor descriptor ) { Boolean val = mStatus.get( descriptor ); return val == null ? false : val;