package com.cc.patten

/**
 * Created by clevercong on 2017/10/15.
 * 用于正则表达式匹配的字符串，从这里获取。
 */

fun getLogTagPattenString() : String = "startElement|endElement"

// 当前调试先用这个也OK，但是下面的更严谨一些，且符合新版本Log文件名格式。
fun getFileNamePattenString() : String = "rillogcat-log.[0-9]{1}"
fun getFileNamePattenStringV2() : String = "rillogcat-log.[0-9]{8}-[0-9]{6}"

const val VERSION_INCLUDE_DATE = 2
const val VERSION_NOT_INCLUDE_DATE = 1
const val VERSION_UNKNOWN = 0
/**
 * fileName: Log文件名
 * return 2: version 2 含有日期（新版）
 * return 1: version 1 不含有日期
 * return 0: version unknown 暂时没有用
 */
fun getFileNameVersion(fileName: String) : Int {
    val pattenV1 = getFileNamePattenString().toRegex()
    val pattenV2 = getFileNamePattenStringV2().toRegex()
    return when {
        pattenV2.containsMatchIn(fileName) -> VERSION_INCLUDE_DATE
        pattenV1.containsMatchIn(fileName) -> VERSION_NOT_INCLUDE_DATE
        else -> VERSION_UNKNOWN
    }
}