Merge branch 'no' into dev_MogoAP_eagle-1030_211020_8.0.14

This commit is contained in:
liujing
2021-11-19 11:58:52 +08:00
2 changed files with 35 additions and 5 deletions

View File

@@ -11,6 +11,9 @@ import com.mogo.eagle.core.data.notice.NoticeNormalData
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer
import com.mogo.module.common.dialog.BaseFloatDialog
import com.mogo.service.IMogoServiceApis
import com.mogo.service.statusmanager.IMogoStatusChangedListener
import com.mogo.service.statusmanager.StatusDescriptor
import com.mogo.utils.BitmapHelper
import com.mogo.utils.glide.GlideApp
import com.shuyu.gsyvideoplayer.GSYVideoManager
@@ -36,6 +39,12 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context) {
private var mVideoUrl: String = ""
private var playErrorImageView: ImageView? = null
private var connectTextView: TextView? = null
private val mServiceApis: IMogoServiceApis? = null
private val statusChangedListenerForCheckNotice = IMogoStatusChangedListener { descriptor, isTrue ->
if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND) {
dismiss()
}
}
init {
setContentView(R.layout.notice_dialog_check_with_accessory)
@@ -79,6 +88,11 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context) {
pushVideo!!.visibility = View.VISIBLE
playVideo(mVideoUrl)
}
mServiceApis?.statusManagerApi?.registerStatusChangedListener(
TAG,
StatusDescriptor.MAIN_PAGE_IS_BACKGROUND,
statusChangedListenerForCheckNotice
)
}
@@ -202,6 +216,7 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context) {
connectTextView?.visibility = View.VISIBLE
playErrorImageView!!.visibility = View.VISIBLE
}
override fun onPrepared(url: String, vararg objects: Any) {}
override fun onClickStartIcon(url: String, vararg objects: Any) {}
override fun onClickStartError(url: String, vararg objects: Any) {}
@@ -226,5 +241,4 @@ class NoticeCheckDialog(context: Context) : BaseFloatDialog(context) {
}
}

View File

@@ -8,7 +8,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.lifecycle.LifecycleObserver;
import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.StaggeredGridLayoutManager;
@@ -24,7 +24,10 @@ import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.widget.media.video.NoticeSimpleSmallVideoPlayer;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.dialog.BaseFloatDialog;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.BitmapHelper;
import com.mogo.utils.glide.GlideApp;
import com.mogo.utils.glide.GlideRoundedCornersTransform;
@@ -43,7 +46,7 @@ import java.util.ArrayList;
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=66917475 根据infoId获取事故详情
* @since: 10/26/21
*/
public class NoticeTrafficDialog extends BaseFloatDialog {
public class NoticeTrafficDialog extends BaseFloatDialog implements LifecycleObserver {
private String TAG = "AINotice";
private Context mContext;
private RecyclerView mRecyclerView;
@@ -59,6 +62,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
private NoticeTrafficAdapter adapter;
private ArrayList dataArrayList = new ArrayList();
private NoticeTrafficStyleInfo.NoticeTrafficAccountInfo mTrafficStyleInfo;
private IMogoServiceApis mServiceApis;
public NoticeTrafficDialog(@NonNull Context context, NoticeTrafficStylePushData pushData) {
super(context);
@@ -76,6 +80,8 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
setCanceledOnTouchOutside(true);
playerShow();//视频播放器及接操作按钮
recyclerVie();//详情信息列表
mServiceApis = MogoApisHandler.getInstance().getApis();
mServiceApis.getStatusManagerApi().registerStatusChangedListener(TAG, StatusDescriptor.MAIN_PAGE_IS_BACKGROUND, statusChangedListenerForNotice);
}
/**
@@ -285,7 +291,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
@Override
public void onClickStartError(String url, Object... objects) {
Log.d(TAG, "onClickStartError");
Log.e(TAG, "onClickStartError");
}
@Override
@@ -452,7 +458,17 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
@Override
public void dismiss() {
super.dismiss();
Log.d("liyz", "trafficdialog dismiss");
Log.d(TAG, "trafficdialog dismiss");
releasePlayer();
}
private IMogoStatusChangedListener statusChangedListenerForNotice = new IMogoStatusChangedListener() {
@Override
public void onStatusChanged(StatusDescriptor descriptor, boolean isTrue) {
if (descriptor == StatusDescriptor.MAIN_PAGE_IS_BACKGROUND) {
Log.d("AINotice", "onStatusChanged==MAIN_PAGE_IS_BACKGROUND");
dismiss();
}
}
};
}