feat:初步搭建新房间框架
feat:初步搭建红包处理器与组件等(未完成)
This commit is contained in:
14
library/src/module_utils/java/com/chuhai/utils/ICleared.kt
Normal file
14
library/src/module_utils/java/com/chuhai/utils/ICleared.kt
Normal file
@@ -0,0 +1,14 @@
|
||||
package com.chuhai.utils
|
||||
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 11:50
|
||||
* Desc:清除释放统一接口
|
||||
**/
|
||||
interface ICleared {
|
||||
|
||||
/**
|
||||
* 清除/释放
|
||||
*/
|
||||
fun onCleared() {}
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
package com.chuhai.utils.log
|
||||
|
||||
import android.util.Log
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 10:29
|
||||
* Desc:Android日志
|
||||
*/
|
||||
class AndroidLogPrinter : LogPrinter {
|
||||
override fun println(level: Int, tag: String, message: String) {
|
||||
Log.println(level, tag, message)
|
||||
}
|
||||
}
|
61
library/src/module_utils/java/com/chuhai/utils/log/ILog.kt
Normal file
61
library/src/module_utils/java/com/chuhai/utils/log/ILog.kt
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.chuhai.utils.log
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 10:29
|
||||
* Desc:日志快捷使用接口
|
||||
*/
|
||||
interface ILog {
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* 清理(退出APP时调用)
|
||||
*/
|
||||
fun onCleared() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认日志Tag
|
||||
*/
|
||||
fun getLogTag(): String {
|
||||
return this::class.java.simpleName
|
||||
}
|
||||
|
||||
fun logI(message: String, tag: String = getLogTag(), filePrinter: Boolean = false) {
|
||||
LogUtil.i(tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun logV(message: String, tag: String = getLogTag(), filePrinter: Boolean = false) {
|
||||
LogUtil.v(tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun logW(message: String, tag: String = getLogTag(), filePrinter: Boolean = false) {
|
||||
LogUtil.w(tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun logD(message: String, tag: String = getLogTag(), filePrinter: Boolean = false) {
|
||||
LogUtil.d(tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun logE(message: String, tag: String = getLogTag(), filePrinter: Boolean = false) {
|
||||
LogUtil.e(tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun logE(
|
||||
throwable: Throwable,
|
||||
tag: String = getLogTag(),
|
||||
filePrinter: Boolean = false
|
||||
) {
|
||||
LogUtil.e(tag, throwable, filePrinter)
|
||||
}
|
||||
|
||||
fun logE(
|
||||
message: String,
|
||||
throwable: Throwable,
|
||||
tag: String = getLogTag(),
|
||||
filePrinter: Boolean = false
|
||||
) {
|
||||
LogUtil.e(tag, message, throwable, filePrinter)
|
||||
}
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
package com.chuhai.utils.log
|
||||
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 10:29
|
||||
* Desc: 日志打印
|
||||
*/
|
||||
interface LogPrinter {
|
||||
/**
|
||||
* 打印
|
||||
* @param level 级别 [android.util.Log]
|
||||
*/
|
||||
fun println(level: Int, tag: String, message: String)
|
||||
}
|
101
library/src/module_utils/java/com/chuhai/utils/log/LogUtil.kt
Normal file
101
library/src/module_utils/java/com/chuhai/utils/log/LogUtil.kt
Normal file
@@ -0,0 +1,101 @@
|
||||
package com.chuhai.utils.log
|
||||
|
||||
import android.util.Log
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 10:29
|
||||
* Desc:日志工具
|
||||
*/
|
||||
object LogUtil {
|
||||
|
||||
private var consolePrinter: LogPrinter? = AndroidLogPrinter()
|
||||
|
||||
private var filePrinter: LogPrinter? = null
|
||||
|
||||
// 是否启动控制台打印
|
||||
var consolePrinterEnabled: Boolean = true
|
||||
|
||||
// 是否启动文件打印
|
||||
var filePrinterEnabled: Boolean = true
|
||||
|
||||
/**
|
||||
* 设置文件打印
|
||||
*/
|
||||
fun setFilePrinter(filePrinter: LogPrinter) {
|
||||
this.filePrinter = filePrinter
|
||||
}
|
||||
|
||||
fun e(tag: String, message: String, filePrinter: Boolean = false) {
|
||||
log(Log.ERROR, tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun e(tag: String, throwable: Throwable, filePrinter: Boolean = false) {
|
||||
val cause = Log.getStackTraceString(throwable)
|
||||
if (cause.isEmpty()) {
|
||||
return
|
||||
}
|
||||
e(tag, cause, filePrinter)
|
||||
}
|
||||
|
||||
fun e(tag: String, message: String?, throwable: Throwable, filePrinter: Boolean = false) {
|
||||
val cause = Log.getStackTraceString(throwable)
|
||||
if (message == null && cause.isEmpty()) {
|
||||
return
|
||||
}
|
||||
e(tag, message + "\t\t" + cause, filePrinter)
|
||||
}
|
||||
|
||||
fun d(tag: String, message: String, filePrinter: Boolean = false) {
|
||||
log(Log.DEBUG, tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun i(tag: String, message: String, filePrinter: Boolean = false) {
|
||||
log(Log.INFO, tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun v(tag: String, message: String, filePrinter: Boolean = false) {
|
||||
log(Log.VERBOSE, tag, message, filePrinter)
|
||||
}
|
||||
|
||||
fun w(tag: String, message: String, filePrinter: Boolean = false) {
|
||||
log(Log.WARN, tag, message, filePrinter)
|
||||
}
|
||||
|
||||
/**
|
||||
* 输出日志
|
||||
*/
|
||||
fun log(level: Int = Log.INFO, tag: String?, message: String?, filePrinter: Boolean = false) {
|
||||
if (tag.isNullOrEmpty()) {
|
||||
return
|
||||
}
|
||||
if (message.isNullOrEmpty()) {
|
||||
return
|
||||
}
|
||||
// 输出控制台
|
||||
logConsole(level, tag, message)
|
||||
// 输出文件
|
||||
if (filePrinter) {
|
||||
logFile(level, tag, message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 输出到控制台
|
||||
*/
|
||||
fun logConsole(level: Int = Log.INFO, tag: String, message: String) {
|
||||
if (!consolePrinterEnabled) {
|
||||
return
|
||||
}
|
||||
consolePrinter?.println(level, tag, message)
|
||||
}
|
||||
|
||||
/**
|
||||
* 输出到文件
|
||||
*/
|
||||
fun logFile(level: Int = Log.INFO, tag: String, message: String) {
|
||||
if (!filePrinterEnabled) {
|
||||
return
|
||||
}
|
||||
filePrinter?.println(level, tag, message)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user