package com.example.smart.image; import android.content.Context; import android.net.Uri; import com.luck.picture.lib.engine.CompressFileEngine; import com.luck.picture.lib.interfaces.OnKeyValueResultCallbackListener; import java.io.File; import java.util.ArrayList; import top.zibin.luban.Luban; import top.zibin.luban.OnNewCompressListener; /** * 压缩引擎 */ public class CompressEngine implements CompressFileEngine { @Override public void onStartCompress(Context context, ArrayList source, OnKeyValueResultCallbackListener call) { Luban.with(context).load(source).ignoreBy(100) .setCompressListener(new OnNewCompressListener() { @Override public void onStart() { } @Override public void onSuccess(String source, File compressFile) { if (call != null) { call.onCallback(source, compressFile.getAbsolutePath()); } } @Override public void onError(String source, Throwable e) { if (call != null) { call.onCallback(source, null); } } }).launch(); } }