From 9a5616ee69baf5623bcc749386f5ca838dbeca34 Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Mon, 13 Nov 2023 15:13:36 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E9=80=82=E9=85=8Dnvme=E7=A1=AC=E7=9B=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 ++ .../watcher/constant/Constants.kt | 5 ++- .../watcher/ui/HistoryVideoActivity.kt | 3 +- .../safetywatcher/watcher/ui/HomeActivity.kt | 6 +-- .../watcher/ui/QueryDataActivity.kt | 2 +- .../watcher/ui/WarnDataActivity.kt | 2 +- .../safetywatcher/watcher/utils/LztekUtil.kt | 28 +++++++++--- .../common/commonlib}/utils/StorageUtils.kt | 11 +++-- .../library/vlc/encoder/CameraHelper.java | 44 +++++++++++++++---- 9 files changed, 76 insertions(+), 28 deletions(-) rename {app/src/main/java/com/yinuo/safetywatcher/watcher => library-common/src/main/java/com/common/commonlib}/utils/StorageUtils.kt (86%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5b56746..5ff7689 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,6 +31,7 @@ + = USB_KEYWORDS): String? { var targetpath: String? = "" val mStorageManager = mContext .getSystemService(Context.STORAGE_SERVICE) as StorageManager @@ -30,9 +34,8 @@ object StorageUtils { val storageVolumeElement: StorageVolume = result[i] val userLabel = getUserLabel.invoke(storageVolumeElement) as String val path = getPath.invoke(storageVolumeElement) as String - if (userLabel.contains(keyword) || userLabel.contains("U 盘")) { + if (keywords.contains(userLabel)) targetpath = path - } } } catch (e: ClassNotFoundException) { e.printStackTrace() diff --git a/library-push/src/main/java/com/yinuo/library/vlc/encoder/CameraHelper.java b/library-push/src/main/java/com/yinuo/library/vlc/encoder/CameraHelper.java index 6655e46..3aea6ad 100644 --- a/library-push/src/main/java/com/yinuo/library/vlc/encoder/CameraHelper.java +++ b/library-push/src/main/java/com/yinuo/library/vlc/encoder/CameraHelper.java @@ -1,12 +1,21 @@ package com.yinuo.library.vlc.encoder; +import static com.common.commonlib.utils.StorageUtilsKt.NVME_KEYWORDS; + import android.annotation.TargetApi; import android.app.Activity; +import android.content.Context; import android.hardware.Camera; import android.os.Build; import android.os.Environment; +import android.text.TextUtils; import android.view.Surface; +import androidx.annotation.Nullable; + +import com.common.commonlib.CommonApplication; +import com.common.commonlib.utils.StorageUtils; + import java.io.File; import java.text.SimpleDateFormat; import java.util.List; @@ -187,14 +196,8 @@ public class CameraHelper { public static File getOutputMediaFile(int type, long time, long duration) { // To be safe, you should check that the SDCard is mounted // using Environment.getExternalStorageState() before doing this. - if (!Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)) { - return null; - } - - File mediaStorageDir = Environment.getExternalStoragePublicDirectory("video"); - if (!mediaStorageDir.exists() && !mediaStorageDir.mkdirs()) { - return null; - } + File mediaStorageDir = getMediaStorageDir(); + if (mediaStorageDir == null) return null; // Create a media file name SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA); @@ -213,4 +216,29 @@ public class CameraHelper { return mediaFile; } + + @Nullable + private static File getMediaStorageDir() { + Context context = CommonApplication.Companion.getContext(); + if (context != null) { + String nvmePath = StorageUtils.INSTANCE.getStoragePath(context, NVME_KEYWORDS); + if (!TextUtils.isEmpty(nvmePath)) { + File mediaStorageDir = new File(nvmePath + File.separator + "video"); + if (!mediaStorageDir.exists() && !mediaStorageDir.mkdirs()) { + return null; + } + return mediaStorageDir; + } else { + if (!Environment.getExternalStorageState().equalsIgnoreCase(Environment.MEDIA_MOUNTED)) { + return null; + } + File mediaStorageDir = Environment.getExternalStoragePublicDirectory("video"); + if (!mediaStorageDir.exists() && !mediaStorageDir.mkdirs()) { + return null; + } + return mediaStorageDir; + } + } + return null; + } }