package com.benyanyi.okhttp.download; import android.content.Context; import com.benyanyi.okhttp.listener.OnDownLoadObserver; import com.benyanyi.okhttp.util.FormatUtil; /** * @author YanYi * @date 2019-08-15 10:23 * @email ben@yanyi.red * @overview */ public class DownloadCall implements DownloadConfig { private Context mContext; private String url; private String suffix; private DownloadCall(Builder builder) { this.mContext = builder.mContext; this.url = builder.url; this.suffix = builder.suffix; } @Override public void start() { if (FormatUtil.isEmpty(this.suffix)) { DownloadManager.getInstance(mContext).download(url); } else { DownloadManager.getInstance(mContext).download(url, suffix); } } @Override public void start(OnDownLoadObserver onDownLoadObserver) { if (FormatUtil.isEmpty(this.suffix)) { DownloadManager.getInstance(mContext).download(url, onDownLoadObserver); } else { DownloadManager.getInstance(mContext).download(url, suffix, onDownLoadObserver); } } @Override public void pause() { DownloadManager.getInstance(mContext).pause(url); } @Override public void cancel() { DownloadManager.getInstance(mContext).cancel(url); } public static class Builder { private Context mContext; private String url; private String suffix; public Builder setContext(Context mContext) { this.mContext = mContext; return this; } public Builder setUrl(String url) { this.url = url; return this; } public Builder setSuffix(String suffix) { this.suffix = suffix; return this; } public DownloadConfig builder() { return new DownloadCall(this); } } }