From 7a5b47300ac1ca894de0ecd4a72bed78758dad4b Mon Sep 17 00:00:00 2001 From: "1105075896@qq.com" <1105075896@qq.com> Date: Sun, 6 Jan 2019 16:00:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=90=86=E6=8B=A6=E6=88=AA=E5=99=A8?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E9=83=A8=E5=88=86=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 92dd50d) --- app/build.gradle | 4 +- .../com/monke/monkeybook/ProxyManager.java | 9 ++-- .../monkeybook/base/ProxyInterceptor.java | 48 +++++++------------ .../monkeybook/common/api/IEasouApi.java | 12 ++--- .../monkeybook/common/api/IGxwztvApi.java | 18 +++---- .../common/api/ILingdiankanshuApi.java | 12 ++--- .../model/impl/GxwztvBookModelImpl.java | 2 +- .../LingdiankanshuStationBookModelImpl.java | 2 +- .../impl/BookDetailPresenterImpl.java | 40 ++++++++++++++-- .../impl/ChoiceBookPresenterImpl.java | 6 +-- .../presenter/impl/ReadBookPresenterImpl.java | 10 ++-- .../presenter/impl/SearchPresenterImpl.java | 12 ++--- .../monkeybook/service/DownloadService.java | 20 ++++---- .../view/popupwindow/DownloadListPop.java | 4 +- 14 files changed, 102 insertions(+), 97 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dd47b98..9500672 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,8 +9,8 @@ android { applicationId "com.monke.monkeybook" minSdkVersion 17 targetSdkVersion 26 - versionCode 12 - versionName "1.3.1" + versionCode 13 + versionName "1.3.2" manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pugongying"] } diff --git a/app/src/main/java/com/monke/monkeybook/ProxyManager.java b/app/src/main/java/com/monke/monkeybook/ProxyManager.java index 492719d..ad80c47 100644 --- a/app/src/main/java/com/monke/monkeybook/ProxyManager.java +++ b/app/src/main/java/com/monke/monkeybook/ProxyManager.java @@ -17,8 +17,8 @@ public class ProxyManager { public static boolean proxyState; public static String proxyHttp; private static final String proxyHttpMatch = "(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?";//http正则表达式 - private static final String proxyPackageNameEncode = "代理包名加密key"; - public static String packAgeEncode; //加密后的包名 + private static final String proxyPackageNameEncode = "代理包名加密key"; //代理包名加密key + public static String packageEncode; //加密后的包名 public static void saveProxyState(boolean state) { proxyState = state; @@ -29,10 +29,10 @@ public class ProxyManager { private static void initProxyState() { try { - packAgeEncode = AESUtil.aesEncode(MApplication.getInstance().getPackageManager().getPackageInfo(MApplication.getInstance().getPackageName(), 0).packageName, proxyPackageNameEncode); + packageEncode = AESUtil.aesEncode(MApplication.getInstance().getPackageManager().getPackageInfo(MApplication.getInstance().getPackageName(), 0).packageName, proxyPackageNameEncode); } catch (Exception e) { e.printStackTrace(); - System.out.println("=================包名获取失败,可能会影响代理请求功能==========="); + System.out.println("=================包名获取失败,可能会影响代理请求功能================="); } proxyState = MApplication.getInstance().getSharedPreferences("CONFIG", 0).getBoolean(SP_KEY_PROXY_STATE, PROXY_STATE_DEFAULT); } @@ -51,6 +51,7 @@ public class ProxyManager { public static void initProxy() { initProxyHttp(); initProxyState(); + hasProxy(); } public static boolean hasProxy() { diff --git a/app/src/main/java/com/monke/monkeybook/base/ProxyInterceptor.java b/app/src/main/java/com/monke/monkeybook/base/ProxyInterceptor.java index 38ec58c..6e48797 100644 --- a/app/src/main/java/com/monke/monkeybook/base/ProxyInterceptor.java +++ b/app/src/main/java/com/monke/monkeybook/base/ProxyInterceptor.java @@ -7,6 +7,7 @@ import org.jsoup.helper.StringUtil; import java.io.IOException; import java.net.URLEncoder; +import okhttp3.HttpUrl; import okhttp3.Interceptor; import okhttp3.Request; import okhttp3.Response; @@ -17,45 +18,28 @@ public class ProxyInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { - Request request = chain.request(); - Response response = request(chain,request); - return response; - } - - private Response request(Chain chain,Request request) throws IOException{ - Response response = null; + Request oldRequest = chain.request(); if (ProxyManager.hasProxy()) { //如果是代理模式则优先请求代理服务器,失败再自行本地请求 - Request requestProxy = null; - String url = request.url().toString(); - if (!StringUtil.isBlank(url)) { - url = URLEncoder.encode(url, "utf-8"); - } - Request.Builder requestProxyBuilder = new Request.Builder() - .url(ProxyManager.proxyHttp); - requestProxyBuilder.headers(request.headers()); - requestProxyBuilder.header("proxyUrl", url) - .header("proxyPackagename",ProxyManager.packAgeEncode); - if(request.method().equalsIgnoreCase("get")){ - requestProxyBuilder.get(); - }else{ - requestProxyBuilder.post(request.body()); + //获取request的创建者builder + Request.Builder builder = oldRequest.newBuilder(); + String oldUrl = oldRequest.url().toString(); + if (!StringUtil.isBlank(oldUrl)) { + oldUrl = URLEncoder.encode(oldUrl, "utf-8"); } - requestProxy = requestProxyBuilder.build(); + HttpUrl newBaseUrl = HttpUrl.parse(ProxyManager.proxyHttp).newBuilder() + .setQueryParameter("proxyUrl",oldUrl) + .setQueryParameter("proxyPackagename",ProxyManager.packageEncode) + .build(); try{ - response = chain.proceed(requestProxy); - if(response.isSuccessful()){ + Response response = chain.proceed(builder.url(newBaseUrl).build()); + if(response.isSuccessful()) { return response; } }catch (Exception e){ - e.printStackTrace(); - }finally { - if(response!=null){ - response.close(); - response = null; - } + } } - response = chain.proceed(request); - return response; + Response oldResponse = chain.proceed(oldRequest); + return oldResponse; } } \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java b/app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java index b069434..c631ded 100644 --- a/app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java +++ b/app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java @@ -14,8 +14,7 @@ public interface IEasouApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookInfo(@Url String url); @@ -23,8 +22,7 @@ public interface IEasouApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable searchBook(@Url String url); @@ -32,8 +30,7 @@ public interface IEasouApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookContent(@Url String url); @@ -41,8 +38,7 @@ public interface IEasouApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getChapterList(@Url String url); } diff --git a/app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java b/app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java index a28356f..16f1a8e 100644 --- a/app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java +++ b/app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java @@ -15,8 +15,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookInfo(@Url String url); @@ -24,8 +23,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable searchBook(@Query("keyword")String content, @Query("pn")int page); @@ -33,8 +31,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookContent(@Url String url); @@ -42,8 +39,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getChapterList(@Url String url); @@ -51,8 +47,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getKindBooks(@Url String url); @@ -60,8 +55,7 @@ public interface IGxwztvApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getLibraryData(@Url String url); } diff --git a/app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java b/app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java index 7657da1..af86c0e 100644 --- a/app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java +++ b/app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java @@ -13,8 +13,7 @@ public interface ILingdiankanshuApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookInfo(@Url String url); @@ -22,8 +21,7 @@ public interface ILingdiankanshuApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable searchBook(@Query("q") String content, @Query("p") int page, @Query("s") String time); @@ -31,8 +29,7 @@ public interface ILingdiankanshuApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getBookContent(@Url String url); @@ -40,8 +37,7 @@ public interface ILingdiankanshuApi { @Headers({"Accept:text/html,application/xhtml+xml,application/xml", "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3", "Accept-Charset:UTF-8", - "Keep-Alive:300", - "Connection:Keep-Alive", + "Connection:close", "Cache-Control:no-cache"}) Observable getChapterList(@Url String url); } diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java index 2f011b8..84fa0ba 100644 --- a/app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java +++ b/app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java @@ -237,7 +237,7 @@ public class GxwztvBookModelImpl extends MBaseModelImpl implements IGxwztvBookMo return analyChapterList(s, bookShelfBean); } }) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @Override diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java index d10519a..97cf46c 100644 --- a/app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java +++ b/app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java @@ -143,7 +143,7 @@ public class LingdiankanshuStationBookModelImpl extends MBaseModelImpl implement return analyChapterList(s, bookShelfBean); } }) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @Override diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java index b7b2009..dc4fcf0 100644 --- a/app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java @@ -30,7 +30,9 @@ import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.ObservableSource; +import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; import io.reactivex.functions.Function; import io.reactivex.schedulers.Schedulers; @@ -108,12 +110,14 @@ public class BookDetailPresenterImpl extends BasePresenterImpl for(int i=0;ibindUntilEvent(ActivityEvent.DESTROY)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @@ -155,7 +159,7 @@ public class BookDetailPresenterImpl extends BasePresenterImpl e.onNext(true); e.onComplete(); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) .subscribe(new SimpleObserver() { @@ -196,7 +200,7 @@ public class BookDetailPresenterImpl extends BasePresenterImpl e.onNext(true); e.onComplete(); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) .subscribe(new SimpleObserver() { @@ -285,4 +289,34 @@ public class BookDetailPresenterImpl extends BasePresenterImpl mView.updateView(); } } + + public static void main(String[] args) { + final BookShelfBean bookShelfResult = new BookShelfBean(); + bookShelfResult.setNoteUrl("http://www.gxwztv.com/ba598.shtml"); + bookShelfResult.setFinalDate(System.currentTimeMillis()); + bookShelfResult.setDurChapter(0); + bookShelfResult.setDurChapterPage(0); + bookShelfResult.setTag("http://www.gxwztv.com"); + WebBookModelImpl.getInstance().getBookInfo(bookShelfResult).subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + System.out.println("-------------subscribe"); + } + + @Override + public void onNext(BookShelfBean bookShelfBean) { + System.out.println("-------------next"); + } + + @Override + public void onError(Throwable e) { + System.out.println("-------------error"); + } + + @Override + public void onComplete() { + System.out.println("-------------complete"); + } + }); + } } diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java index 07c0737..f9bab37 100644 --- a/app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java @@ -48,7 +48,7 @@ public class ChoiceBookPresenterImpl extends BasePresenterImpl temp = new ArrayList(); e.onNext(temp); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @Override @@ -85,7 +85,7 @@ public class ChoiceBookPresenterImpl extends BasePresenterImpl private void searchBook(final long searchTime) { WebBookModelImpl.getInstance().getKindBook(url, page) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .compose(((BaseActivity)mView.getContext()).>bindUntilEvent(ActivityEvent.DESTROY)) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @@ -129,7 +129,7 @@ public class ChoiceBookPresenterImpl extends BasePresenterImpl bookShelfResult.setDurChapterPage(0); bookShelfResult.setTag(searchBookBean.getTag()); WebBookModelImpl.getInstance().getBookInfo(bookShelfResult) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) .subscribe(new SimpleObserver() { diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java index 04fa4bf..ea9d9a0 100644 --- a/app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java @@ -94,13 +94,13 @@ public class ReadBookPresenterImpl extends BasePresenterImpl impl mView.showLoadBook(); getRealFilePath(activity, uri) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver() { @Override public void onNext(String value) { ImportBookModelImpl.getInstance().importBook(new File(value)) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver() { @Override public void onNext(LocBookShelfBean value) { @@ -211,7 +211,7 @@ public class ReadBookPresenterImpl extends BasePresenterImpl impl e.onComplete(); } }).observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .compose(((BaseActivity) mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) .subscribe(new SimpleObserver() { @Override @@ -233,7 +233,7 @@ public class ReadBookPresenterImpl extends BasePresenterImpl impl } }) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .compose(((BaseActivity) mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) .subscribe(new SimpleObserver() { @Override @@ -287,7 +287,7 @@ public class ReadBookPresenterImpl extends BasePresenterImpl impl e.onNext(bookShelf); e.onComplete(); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver() { @Override public void onNext(BookShelfBean value) { diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java index 5268326..bbdb60d 100644 --- a/app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java @@ -65,7 +65,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen e.onNext(temp); e.onComplete(); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @Override @@ -132,7 +132,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen } e.onNext(searchHistoryBean); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override @@ -157,7 +157,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen int a = DbHelper.getInstance().getDb().delete(SearchHistoryBeanDao.TABLENAME, SearchHistoryBeanDao.Properties.Type.columnName + "=? and " + SearchHistoryBeanDao.Properties.Content.columnName + " like ?", new String[]{String.valueOf(type), "%" + content + "%"}); e.onNext(a); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override @@ -189,7 +189,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen .build().list(); e.onNext(datas); } - }).subscribeOn(Schedulers.newThread()) + }).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver>() { @Override @@ -264,7 +264,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen final int finalSearchEngineIndex = searchEngineIndex; WebBookModelImpl.getInstance().searchOtherBook(content, page, (String) searchEngine.get(searchEngineIndex).get(TAG_KEY)) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver>() { @Override public void onNext(List value) { @@ -332,7 +332,7 @@ public class SearchPresenterImpl extends BasePresenterImpl implemen bookShelfResult.setDurChapterPage(0); bookShelfResult.setTag(searchBookBean.getTag()); WebBookModelImpl.getInstance().getBookInfo(bookShelfResult) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override diff --git a/app/src/main/java/com/monke/monkeybook/service/DownloadService.java b/app/src/main/java/com/monke/monkeybook/service/DownloadService.java index e6902b6..df87ad1 100644 --- a/app/src/main/java/com/monke/monkeybook/service/DownloadService.java +++ b/app/src/main/java/com/monke/monkeybook/service/DownloadService.java @@ -133,8 +133,8 @@ public class DownloadService extends Service { e.onComplete(); } }) - .subscribeOn(AndroidSchedulers.mainThread()) - .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override public void onNext(DownloadChapterBean value) { @@ -149,8 +149,8 @@ public class DownloadService extends Service { e.onComplete(); } }) - .subscribeOn(AndroidSchedulers.mainThread()) - .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override public void onNext(Object value) { @@ -220,7 +220,7 @@ public class DownloadService extends Service { } }) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver() { @Override public void onNext(BookContentBean value) { @@ -258,7 +258,7 @@ public class DownloadService extends Service { } }) .observeOn(AndroidSchedulers.mainThread()) - .subscribeOn(Schedulers.newThread()) + .subscribeOn(Schedulers.io()) .subscribe(new SimpleObserver() { @Override public void onNext(Boolean value) { @@ -309,8 +309,8 @@ public class DownloadService extends Service { e.onComplete(); } }) - .subscribeOn(AndroidSchedulers.mainThread()) - .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -359,8 +359,8 @@ public class DownloadService extends Service { } e.onComplete(); } - }).subscribeOn(AndroidSchedulers.mainThread()) - .observeOn(Schedulers.io()) + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override public void onNext(DownloadChapterBean value) { diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java index 232b36a..f567b8b 100644 --- a/app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java @@ -113,8 +113,8 @@ public class DownloadListPop extends PopupWindow { e.onComplete(); } }) - .subscribeOn(AndroidSchedulers.mainThread()) - .observeOn(Schedulers.io()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) .subscribe(new SimpleObserver() { @Override public void onNext(DownloadChapterBean value) {