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