|
|
@@ -20,8 +20,10 @@ import java.util.concurrent.ExecutionException;
|
|
|
import java.util.concurrent.FutureTask;
|
|
|
|
|
|
import io.reactivex.Observable;
|
|
|
+import io.reactivex.Observer;
|
|
|
import io.reactivex.Scheduler;
|
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
import io.reactivex.functions.Action;
|
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
|
|
|
@@ -59,30 +61,61 @@ public class HtmlImageGetterUtil implements Html.ImageGetter{
|
|
|
FutureTask<Drawable> drawableFutureTask;
|
|
|
private void getHtmlDrawable(String source){
|
|
|
|
|
|
- drawableFutureTask = new FutureTask<Drawable>(new Callable<Drawable>() {
|
|
|
+ drawableFutureTask = new FutureTask<Drawable>(new Runnable() {
|
|
|
@Override
|
|
|
- public Drawable call() throws Exception {
|
|
|
+ public void run() {
|
|
|
InputStream inputStream = null;
|
|
|
try {
|
|
|
inputStream = (InputStream) new URL(source).getContent();
|
|
|
drawable = Drawable.createFromStream(inputStream, "src");
|
|
|
drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
|
|
|
inputStream.close();
|
|
|
- return drawable;
|
|
|
+ LogUtil.e("getHtmlDrawable","..................");
|
|
|
} catch (Exception e) {
|
|
|
- return null;
|
|
|
+ LogUtil.e("getHtmlDrawable",".................." + e.toString());
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ },drawable);
|
|
|
|
|
|
- Scheduler.Worker worker = Schedulers.io().createWorker();
|
|
|
- worker.schedule(new Runnable() {
|
|
|
+// drawableFutureTask = new FutureTask<Drawable>(new Callable<Drawable>() {
|
|
|
+// @Override
|
|
|
+// public Drawable call() throws Exception {
|
|
|
+// InputStream inputStream = null;
|
|
|
+// try {
|
|
|
+// inputStream = (InputStream) new URL(source).getContent();
|
|
|
+// drawable = Drawable.createFromStream(inputStream, "src");
|
|
|
+// drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
|
|
|
+// inputStream.close();
|
|
|
+// LogUtil.e("getHtmlDrawable","..................");
|
|
|
+// return drawable;
|
|
|
+// } catch (Exception e) {
|
|
|
+// LogUtil.e("getHtmlDrawable",".................." + e.toString());
|
|
|
+// return null;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// });
|
|
|
+
|
|
|
+ Observable.fromFuture(drawableFutureTask).subscribe(new Observer<Drawable>() {
|
|
|
@Override
|
|
|
- public void run() {
|
|
|
+ public void onSubscribe(Disposable d) {
|
|
|
+ LogUtil.e("onSubscribe","..................");
|
|
|
drawableFutureTask.run();
|
|
|
}
|
|
|
- });
|
|
|
|
|
|
- Observable<Drawable> observable = Observable.fromFuture(drawableFutureTask);
|
|
|
+ @Override
|
|
|
+ public void onNext(Drawable drawable) {
|
|
|
+ LogUtil.e("onNext","..................");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Throwable e) {
|
|
|
+ LogUtil.e("onError",".................." + e.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onComplete() {
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|