From 6cd8691502ae35f1795cc91bde297601f499b1b2 Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Wed, 13 Dec 2023 14:34:44 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E5=AD=98=E5=82=A8=E7=A9=BA=E9=97=B4?= =?UTF-8?q?=E4=B8=8D=E8=B6=B3=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=88=A0=E9=99=A4=E6=97=A9=E6=9C=9F=E7=9A=84=E8=A7=86?= =?UTF-8?q?=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../watcher/constant/Constants.kt | 4 +-- .../watcher/services/HeartbeatService.kt | 33 +++++++++++++++++-- .../safetywatcher/watcher/ui/HomeActivity.kt | 27 --------------- .../com/common/commonlib/db/dao/VideoDao.kt | 3 +- .../common/commonlib/utils/StorageUtils.kt | 2 +- .../library/vlc/encoder/AndroidMuxer.java | 4 +++ 6 files changed, 39 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/constant/Constants.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/constant/Constants.kt index 88c4e99..0d9ea4f 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/constant/Constants.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/constant/Constants.kt @@ -30,7 +30,7 @@ const val GAS_CLOUD_UPLOAD_SIZE_ONCE = 20 const val HEARTBEAT_TIME = 10000L //存储告警阈值 -const val STORAGE_WARN_THRESHOLD_NVME = 30 +const val STORAGE_WARN_THRESHOLD_NVME = 10 //没有nvme的时候,存储告警阈值 -const val STORAGE_WARN_THRESHOLD = 3 \ No newline at end of file +const val STORAGE_WARN_THRESHOLD = 2 \ No newline at end of file diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/services/HeartbeatService.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/services/HeartbeatService.kt index 0d11285..a736a5c 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/services/HeartbeatService.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/services/HeartbeatService.kt @@ -4,12 +4,18 @@ import android.annotation.SuppressLint import android.app.IntentService import android.content.Context import android.content.Intent +import com.common.commonlib.db.DBUtils import com.common.commonlib.net.callback.RequestResultCallBack +import com.common.commonlib.utils.LogUtils import com.yinuo.safetywatcher.watcher.bean.GetRtspUrlResponse import com.yinuo.safetywatcher.watcher.constant.HEARTBEAT_TIME import com.yinuo.safetywatcher.watcher.net.DevicesApi import com.yinuo.safetywatcher.watcher.utils.LztekUtil import com.yinuo.safetywatcher.watcher.utils.SimHelper +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import java.io.File import java.io.IOException import java.net.InetSocketAddress import java.net.Socket @@ -54,9 +60,16 @@ class HeartbeatService : IntentService("HeartbeatService") { var heartConter = -1 private fun checkAndUpdateTrafficInfo() { if (heartConter >= 0) { - devicesApi.updateTrafficInfo() - // 设置heartConter为-20,下次再10分钟后触发 - heartConter = -20 + // 拿不到流量信息, 暂时注释 +// devicesApi.updateTrafficInfo() + // 设置heartConter为-60,下次再10分钟后触发 + heartConter = -60 + + // 检测剩余空间大小,如果空间不足,则自动删除早期视频 + val cardAvailableSize = LztekUtil.getCardAvailableSizeWeak() + if (cardAvailableSize) { + delSomeVideo() + } } } @@ -97,4 +110,18 @@ class HeartbeatService : IntentService("HeartbeatService") { false } } + + private fun delSomeVideo() { + GlobalScope.launch(Dispatchers.Unconfined) { + val videoDao = DBUtils.videoDao() + val oldVideo = videoDao.getOldVideo() + try { + oldVideo?.forEach { + File(it.path).delete() + } + } catch (e: Exception) { + LogUtils.v("delSomeVideo error, ${e.message}") + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt index eaa4869..aa1c415 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt @@ -6,7 +6,6 @@ import android.os.Process import android.view.View import androidx.annotation.RequiresApi import androidx.lifecycle.lifecycleScope -import com.common.commonlib.db.DBUtils import com.common.commonlib.db.entity.Warning import com.common.commonlib.utils.LogUtils import com.common.commonlib.utils.NetworkHelper @@ -25,7 +24,6 @@ import com.yinuo.safetywatcher.watcher.services.HeartbeatService import com.yinuo.safetywatcher.watcher.ui.view.ConfirmDialog import com.yinuo.safetywatcher.watcher.utils.BatteryHelper import com.yinuo.safetywatcher.watcher.utils.GPIOUtils -import com.yinuo.safetywatcher.watcher.utils.LztekUtil import com.yinuo.safetywatcher.watcher.utils.RecordHelper import com.yinuo.safetywatcher.watcher.utils.SimHelper import com.yinuo.safetywatcher.watcher.utils.WifiHelper @@ -35,7 +33,6 @@ import kotlinx.coroutines.launch import org.easydarwin.PushHelper import org.easydarwin.TxtOverlay import org.easydarwin.video.EasyPlayerClient -import java.io.File class HomeActivity : NoOptionsActivity() { @@ -90,16 +87,6 @@ class HomeActivity : NoOptionsActivity() { itemSetting.requestFocus() } } - - val cardAvailableSize = LztekUtil.getCardAvailableSizeWeak() - if (cardAvailableSize) { - warnDialog = - ConfirmDialog("检测倒系统剩余存储空间较小,将影响视频录制,是否删除部分早期录像腾出空间?") { - warnDialog?.dismiss() - delSomeVideo() - } - warnDialog?.show(supportFragmentManager, "warn") - } } private fun onCameraOpen() { @@ -279,20 +266,6 @@ class HomeActivity : NoOptionsActivity() { SimHelper.init(this@HomeActivity) } - private fun delSomeVideo() { - GlobalScope.launch(Dispatchers.IO) { - val videoDao = DBUtils.videoDao() - val oldVideo = videoDao.getOldVideo() - try { - oldVideo?.forEach { - File(it.path).delete() - } - } catch (e: Exception) { - LogUtils.v("delSomeVideo error, ${e.message}") - } - } - } - override fun onDestroy() { super.onDestroy() BatteryHelper.release(this@HomeActivity) diff --git a/library-common/src/main/java/com/common/commonlib/db/dao/VideoDao.kt b/library-common/src/main/java/com/common/commonlib/db/dao/VideoDao.kt index 49386f5..0e7b705 100644 --- a/library-common/src/main/java/com/common/commonlib/db/dao/VideoDao.kt +++ b/library-common/src/main/java/com/common/commonlib/db/dao/VideoDao.kt @@ -3,6 +3,7 @@ package com.common.commonlib.db.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert +import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update import com.common.commonlib.db.entity.Video @@ -18,7 +19,7 @@ interface VideoDao { @Query("SELECT * FROM video LIMIT 50") suspend fun getOldVideo(): List