package com.casic.br.extensions import android.content.Context import com.casic.smarttube.callback.OnImageCompressListener import com.pengxh.kt.lite.extensions.createCompressImageDir import top.zibin.luban.Luban import top.zibin.luban.OnCompressListener import java.io.File import java.util.* import java.util.regex.Pattern /** * String扩展方法 */ fun String.compressImage(context: Context, listener: OnImageCompressListener) { Luban.with(context) .load(this) .ignoreBy(100) .setTargetDir(context.createCompressImageDir().toString()) .filter { !(it.isBlank() || it.lowercase(Locale.getDefault()).endsWith(".gif")) } .setCompressListener(object : OnCompressListener { override fun onStart() { } override fun onSuccess(file: File) { listener.onSuccess(file) } override fun onError(e: Throwable) { listener.onError(e) } }).launch() }