diff --git a/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt deleted file mode 100644 index 892ccf7..0000000 --- a/app/src/main/java/com/yinuo/safetywatcher/TestUtils.kt +++ /dev/null @@ -1,202 +0,0 @@ -package com.yinuo.safetywatcher - -import android.content.Context -import android.content.Intent -import android.media.MediaCodecList -import android.net.Uri -import android.os.Build -import android.os.FileUtils -import android.provider.Settings -import android.util.Log -import com.common.commonlib.db.DBUtils -import com.common.commonlib.db.entity.Gas -import com.common.commonlib.db.entity.Video -import com.common.commonlib.db.entity.Warning -import com.yinuo.safetywatcher.watcher.net.UploadFileApi -import com.yinuo.safetywatcher.watcher.ui.view.CommonDialog -import com.yinuo.safetywatcher.watcher.utils.DateUtils -import com.yinuo.safetywatcher.watcher.xls.SimpleCellValue -import com.yinuo.safetywatcher.watcher.xls.utils.ExcelUtils -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch -import org.easydarwin.PushHelper -import java.io.BufferedReader -import java.io.DataOutputStream -import java.io.File -import java.io.IOException -import java.io.InputStreamReader - - -object TestUtils { - - - fun insertData() { - getSupportCodec() - GlobalScope.launch() { - // 构造气体数据 - val timeMillis = System.currentTimeMillis() - - // 构造告警数据 - val warningDao = DBUtils.warningDao() - val warnings = mutableListOf() - warnings.add(Warning("CO", 60f, "", timeMillis)) - warnings.add(Warning("CO", 80f, "", timeMillis - 30 * 1000)) - warnings.add(Warning("CO2", 80f, "", timeMillis - 30 * 1000)) - warnings.add(Warning("O2", 10f, "", timeMillis - 90 * 1000)) - warningDao.insertAll(warnings) - } - } - - fun requestReadNetworkStats(context: Context) { - val intent = Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - // 经过测试,只有在 Android 10 及以上加包名才有效果 - // 如果在 Android 10 以下加包名会导致无法跳转 - intent.data = Uri.parse("package:" + context.packageName) - } - context.startActivity(intent) - } - - fun testUploadFile(uploadApi: UploadFileApi, video: Video, commonDialog: CommonDialog?) { -// val path = video.path -// uploadApi.singleUpload(path, System.currentTimeMillis(), object : -// RequestResultCallBack() { -// override fun onResult(result: BaseResponse) { -// commonDialog?.dismiss() -// } -// -// override fun onError(error: String?) { -// commonDialog?.dismiss() -// } -// }) - } - - suspend fun testExportExcel( - context: Context, - usbPath: String, - datas: MutableList, - commonDialog: CommonDialog? - ) { - val allData = mutableListOf>() - datas.forEach { - val row = mutableListOf() - row.add(SimpleCellValue(DateUtils.formatHistoryTime(it.time) ?: "")) - row.add(SimpleCellValue(it.gasName)) - row.add(SimpleCellValue(it.gasValue.toString())) - row.add(SimpleCellValue(it.unit)) - allData.add(row) - } - val excelPath = ExcelUtils.writeStringListToExcel(allData, usbPath, context) - commonDialog?.dismiss() - } - - - suspend fun testExportWarnExcel( - context: Context, - usbPath: String, - datas: MutableList, - loadingDialog: CommonDialog? - ) { - val allData = mutableListOf>() - datas.forEach { - val row = mutableListOf() - row.add(SimpleCellValue(DateUtils.formatHistoryTime(it.startTime) ?: "")) - row.add(SimpleCellValue(it.gasName)) - row.add(SimpleCellValue(it.gasValue.toString())) - row.add(SimpleCellValue(it.unit)) - allData.add(row) - } - val excelPath = ExcelUtils.writeStringListToExcel(allData, usbPath, context, true) - loadingDialog?.dismiss() - } - - // ShellUtils execCommand()方法 - fun execCommand( - commands: Array, - isRoot: Boolean, - isNeedResultMsg: Boolean - ) { - var result = -1 - if (commands.isEmpty()) { - return - } - var process: Process? = null - var successResult: BufferedReader? = null - var errorResult: BufferedReader? = null - var successMsg: StringBuilder? = null - var errorMsg: StringBuilder? = null - var os: DataOutputStream? = null - try { - process = Runtime.getRuntime().exec(if (isRoot) "su" else "sh") - os = DataOutputStream(process!!.outputStream) - for (command in commands) { - if (command == null) { - continue - } - - // do not use os.writeBytes(command), avoid chinese charset error - os.write(command.toByteArray()) - os.writeBytes("\n") - os.flush() - } - os.writeBytes("exit\n") - os.flush() - result = process.waitFor() - // get command result - if (isNeedResultMsg) { - successMsg = StringBuilder() - errorMsg = StringBuilder() - successResult = BufferedReader(InputStreamReader(process.inputStream)) - errorResult = BufferedReader(InputStreamReader(process.errorStream)) - var s: String? - while (successResult.readLine().also { s = it } != null) { - successMsg.append(s) - } - while (errorResult.readLine().also { s = it } != null) { - errorMsg.append(s) - } - } - } catch (e: Exception) { - e.printStackTrace() - } finally { - try { - os?.close() - successResult?.close() - errorResult?.close() - } catch (e: IOException) { - e.printStackTrace() - } - process?.destroy() - } - } - - suspend fun testCopyVideo( - context: Context, - usbPath: String, - datas: MutableList