From 38492bbaa63586e2f4877da0eaa01a082fd565a6 Mon Sep 17 00:00:00 2001 From: 554325746@qq.com <554325746@qq.com> Date: 星期三, 25 十二月 2019 08:42:58 +0800 Subject: [PATCH] a --- app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 101 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java b/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java index 1a1e71a..799fd5d 100644 --- a/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java +++ b/app/src/main/java/com/basic/security/fragment/helper/HomeGridViewAdapter.java @@ -1,7 +1,9 @@ package com.basic.security.fragment.helper; import android.gesture.GestureOverlayView; +import android.graphics.Color; import android.os.SystemClock; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -14,14 +16,18 @@ import android.widget.VideoView; import com.basic.security.R; +import com.basic.security.base.BaseApplication; import com.basic.security.manager.AlarmManager; +import com.basic.security.manager.LogManager; import com.basic.security.model.Alarm; import com.basic.security.utils.KeyboardUtil; import com.basic.security.utils.ToastUtil; +import com.basic.security.utils.VideoPath; import com.basic.security.widget.CustomSpinner2; import com.bumptech.glide.Glide; import org.androidannotations.annotations.EFragment; +import org.xutils.common.util.KeyValue; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -68,6 +74,7 @@ viewHolder.alarmAddress = convertView.findViewById(R.id.alarmAddress); viewHolder.property = convertView.findViewById(R.id.property); viewHolder.alarmType = convertView.findViewById(R.id.alarmType); + viewHolder.layout1 = convertView.findViewById(R.id.layout1); viewHolder.alarmPerson = convertView.findViewById(R.id.alarmPerson); viewHolder.showMatchPersonList = convertView.findViewById(R.id.showMatchPersonList); viewHolder.matchPersonListParent = convertView.findViewById(R.id.matchPersonListParent); @@ -81,13 +88,24 @@ viewHolder.closeAlarm = convertView.findViewById(R.id.closeAlarm); // KeyboardUtil.setupUI(convertView); convertView.setTag(viewHolder); + KeyboardUtil.setupUI(convertView); } else { viewHolder = (ViewHolder) convertView.getTag(); } - viewHolderSet.put(viewHolder, viewHolder); - final ViewHolder viewHolder1 = viewHolder; + ViewHolder viewHolder1 = viewHolder; viewHolder1.alarm = alarm; +// if ("true".equals(alarm.get("alarmVideoValid"))) { +// viewHolder.layout1.setBackgroundColor(Color.BLUE); +// } else { +// if ("DSVAD010220181119".equals(alarm.get(Alarm.indeviceid))) { +// +// viewHolder.layout1.setBackgroundColor(Color.GREEN); +// } else { +// viewHolder.layout1.setBackgroundColor(Color.RED); +// +// } +// } viewHolder.showPicture.setOnClickListener(new View.OnClickListener() { @Override @@ -100,19 +118,23 @@ goto_picture_fullscreen(viewHolder1); } }); - - if ("true".equals(alarm.get("alarmVideoValid"))) { - viewHolder1.alarmVideo.setVideoPath(alarm.get("alarmVideo")); - if ("true".equals(alarm.get("videoPlaying"))) { - playVideo(viewHolder1); - } else { - stopVideo(viewHolder1); + if (!AlarmManager.removeNewAlarmIdSet(alarm)) { + if ("true".equals(alarm.get("alarmVideoValid"))) { + viewHolder1.alarmVideo.setVideoPath(alarm.get("alarmVideo")); + if (AlarmManager.getAlarmPlaying(alarm)) { + playVideo(viewHolder1); + } else { + stopVideo(viewHolder1); + } } + } else { + AlarmManager.putAlarmPlaying(alarm, false); + viewHolder.showPicture.setVisibility(View.VISIBLE); } viewHolder.playVideo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - goto_video_fullscreen(viewHolder1); + goto_video_fullscreen(viewHolder1, true); } }); @@ -154,7 +176,7 @@ sqliteAlarmList.remove(viewHolder1.alarm); sqliteAlarmListLock.unlock(); alarmListAdapter.notifyDataSetChanged(); - ToastUtil.show("鎶ヨ宸茬‘璁わ紒"); + ToastUtil.show("鎶ヨ宸茬‘璁わ紒", false); } }); } else { @@ -175,7 +197,7 @@ viewHolder.alarmVideoGestureOverlayView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - goto_video_fullscreen(viewHolder1); + goto_video_fullscreen(viewHolder1, true); } }); @@ -291,11 +313,13 @@ public ImageView toggleSound; public ImageView closeAlarm; public ImageView showMatchPersonList; + public View layout1; public CustomSpinner2 matchPersonList; public LinearLayout matchPersonListParent; public LinearLayout highlightShadow; public LinearLayout highlightBorder; public Map<String, String> alarm; + public long alarmVideoOverlayVisibleTime = 0; } } @@ -310,39 +334,98 @@ } } public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder) { + goto_video_fullscreen(viewHolder, false); + } + public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick) { + goto_video_fullscreen(viewHolder, fromButtonClick, false); + } + public void goto_video_fullscreen(final AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick, boolean fromRetry) { + System.out.println("HomeGridViewAdapter.goto_video_fullscreen 1 " + ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) + " retry="+fromRetry); if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) { for (AlarmListAdapter.ViewHolder vh : viewHolderSet.keySet()) { - if ("true".equals(vh.alarm.get("videoPlaying"))) { + if (AlarmManager.getAlarmPlaying(vh.alarm)) { vh.alarmVideoOverlay.setVisibility(View.VISIBLE); + vh.alarmVideoOverlayVisibleTime = System.currentTimeMillis(); } } - new Thread(){ + BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { SystemClock.sleep(100); mainActivity().runOnUiThread(new Runnable() { @Override public void run() { + System.out.println("HomeGridViewAdapter.goto_video_fullscreen 2 "); currentVideoPlayTimeMap.remove(viewHolder.alarm.get("id")); playVideo(viewHolder); if (!"true".equals(viewHolder.alarm.get("alarmVideoValid"))) { - ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�"); + ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false); } + System.out.println("HomeGridViewAdapter.goto_video_fullscreen 3 fromButtonClick="+fromButtonClick + "true".equals(viewHolder.alarm.get("alarmVideoValid"))); if ("true".equals(viewHolder.alarm.get("alarmVideoValid"))) { + System.out.println("HomeGridViewAdapter.goto_video_fullscreen 4 fromButtonClick="+fromButtonClick); + if (fromButtonClick) { + AlarmManager.putAlarmPlaying(viewHolder.alarm, true); + } viewHolder.alarmVideo.setVisibility(View.INVISIBLE); viewHolder.alarmVideoGestureOverlayView.setVisibility(View.INVISIBLE); stopAllVideoPlays(viewHolder.alarmVideo); mainActivity().goto_fullscreenVideoView(viewHolder.alarm.get("alarmVideo")); + try { + LogManager.saveLog(viewHolder.alarm.get("alarmVideo")); + } catch (Exception e) { + e.printStackTrace(); + } } else { - ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�"); + ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false); } } }); } - }.start(); + }); } else { - ToastUtil.show("鎾斁澶辫触, 瑙嗛璺緞閿欒銆�"); + if (!fromRetry) { + tryGetRemoveVideoUrl(viewHolder, fromButtonClick); + } } } + + public void tryGetRemoveVideoUrl(AlarmListAdapter.ViewHolder viewHolder, boolean fromButtonClick) { + BaseApplication.getApplication().executorService.execute(new Runnable() { + @Override + public void run() { + try { + long requestVideoUrlBegin = System.currentTimeMillis(); + String alarmVideo = VideoPath.getVideoUrl(viewHolder.alarm); +// System.out.println("HomeGridViewAdapter.run alarmVideo="+alarmVideo); +// System.out.println("HomeGridViewAdapter.run 2 " + (!TextUtils.isEmpty(alarmVideo) && alarmVideo.startsWith("http"))); + if (!TextUtils.isEmpty(alarmVideo) && alarmVideo.startsWith("http")) { + viewHolder.alarm.put("alarmVideoValid", "true"); + viewHolder.alarm.put(Alarm.alarmVideo, alarmVideo); + AlarmManager.save(viewHolder.alarm); + mainActivity().fragment_home.refreshGridView(); +// System.out.println("HomeGridViewAdapter.run 3 " + (System.currentTimeMillis() - requestVideoUrlBegin < 5* 1000) ); + if (System.currentTimeMillis() - requestVideoUrlBegin < 5* 1000) { + viewHolder.alarm.put("alarmVideoValid", "true"); + AlarmManager.putAlarmPlaying(viewHolder.alarm, true); +// System.out.println("HomeGridViewAdapter.run goto_video_fullscreen"); + mainActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + viewHolder.alarmVideoOverlay.setVisibility(View.INVISIBLE); + goto_video_fullscreen(viewHolder, fromButtonClick, true); + } + }); + return; + } + } + ToastUtil.show("褰曞儚姝e湪澶勭悊涓紝璇风◢鍚庡啀璇曘��", false); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + } -- Gitblit v1.8.0