Versions.kt 746 Bytes
package com.cmvideo.output.service.compatibility

import android.os.Build

/**
 * 作者 :  hl
 * 时间 :  2023/8/9
 * 描述 :
 **/

/**
 * 分版本执行
 */
inline fun doWithVersion(
    doWhileVersionAboveOrEqual: (() -> Unit),
    doWhileVersionBelow: (() -> Unit),
    ver: Int = 17
) {
    if (Build.VERSION.SDK_INT >= ver) {
        doWhileVersionAboveOrEqual.invoke()
    } else {
        doWhileVersionBelow.invoke()
    }
}

inline fun <T> returnWithVersion(
    returnWhileVersionAboveOrEqual: (() -> T),
    returnWhileVersionBelow: (() -> T),
    ver: Int = 17
): T {
    return if (Build.VERSION.SDK_INT >= ver) {
        returnWhileVersionAboveOrEqual.invoke()
    } else {
        returnWhileVersionBelow.invoke()
    }
}