Browse Source

InterceptorUtil.java
LogUtil.java

niusongtao@dl-cg.com 5 years ago
parent
commit
f15456a9fc

+ 27 - 38
base_library/src/main/java/com/mgtech/base_library/util/HtmlImageGetterUtil.java

@@ -18,6 +18,8 @@ import java.net.URL;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.FutureTask;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 
 
 import io.reactivex.Observable;
 import io.reactivex.Observable;
 import io.reactivex.Observer;
 import io.reactivex.Observer;
@@ -51,8 +53,8 @@ public class HtmlImageGetterUtil implements Html.ImageGetter{
     public Drawable getDrawable(String source) {
     public Drawable getDrawable(String source) {
         getHtmlDrawable(source);
         getHtmlDrawable(source);
         try {
         try {
-            return drawableFutureTask.get();
-        } catch (ExecutionException | InterruptedException e) {
+            return drawableFutureTask.get(2000, TimeUnit.MILLISECONDS);
+        } catch (ExecutionException | InterruptedException | TimeoutException e) {
             e.printStackTrace();
             e.printStackTrace();
             return null;
             return null;
         }
         }
@@ -61,25 +63,9 @@ public class HtmlImageGetterUtil implements Html.ImageGetter{
     FutureTask<Drawable> drawableFutureTask;
     FutureTask<Drawable> drawableFutureTask;
     private void getHtmlDrawable(String source){
     private void getHtmlDrawable(String source){
 
 
-        drawableFutureTask = new FutureTask<Drawable>(new Runnable() {
-            @Override
-            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();
-                    LogUtil.e("getHtmlDrawable","..................");
-                } catch (Exception e) {
-                    LogUtil.e("getHtmlDrawable",".................." + e.toString());
-                }
-            }
-        },drawable);
-
-//        drawableFutureTask = new FutureTask<Drawable>(new Callable<Drawable>() {
+//        drawableFutureTask = new FutureTask<Drawable>(new Runnable() {
 //            @Override
 //            @Override
-//            public Drawable call() throws Exception {
+//            public void run() {
 //                InputStream inputStream = null;
 //                InputStream inputStream = null;
 //                try {
 //                try {
 //                    inputStream = (InputStream) new URL(source).getContent();
 //                    inputStream = (InputStream) new URL(source).getContent();
@@ -87,35 +73,38 @@ public class HtmlImageGetterUtil implements Html.ImageGetter{
 //                    drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
 //                    drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
 //                    inputStream.close();
 //                    inputStream.close();
 //                    LogUtil.e("getHtmlDrawable","..................");
 //                    LogUtil.e("getHtmlDrawable","..................");
-//                    return drawable;
 //                } catch (Exception e) {
 //                } catch (Exception e) {
 //                    LogUtil.e("getHtmlDrawable",".................." + e.toString());
 //                    LogUtil.e("getHtmlDrawable",".................." + e.toString());
-//                    return null;
 //                }
 //                }
 //            }
 //            }
-//        });
+//        },drawable);
 
 
-        Observable.fromFuture(drawableFutureTask).subscribe(new Observer<Drawable>() {
+        Scheduler.Worker worker = Schedulers.io().createWorker();
+        worker.schedule(new Runnable() {
             @Override
             @Override
-            public void onSubscribe(Disposable d) {
-                LogUtil.e("onSubscribe","..................");
+            public void run() {
                 drawableFutureTask.run();
                 drawableFutureTask.run();
             }
             }
+        });
 
 
+        drawableFutureTask = new FutureTask<Drawable>(new Callable<Drawable>() {
             @Override
             @Override
-            public void onNext(Drawable drawable) {
-                LogUtil.e("onNext","..................");
-            }
-
-            @Override
-            public void onError(Throwable e) {
-                LogUtil.e("onError",".................." + e.toString());
-            }
-
-            @Override
-            public void onComplete() {
-
+            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<Drawable> observable = Observable.fromFuture(drawableFutureTask);
     }
     }
 }
 }