From 04cb229e58d32b3e5942e17ad2dd2b47b4bd64c4 Mon Sep 17 00:00:00 2001 From: "1105075896@qq.com" Date: Thu, 10 Aug 2017 19:21:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 8 + .idea/.name | 1 + .idea/compiler.xml | 22 + .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 6 + .idea/gradle.xml | 19 + .idea/misc.xml | 62 + .idea/modules.xml | 10 + .idea/runConfigurations.xml | 12 + app/.gitignore | 1 + app/build.gradle | 111 + app/libs/autoupdatesdk-release.aar | Bin 0 -> 160179 bytes app/libs/commons-codec-1.10-sources.jar | Bin 0 -> 301033 bytes app/libs/juniversalchardet-1.0.3.jar | Bin 0 -> 206373 bytes app/libs/umeng-analytics-v6.1.1.jar | Bin 0 -> 321807 bytes app/libs/utdid4all-1.0.4.jar | Bin 0 -> 50843 bytes app/proguard-rules.pro | 206 + .../com/monke/monkeybook/ApplicationTest.java | 13 + app/src/main/AndroidManifest.xml | 92 + .../monkeybook/BitIntentDataManager.java | 34 + .../monkeybook/ErrorAnalyContentManager.java | 124 + .../com/monke/monkeybook/MApplication.java | 38 + .../com/monke/monkeybook/ReadBookControl.java | 176 + .../monke/monkeybook/base/MBaseActivity.java | 19 + .../base/observer/SimpleObserClass.java | 37 + .../base/observer/SimpleObserver.java | 17 + .../monkeybook/bean/BookContentBean.java | 143 + .../monke/monkeybook/bean/BookInfoBean.java | 212 + .../monke/monkeybook/bean/BookShelfBean.java | 144 + .../monkeybook/bean/ChapterListBean.java | 148 + .../monkeybook/bean/DownloadChapterBean.java | 136 + .../bean/DownloadChapterListBean.java | 51 + .../monke/monkeybook/bean/LibraryBean.java | 24 + .../bean/LibraryKindBookListBean.java | 33 + .../monkeybook/bean/LibraryNewBookBean.java | 47 + .../monkeybook/bean/LibraryRankBean.java | 31 + .../monkeybook/bean/LocBookShelfBean.java | 27 + .../monkeybook/bean/ReadBookContentBean.java | 29 + .../monke/monkeybook/bean/SearchBookBean.java | 179 + .../monkeybook/bean/SearchHistoryBean.java | 56 + .../monke/monkeybook/bean/WebChapterBean.java | 28 + .../monke/monkeybook/bean/WebContentBean.java | 27 + .../com/monke/monkeybook/cache/ACache.java | 912 +++++ .../com/monke/monkeybook/common/RxBusTag.java | 25 + .../monkeybook/common/api/IEasouApi.java | 44 + .../monkeybook/common/api/IGxwztvApi.java | 66 + .../common/api/ILingdiankanshuApi.java | 46 + .../monkeybook/dao/BookContentBeanDao.java | 143 + .../monke/monkeybook/dao/BookInfoBeanDao.java | 213 + .../monkeybook/dao/BookShelfBeanDao.java | 141 + .../monkeybook/dao/ChapterListBeanDao.java | 171 + .../com/monke/monkeybook/dao/DaoMaster.java | 111 + .../com/monke/monkeybook/dao/DaoSession.java | 118 + .../com/monke/monkeybook/dao/DbHelper.java | 40 + .../dao/DownloadChapterBeanDao.java | 185 + .../monkeybook/dao/SearchHistoryBeanDao.java | 136 + .../listener/OnGetChapterListListener.java | 8 + .../monkeybook/model/IEasouBookModel.java | 34 + .../monkeybook/model/IGxwztvBookModel.java | 24 + .../monkeybook/model/IImportBookModel.java | 14 + .../monkeybook/model/IStationBookModel.java | 33 + .../monke/monkeybook/model/IWebBookModel.java | 39 + .../monkeybook/model/IWebContentModel.java | 6 + .../model/impl/Content17duxsModelImpl.java | 36 + .../model/impl/Content17kModelImpl.java | 39 + .../model/impl/Content3dllcModelImpl.java | 36 + .../model/impl/Content44pqModelImpl.java | 36 + .../model/impl/Content630bookCCModelImpl.java | 38 + .../model/impl/Content92zwModelImpl.java | 36 + .../model/impl/ContentAszwModelImpl.java | 38 + .../model/impl/ContentBaishukuModelImpl.java | 38 + .../model/impl/ContentBxwx9ModelImpl.java | 36 + .../model/impl/ContentCommendModelImpl.java | 45 + .../model/impl/ContentDhzwModelImpl.java | 38 + .../model/impl/ContentEasouModelImpl.java | 38 + .../model/impl/ContentFuheishuModelImpl.java | 42 + .../model/impl/ContentKewaishuModelImpl.java | 38 + .../model/impl/ContentLeduwoModelImpl.java | 36 + .../model/impl/ContentLewen8ModelImpl.java | 36 + .../model/impl/ContentPbtxtModelImpl.java | 37 + .../model/impl/ContentPpxsModelImpl.java | 38 + .../model/impl/ContentQulaModelImpl.java | 38 + .../model/impl/ContentQzreadModelImpl.java | 38 + .../model/impl/ContentRanwenaModelImpl.java | 38 + .../model/impl/ContentShulouModelImpl.java | 27 + .../model/impl/ContentSnwx8ModelImpl.java | 36 + .../model/impl/ContentSuimengModelImpl.java | 38 + .../model/impl/ContentSyzwwModelImpl.java | 39 + .../model/impl/ContentVodtwModelImpl.java | 43 + .../model/impl/ContentWxguanModelImpl.java | 36 + .../impl/ContentXqingdouCCModelImpl.java | 37 + .../model/impl/ContentXqingdouModelImpl.java | 36 + .../model/impl/ContentYb3ModelImpl.java | 61 + .../model/impl/ContentZhulangModelImpl.java | 39 + .../model/impl/EasouBookModelImpl.java | 555 +++ .../model/impl/GxwztvBookModelImpl.java | 355 ++ .../model/impl/ImportBookModelImpl.java | 184 + .../LingdiankanshuStationBookModelImpl.java | 247 ++ .../model/impl/WebBookModelImpl.java | 130 + .../presenter/IBookDetailPresenter.java | 22 + .../presenter/IBookReadPresenter.java | 36 + .../presenter/IChoiceBookPresenter.java | 17 + .../presenter/IImportBookPresenter.java | 12 + .../presenter/ILibraryPresenter.java | 11 + .../monkeybook/presenter/IMainPresenter.java | 7 + .../presenter/ISearchPresenter.java | 29 + .../impl/BookDetailPresenterImpl.java | 249 ++ .../impl/ChoiceBookPresenterImpl.java | 244 ++ .../impl/ImportBookPresenterImpl.java | 110 + .../presenter/impl/LibraryPresenterImpl.java | 120 + .../presenter/impl/MainPresenterImpl.java | 153 + .../presenter/impl/ReadBookPresenterImpl.java | 438 ++ .../presenter/impl/SearchPresenterImpl.java | 435 ++ .../monkeybook/service/DownloadService.java | 448 +++ .../monkeybook/utils/BlurTransformation.java | 95 + .../monke/monkeybook/utils/DensityUtil.java | 89 + .../monke/monkeybook/utils/NetworkUtil.java | 43 + .../monke/monkeybook/utils/NumberUtil.java | 62 + .../monkeybook/utils/PremissionCheck.java | 76 + .../monkeybook/view/IBookDetailView.java | 9 + .../monke/monkeybook/view/IBookReadView.java | 27 + .../monkeybook/view/IChoiceBookView.java | 29 + .../monkeybook/view/IImportBookView.java | 15 + .../monke/monkeybook/view/ILibraryView.java | 10 + .../com/monke/monkeybook/view/IMainView.java | 24 + .../monke/monkeybook/view/ISearchView.java | 37 + .../view/adapter/BookShelfAdapter.java | 421 ++ .../view/adapter/ChapterListAdapter.java | 93 + .../view/adapter/ChoiceBookAdapter.java | 177 + .../view/adapter/ImportBookAdapter.java | 125 + .../view/adapter/SearchBookAdapter.java | 180 + .../view/adapter/SearchHistoryAdapter.java | 53 + .../view/impl/BookDetailActivity.java | 250 ++ .../view/impl/ChoiceBookActivity.java | 198 + .../view/impl/ImportBookActivity.java | 220 ++ .../monkeybook/view/impl/LibraryActivity.java | 232 ++ .../monkeybook/view/impl/MainActivity.java | 242 ++ .../view/impl/ReadBookActivity.java | 566 +++ .../monkeybook/view/impl/SearchActivity.java | 526 +++ .../monkeybook/view/impl/WelcomeActivity.java | 83 + .../view/popupwindow/CheckAddShelfPop.java | 60 + .../view/popupwindow/DownloadListPop.java | 178 + .../monkeybook/view/popupwindow/FontPop.java | 168 + .../view/popupwindow/MoreSettingPop.java | 69 + .../view/popupwindow/ReadBookMenuMorePop.java | 38 + .../view/popupwindow/WindowLightPop.java | 168 + .../monkeybook/widget/ChapterListView.java | 164 + .../monke/monkeybook/widget/MTextView.java | 33 + .../monkeybook/widget/RecyclerViewBar.java | 241 ++ .../widget/checkbox/SmoothCheckBox.java | 402 ++ .../contentswitchview/BookContentView.java | 259 ++ .../contentswitchview/ContentSwitchView.java | 518 +++ .../widget/flowlayout/FlowLayout.java | 221 ++ .../widget/flowlayout/TagAdapter.java | 82 + .../widget/flowlayout/TagFlowLayout.java | 340 ++ .../monkeybook/widget/flowlayout/TagView.java | 68 + .../libraryview/LibraryKindBookAdapter.java | 80 + .../libraryview/LibraryKindBookListView.java | 72 + .../libraryview/LibraryKindBookView.java | 82 + .../libraryview/LibraryNewBooksAdapter.java | 46 + .../libraryview/LibraryNewBooksView.java | 61 + .../widget/modialog/MoProgressHUD.java | 299 ++ .../widget/modialog/MoProgressView.java | 179 + .../refreshview/BaseRefreshListener.java | 6 + .../refreshview/OnLoadMoreListener.java | 8 + .../OnRefreshWithProgressListener.java | 6 + .../refreshview/RefreshProgressBar.java | 259 ++ .../refreshview/RefreshRecyclerView.java | 276 ++ .../RefreshRecyclerViewAdapter.java | 177 + .../widget/refreshview/RefreshScrollView.java | 101 + .../main/res/anim/anim_act_importbook_in.xml | 7 + .../main/res/anim/anim_act_importbook_out.xml | 7 + app/src/main/res/anim/anim_bookshelf_item.xml | 7 + .../main/res/anim/anim_pop_chapterlist_in.xml | 6 + .../res/anim/anim_pop_chapterlist_out.xml | 6 + .../res/anim/anim_pop_checkaddshelf_in.xml | 12 + .../res/anim/anim_pop_checkaddshelf_out.xml | 12 + .../main/res/anim/anim_pop_moresetting_in.xml | 6 + .../res/anim/anim_pop_moresetting_out.xml | 6 + .../main/res/anim/anim_pop_windowlight_in.xml | 12 + .../res/anim/anim_pop_windowlight_out.xml | 12 + .../res/anim/anim_pop_windowmenumore_in.xml | 15 + .../res/anim/anim_pop_windowmenumore_out.xml | 15 + .../main/res/anim/anim_readbook_bottom_in.xml | 7 + .../res/anim/anim_readbook_bottom_out.xml | 7 + .../main/res/anim/anim_readbook_top_in.xml | 7 + .../main/res/anim/anim_readbook_top_out.xml | 7 + .../main/res/anim/moprogress_bottom_in.xml | 8 + .../main/res/anim/moprogress_bottom_out.xml | 9 + app/src/main/res/anim/moprogress_in.xml | 17 + .../res/anim/moprogress_in_bottom_right.xml | 17 + .../main/res/anim/moprogress_in_top_right.xml | 17 + app/src/main/res/anim/moprogress_out.xml | 17 + .../res/anim/moprogress_out_bottom_right.xml | 17 + .../res/anim/moprogress_out_top_right.xml | 17 + .../main/res/color/selector_kind_tv_color.xml | 5 + app/src/main/res/drawable-v21/bg_ib_pre.xml | 3 + app/src/main/res/drawable-v21/bg_ib_pre2.xml | 5 + app/src/main/res/drawable-v21/bg_ib_pre3.xml | 5 + .../res/drawable-xxhdpi/bg_btn_watch_nor.png | Bin 0 -> 1457 bytes .../res/drawable-xxhdpi/bg_btn_watch_sel.png | Bin 0 -> 1717 bytes .../res/drawable-xxhdpi/bg_readbook_black.png | Bin 0 -> 145033 bytes .../res/drawable-xxhdpi/bg_readbook_green.png | Bin 0 -> 21560 bytes .../drawable-xxhdpi/bg_readbook_yellow.png | Bin 0 -> 310260 bytes .../main/res/drawable-xxhdpi/bg_search.9.png | Bin 0 -> 4619 bytes .../main/res/drawable-xxhdpi/bg_shadow.png | Bin 0 -> 340 bytes .../main/res/drawable-xxhdpi/bg_shadow2.png | Bin 0 -> 3127 bytes .../main/res/drawable-xxhdpi/bg_welcome.png | Bin 0 -> 249297 bytes .../main/res/drawable-xxhdpi/icon_add_nor.png | Bin 0 -> 186 bytes .../main/res/drawable-xxhdpi/icon_add_sel.png | Bin 0 -> 186 bytes .../res/drawable-xxhdpi/icon_catalog_nor.png | Bin 0 -> 1863 bytes .../res/drawable-xxhdpi/icon_catalog_pre.png | Bin 0 -> 500 bytes .../main/res/drawable-xxhdpi/icon_close.png | Bin 0 -> 1655 bytes .../main/res/drawable-xxhdpi/icon_cursor.png | Bin 0 -> 396 bytes .../res/drawable-xxhdpi/icon_download.png | Bin 0 -> 2130 bytes .../icon_download_main_nor.png | Bin 0 -> 861 bytes .../icon_download_main_pre.png | Bin 0 -> 879 bytes .../res/drawable-xxhdpi/icon_font_nor.png | Bin 0 -> 2188 bytes .../res/drawable-xxhdpi/icon_font_pre.png | Bin 0 -> 713 bytes .../res/drawable-xxhdpi/icon_library_nor.png | Bin 0 -> 806 bytes .../res/drawable-xxhdpi/icon_library_sel.png | Bin 0 -> 805 bytes .../res/drawable-xxhdpi/icon_light_nor.png | Bin 0 -> 3078 bytes .../res/drawable-xxhdpi/icon_light_pre.png | Bin 0 -> 742 bytes .../res/drawable-xxhdpi/icon_money_nor.png | Bin 0 -> 1396 bytes .../res/drawable-xxhdpi/icon_money_sel.png | Bin 0 -> 1397 bytes .../icon_monkovel_big_black.png | Bin 0 -> 5785 bytes .../icon_monkovel_big_white.png | Bin 0 -> 3728 bytes .../drawable-xxhdpi/icon_monkovel_black.png | Bin 0 -> 5428 bytes .../drawable-xxhdpi/icon_monkovel_white.png | Bin 0 -> 5355 bytes .../res/drawable-xxhdpi/icon_more_nor.png | Bin 0 -> 617 bytes .../res/drawable-xxhdpi/icon_more_pre.png | Bin 0 -> 582 bytes .../drawable-xxhdpi/icon_readbook_black.png | Bin 0 -> 8769 bytes .../drawable-xxhdpi/icon_readbook_green.png | Bin 0 -> 1756 bytes .../drawable-xxhdpi/icon_readbook_white.png | Bin 0 -> 142 bytes .../drawable-xxhdpi/icon_readbook_yellow.png | Bin 0 -> 29330 bytes .../res/drawable-xxhdpi/icon_return_nor.png | Bin 0 -> 545 bytes .../res/drawable-xxhdpi/icon_return_pre.png | Bin 0 -> 545 bytes .../res/drawable-xxhdpi/icon_search_nor.png | Bin 0 -> 574 bytes .../res/drawable-xxhdpi/icon_search_sel.png | Bin 0 -> 545 bytes .../main/res/drawable-xxhdpi/icon_select.png | Bin 0 -> 187 bytes .../res/drawable-xxhdpi/icon_setting_nor.png | Bin 0 -> 2820 bytes .../res/drawable-xxhdpi/icon_setting_pre.png | Bin 0 -> 882 bytes .../main/res/drawable-xxhdpi/icon_slider.png | Bin 0 -> 939 bytes .../main/res/drawable-xxhdpi/icon_text.png | Bin 0 -> 2562 bytes .../drawable-xxhdpi/img_cover_default.9.png | Bin 0 -> 19313 bytes .../res/drawable-xxhdpi/img_shelf_lastest.png | Bin 0 -> 1540 bytes .../img_shelf_lastest_tips.png | Bin 0 -> 885 bytes .../res/drawable-xxhdpi/img_shelf_other.png | Bin 0 -> 3750 bytes app/src/main/res/drawable/bg_edit.xml | 6 + app/src/main/res/drawable/bg_ib_pre.xml | 4 + app/src/main/res/drawable/bg_ib_pre2.xml | 5 + app/src/main/res/drawable/bg_ib_pre3.xml | 5 + .../main/res/drawable/bg_search_content.xml | 6 + .../main/res/drawable/moprogress_bg_white.xml | 6 + .../res/drawable/selector_bg_download.xml | 5 + .../drawable/selector_bg_download_cancel.xml | 5 + .../main/res/drawable/selector_bg_watch.xml | 5 + .../drawable/selector_book_detail_read_bg.xml | 5 + .../selector_book_detail_shelf_bg.xml | 5 + .../res/drawable/selector_icon_catalog.xml | 5 + .../drawable/selector_icon_donwload_main.xml | 5 + .../main/res/drawable/selector_icon_font.xml | 5 + .../main/res/drawable/selector_icon_light.xml | 5 + .../main/res/drawable/selector_icon_more.xml | 5 + .../res/drawable/selector_icon_return.xml | 5 + .../res/drawable/selector_icon_setting.xml | 5 + .../drawable/selector_importbook_btn_bg.xml | 7 + app/src/main/res/drawable/selector_iv_add.xml | 5 + .../main/res/drawable/selector_iv_library.xml | 5 + .../main/res/drawable/selector_iv_money.xml | 5 + .../main/res/drawable/selector_iv_search.xml | 5 + .../res/drawable/selector_pop_font_bg.xml | 6 + .../res/drawable/selector_pop_font_color.xml | 6 + .../res/drawable/selector_switchbutton.xml | 5 + .../res/drawable/selector_tv_addshelf.xml | 6 + .../drawable/selector_tv_addshelf_text.xml | 6 + .../main/res/drawable/selector_tv_black.xml | 6 + .../main/res/drawable/selector_tv_green.xml | 6 + .../res/drawable/selector_tv_rank_kind.xml | 6 + .../drawable/selector_tv_rank_kind_color.xml | 6 + .../drawable/shape_bg_download_cancel_nor.xml | 7 + .../drawable/shape_bg_download_cancel_pre.xml | 7 + .../res/drawable/shape_bg_download_nor.xml | 6 + .../res/drawable/shape_bg_download_pre.xml | 6 + .../res/drawable/shape_bg_readbook_black.xml | 5 + .../res/drawable/shape_bg_readbook_green.xml | 5 + .../res/drawable/shape_bg_readbook_white.xml | 5 + .../res/drawable/shape_bg_readbook_yellow.xml | 5 + .../drawable/shape_pop_checkaddshelf_bg.xml | 6 + .../res/drawable/shape_pop_font_bg_nor.xml | 7 + .../res/drawable/shape_pop_font_bg_pre.xml | 7 + .../drawable/shape_progress_cursor_read.xml | 5 + .../shape_search_history_roundrect.xml | 6 + ...shape_search_history_roundrect_disable.xml | 8 + .../shape_search_history_roundrect_press.xml | 8 + .../main/res/drawable/shape_text_cursor.xml | 7 + .../main/res/layout/activity_bookchoice.xml | 51 + app/src/main/res/layout/activity_bookread.xml | 256 ++ app/src/main/res/layout/activity_detail.xml | 158 + .../main/res/layout/activity_importbook.xml | 101 + app/src/main/res/layout/activity_library.xml | 121 + app/src/main/res/layout/activity_main.xml | 105 + app/src/main/res/layout/activity_search.xml | 131 + app/src/main/res/layout/activity_welcome.xml | 67 + .../res/layout/adapter_bookshelf_lastest.xml | 126 + .../res/layout/adapter_bookshelf_other.xml | 149 + .../layout/adapter_content_switch_item.xml | 123 + .../layout/adapter_library_hotauthor_item.xml | 13 + .../res/layout/adapter_library_kindbook.xml | 56 + .../res/layout/adapter_searchbook_item.xml | 179 + .../res/layout/adapter_searchhistory_item.xml | 13 + .../moprogress_dialog_downloadchoice.xml | 143 + .../res/layout/moprogress_dialog_infor.xml | 50 + .../res/layout/moprogress_dialog_loading.xml | 44 + .../main/res/layout/moprogress_dialog_two.xml | 54 + .../res/layout/view_adapter_chapterlist.xml | 30 + .../res/layout/view_adapter_importbook.xml | 95 + app/src/main/res/layout/view_chapterlist.xml | 57 + app/src/main/res/layout/view_kind.xml | 30 + .../res/layout/view_library_hotauthor.xml | 24 + .../main/res/layout/view_library_kindbook.xml | 43 + .../res/layout/view_pop_checkaddshelf.xml | 58 + .../main/res/layout/view_pop_downloadlist.xml | 119 + app/src/main/res/layout/view_pop_font.xml | 142 + app/src/main/res/layout/view_pop_menumore.xml | 42 + .../main/res/layout/view_pop_moresetting.xml | 74 + .../main/res/layout/view_pop_windowlight.xml | 69 + .../main/res/layout/view_refresh_loadmore.xml | 17 + .../res/layout/view_refresh_recyclerview.xml | 20 + .../res/layout/view_searchbook_nodata.xml | 19 + .../layout/view_searchbook_refresherror.xml | 30 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 18258 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 17041 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 19350 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 24989 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 24989 bytes app/src/main/res/values/attr.xml | 38 + app/src/main/res/values/colors.xml | 19 + app/src/main/res/values/dimens.xml | 5 + app/src/main/res/values/strings.xml | 18 + app/src/main/res/values/styles.xml | 40 + .../com/monke/monkeybook/ExampleUnitTest.java | 14 + basemvplib/.gitignore | 1 + basemvplib/build.gradle | 46 + basemvplib/proguard-rules.pro | 35 + .../com/monke/basemvplib/ApplicationTest.java | 13 + basemvplib/src/main/AndroidManifest.xml | 8 + .../monke/basemvplib/AppActivityManager.java | 115 + .../com/monke/basemvplib/BaseApplication.java | 10 + .../com/monke/basemvplib/EncodoConverter.java | 44 + .../java/com/monke/basemvplib/IPresenter.java | 15 + .../main/java/com/monke/basemvplib/IView.java | 7 + .../monke/basemvplib/impl/BaseActivity.java | 140 + .../monke/basemvplib/impl/BaseFragment.java | 67 + .../monke/basemvplib/impl/BaseModelImpl.java | 39 + .../basemvplib/impl/BasePresenterImpl.java | 14 + .../basemvplib/impl/RetryIntercepter.java | 27 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes basemvplib/src/main/res/values/colors.xml | 6 + basemvplib/src/main/res/values/strings.xml | 3 + basemvplib/src/main/res/values/styles.xml | 11 + .../com/monke/basemvplib/ExampleUnitTest.java | 15 + build.gradle | 21 + gradle.properties | 20 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 + gradlew.bat | 90 + projectFilesBackup/.idea/workspace.xml | 3520 +++++++++++++++++ settings.gradle | 1 + 374 files changed, 26304 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/libs/autoupdatesdk-release.aar create mode 100644 app/libs/commons-codec-1.10-sources.jar create mode 100644 app/libs/juniversalchardet-1.0.3.jar create mode 100644 app/libs/umeng-analytics-v6.1.1.jar create mode 100644 app/libs/utdid4all-1.0.4.jar create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/monke/monkeybook/ApplicationTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/monke/monkeybook/BitIntentDataManager.java create mode 100644 app/src/main/java/com/monke/monkeybook/ErrorAnalyContentManager.java create mode 100644 app/src/main/java/com/monke/monkeybook/MApplication.java create mode 100644 app/src/main/java/com/monke/monkeybook/ReadBookControl.java create mode 100644 app/src/main/java/com/monke/monkeybook/base/MBaseActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserClass.java create mode 100644 app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserver.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/BookContentBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/BookInfoBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/BookShelfBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/ChapterListBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/DownloadChapterBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/DownloadChapterListBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/LibraryBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/LibraryKindBookListBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/LibraryNewBookBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/LibraryRankBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/LocBookShelfBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/ReadBookContentBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/SearchBookBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/SearchHistoryBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/WebChapterBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/bean/WebContentBean.java create mode 100644 app/src/main/java/com/monke/monkeybook/cache/ACache.java create mode 100644 app/src/main/java/com/monke/monkeybook/common/RxBusTag.java create mode 100644 app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java create mode 100644 app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java create mode 100644 app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/BookContentBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/BookInfoBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/BookShelfBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/ChapterListBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/DaoMaster.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/DaoSession.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/DbHelper.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/DownloadChapterBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/dao/SearchHistoryBeanDao.java create mode 100644 app/src/main/java/com/monke/monkeybook/listener/OnGetChapterListListener.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IEasouBookModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IGxwztvBookModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IImportBookModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IStationBookModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IWebBookModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/IWebContentModel.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content17duxsModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content17kModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content3dllcModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content44pqModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content630bookCCModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/Content92zwModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentAszwModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentBaishukuModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentBxwx9ModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentCommendModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentDhzwModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentEasouModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentFuheishuModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentKewaishuModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentLeduwoModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentLewen8ModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentPbtxtModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentPpxsModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentQulaModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentQzreadModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentRanwenaModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentShulouModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentSnwx8ModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentSuimengModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentSyzwwModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentVodtwModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentWxguanModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouCCModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentYb3ModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ContentZhulangModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/EasouBookModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/ImportBookModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/model/impl/WebBookModelImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/IBookDetailPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/IBookReadPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/IChoiceBookPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/IImportBookPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/ILibraryPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/IMainPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/ISearchPresenter.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/ImportBookPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/LibraryPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/MainPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java create mode 100644 app/src/main/java/com/monke/monkeybook/service/DownloadService.java create mode 100644 app/src/main/java/com/monke/monkeybook/utils/BlurTransformation.java create mode 100644 app/src/main/java/com/monke/monkeybook/utils/DensityUtil.java create mode 100644 app/src/main/java/com/monke/monkeybook/utils/NetworkUtil.java create mode 100644 app/src/main/java/com/monke/monkeybook/utils/NumberUtil.java create mode 100644 app/src/main/java/com/monke/monkeybook/utils/PremissionCheck.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/IBookDetailView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/IBookReadView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/IChoiceBookView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/IImportBookView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/ILibraryView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/IMainView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/ISearchView.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/BookShelfAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/ChapterListAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/ChoiceBookAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/ImportBookAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/SearchBookAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/adapter/SearchHistoryAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/BookDetailActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/ChoiceBookActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/ImportBookActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/LibraryActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/MainActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/ReadBookActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/SearchActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/impl/WelcomeActivity.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/CheckAddShelfPop.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/FontPop.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/MoreSettingPop.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/ReadBookMenuMorePop.java create mode 100644 app/src/main/java/com/monke/monkeybook/view/popupwindow/WindowLightPop.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/ChapterListView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/MTextView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/RecyclerViewBar.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/checkbox/SmoothCheckBox.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/contentswitchview/BookContentView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/contentswitchview/ContentSwitchView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/flowlayout/FlowLayout.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagFlowLayout.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookListView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressHUD.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/BaseRefreshListener.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/OnLoadMoreListener.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/OnRefreshWithProgressListener.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshProgressBar.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerView.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerViewAdapter.java create mode 100644 app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshScrollView.java create mode 100644 app/src/main/res/anim/anim_act_importbook_in.xml create mode 100644 app/src/main/res/anim/anim_act_importbook_out.xml create mode 100644 app/src/main/res/anim/anim_bookshelf_item.xml create mode 100644 app/src/main/res/anim/anim_pop_chapterlist_in.xml create mode 100644 app/src/main/res/anim/anim_pop_chapterlist_out.xml create mode 100644 app/src/main/res/anim/anim_pop_checkaddshelf_in.xml create mode 100644 app/src/main/res/anim/anim_pop_checkaddshelf_out.xml create mode 100644 app/src/main/res/anim/anim_pop_moresetting_in.xml create mode 100644 app/src/main/res/anim/anim_pop_moresetting_out.xml create mode 100644 app/src/main/res/anim/anim_pop_windowlight_in.xml create mode 100644 app/src/main/res/anim/anim_pop_windowlight_out.xml create mode 100644 app/src/main/res/anim/anim_pop_windowmenumore_in.xml create mode 100644 app/src/main/res/anim/anim_pop_windowmenumore_out.xml create mode 100644 app/src/main/res/anim/anim_readbook_bottom_in.xml create mode 100644 app/src/main/res/anim/anim_readbook_bottom_out.xml create mode 100644 app/src/main/res/anim/anim_readbook_top_in.xml create mode 100644 app/src/main/res/anim/anim_readbook_top_out.xml create mode 100644 app/src/main/res/anim/moprogress_bottom_in.xml create mode 100644 app/src/main/res/anim/moprogress_bottom_out.xml create mode 100644 app/src/main/res/anim/moprogress_in.xml create mode 100644 app/src/main/res/anim/moprogress_in_bottom_right.xml create mode 100644 app/src/main/res/anim/moprogress_in_top_right.xml create mode 100644 app/src/main/res/anim/moprogress_out.xml create mode 100644 app/src/main/res/anim/moprogress_out_bottom_right.xml create mode 100644 app/src/main/res/anim/moprogress_out_top_right.xml create mode 100644 app/src/main/res/color/selector_kind_tv_color.xml create mode 100644 app/src/main/res/drawable-v21/bg_ib_pre.xml create mode 100644 app/src/main/res/drawable-v21/bg_ib_pre2.xml create mode 100644 app/src/main/res/drawable-v21/bg_ib_pre3.xml create mode 100644 app/src/main/res/drawable-xxhdpi/bg_btn_watch_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_btn_watch_sel.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_readbook_black.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_readbook_green.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_readbook_yellow.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_search.9.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_shadow.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_shadow2.png create mode 100644 app/src/main/res/drawable-xxhdpi/bg_welcome.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_add_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_add_sel.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_catalog_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_catalog_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_close.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_cursor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_download.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_download_main_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_download_main_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_font_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_font_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_library_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_library_sel.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_light_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_light_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_money_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_money_sel.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_monkovel_big_black.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_monkovel_big_white.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_monkovel_black.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_monkovel_white.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_more_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_more_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_readbook_black.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_readbook_green.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_readbook_white.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_readbook_yellow.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_return_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_return_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_search_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_search_sel.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_select.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_setting_nor.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_setting_pre.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_slider.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_text.png create mode 100644 app/src/main/res/drawable-xxhdpi/img_cover_default.9.png create mode 100644 app/src/main/res/drawable-xxhdpi/img_shelf_lastest.png create mode 100644 app/src/main/res/drawable-xxhdpi/img_shelf_lastest_tips.png create mode 100644 app/src/main/res/drawable-xxhdpi/img_shelf_other.png create mode 100644 app/src/main/res/drawable/bg_edit.xml create mode 100644 app/src/main/res/drawable/bg_ib_pre.xml create mode 100644 app/src/main/res/drawable/bg_ib_pre2.xml create mode 100644 app/src/main/res/drawable/bg_ib_pre3.xml create mode 100644 app/src/main/res/drawable/bg_search_content.xml create mode 100644 app/src/main/res/drawable/moprogress_bg_white.xml create mode 100644 app/src/main/res/drawable/selector_bg_download.xml create mode 100644 app/src/main/res/drawable/selector_bg_download_cancel.xml create mode 100644 app/src/main/res/drawable/selector_bg_watch.xml create mode 100644 app/src/main/res/drawable/selector_book_detail_read_bg.xml create mode 100644 app/src/main/res/drawable/selector_book_detail_shelf_bg.xml create mode 100644 app/src/main/res/drawable/selector_icon_catalog.xml create mode 100644 app/src/main/res/drawable/selector_icon_donwload_main.xml create mode 100644 app/src/main/res/drawable/selector_icon_font.xml create mode 100644 app/src/main/res/drawable/selector_icon_light.xml create mode 100644 app/src/main/res/drawable/selector_icon_more.xml create mode 100644 app/src/main/res/drawable/selector_icon_return.xml create mode 100644 app/src/main/res/drawable/selector_icon_setting.xml create mode 100644 app/src/main/res/drawable/selector_importbook_btn_bg.xml create mode 100644 app/src/main/res/drawable/selector_iv_add.xml create mode 100644 app/src/main/res/drawable/selector_iv_library.xml create mode 100644 app/src/main/res/drawable/selector_iv_money.xml create mode 100644 app/src/main/res/drawable/selector_iv_search.xml create mode 100644 app/src/main/res/drawable/selector_pop_font_bg.xml create mode 100644 app/src/main/res/drawable/selector_pop_font_color.xml create mode 100644 app/src/main/res/drawable/selector_switchbutton.xml create mode 100644 app/src/main/res/drawable/selector_tv_addshelf.xml create mode 100644 app/src/main/res/drawable/selector_tv_addshelf_text.xml create mode 100644 app/src/main/res/drawable/selector_tv_black.xml create mode 100644 app/src/main/res/drawable/selector_tv_green.xml create mode 100644 app/src/main/res/drawable/selector_tv_rank_kind.xml create mode 100644 app/src/main/res/drawable/selector_tv_rank_kind_color.xml create mode 100644 app/src/main/res/drawable/shape_bg_download_cancel_nor.xml create mode 100644 app/src/main/res/drawable/shape_bg_download_cancel_pre.xml create mode 100644 app/src/main/res/drawable/shape_bg_download_nor.xml create mode 100644 app/src/main/res/drawable/shape_bg_download_pre.xml create mode 100644 app/src/main/res/drawable/shape_bg_readbook_black.xml create mode 100644 app/src/main/res/drawable/shape_bg_readbook_green.xml create mode 100644 app/src/main/res/drawable/shape_bg_readbook_white.xml create mode 100644 app/src/main/res/drawable/shape_bg_readbook_yellow.xml create mode 100644 app/src/main/res/drawable/shape_pop_checkaddshelf_bg.xml create mode 100644 app/src/main/res/drawable/shape_pop_font_bg_nor.xml create mode 100644 app/src/main/res/drawable/shape_pop_font_bg_pre.xml create mode 100644 app/src/main/res/drawable/shape_progress_cursor_read.xml create mode 100644 app/src/main/res/drawable/shape_search_history_roundrect.xml create mode 100644 app/src/main/res/drawable/shape_search_history_roundrect_disable.xml create mode 100644 app/src/main/res/drawable/shape_search_history_roundrect_press.xml create mode 100644 app/src/main/res/drawable/shape_text_cursor.xml create mode 100644 app/src/main/res/layout/activity_bookchoice.xml create mode 100644 app/src/main/res/layout/activity_bookread.xml create mode 100644 app/src/main/res/layout/activity_detail.xml create mode 100644 app/src/main/res/layout/activity_importbook.xml create mode 100644 app/src/main/res/layout/activity_library.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/activity_search.xml create mode 100644 app/src/main/res/layout/activity_welcome.xml create mode 100644 app/src/main/res/layout/adapter_bookshelf_lastest.xml create mode 100644 app/src/main/res/layout/adapter_bookshelf_other.xml create mode 100644 app/src/main/res/layout/adapter_content_switch_item.xml create mode 100644 app/src/main/res/layout/adapter_library_hotauthor_item.xml create mode 100644 app/src/main/res/layout/adapter_library_kindbook.xml create mode 100644 app/src/main/res/layout/adapter_searchbook_item.xml create mode 100644 app/src/main/res/layout/adapter_searchhistory_item.xml create mode 100644 app/src/main/res/layout/moprogress_dialog_downloadchoice.xml create mode 100644 app/src/main/res/layout/moprogress_dialog_infor.xml create mode 100644 app/src/main/res/layout/moprogress_dialog_loading.xml create mode 100644 app/src/main/res/layout/moprogress_dialog_two.xml create mode 100644 app/src/main/res/layout/view_adapter_chapterlist.xml create mode 100644 app/src/main/res/layout/view_adapter_importbook.xml create mode 100644 app/src/main/res/layout/view_chapterlist.xml create mode 100644 app/src/main/res/layout/view_kind.xml create mode 100644 app/src/main/res/layout/view_library_hotauthor.xml create mode 100644 app/src/main/res/layout/view_library_kindbook.xml create mode 100644 app/src/main/res/layout/view_pop_checkaddshelf.xml create mode 100644 app/src/main/res/layout/view_pop_downloadlist.xml create mode 100644 app/src/main/res/layout/view_pop_font.xml create mode 100644 app/src/main/res/layout/view_pop_menumore.xml create mode 100644 app/src/main/res/layout/view_pop_moresetting.xml create mode 100644 app/src/main/res/layout/view_pop_windowlight.xml create mode 100644 app/src/main/res/layout/view_refresh_loadmore.xml create mode 100644 app/src/main/res/layout/view_refresh_recyclerview.xml create mode 100644 app/src/main/res/layout/view_searchbook_nodata.xml create mode 100644 app/src/main/res/layout/view_searchbook_refresherror.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values/attr.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/com/monke/monkeybook/ExampleUnitTest.java create mode 100644 basemvplib/.gitignore create mode 100644 basemvplib/build.gradle create mode 100644 basemvplib/proguard-rules.pro create mode 100644 basemvplib/src/androidTest/java/com/monke/basemvplib/ApplicationTest.java create mode 100644 basemvplib/src/main/AndroidManifest.xml create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/AppActivityManager.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/BaseApplication.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/EncodoConverter.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/IPresenter.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/IView.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/impl/BaseActivity.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/impl/BaseFragment.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/impl/BaseModelImpl.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/impl/BasePresenterImpl.java create mode 100644 basemvplib/src/main/java/com/monke/basemvplib/impl/RetryIntercepter.java create mode 100644 basemvplib/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 basemvplib/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 basemvplib/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 basemvplib/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 basemvplib/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 basemvplib/src/main/res/values/colors.xml create mode 100644 basemvplib/src/main/res/values/strings.xml create mode 100644 basemvplib/src/main/res/values/styles.xml create mode 100644 basemvplib/src/test/java/com/monke/basemvplib/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 projectFilesBackup/.idea/workspace.xml create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..c6cbe562a4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000000..c45be16cc8 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +MonkeyBook \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000000..96cc43efa6 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000000..e7bedf3377 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000..97626ba454 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000000..444164129a --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..7158618b85 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..814aec0dce --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000000..7f68460d8b --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000000..98a9bfd53a --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,111 @@ +apply plugin: 'com.android.application' +apply plugin: 'org.greenrobot.greendao' + +android { + compileSdkVersion 25 + buildToolsVersion '25.0.0' + + defaultConfig { + applicationId "com.monke.monkeybook" + minSdkVersion 17 + targetSdkVersion 25 + versionCode 6 + versionName "1.2.1" + manifestPlaceholders = [UMENG_CHANNEL_VALUE: "debug"] + } + + productFlavors{ + baidu { + manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] + } + pyger{ + manifestPlaceholders = [UMENG_CHANNEL_VALUE: "pyger"] + } + } + + signingConfigs { + config { + keyAlias 'monkeybook' + keyPassword 'zqh19931118' + storeFile file('D:/WorkSpace/Android/PersonalKey/Monke_keystore.jks') + storePassword 'zqh19931118' + } + } + lintOptions { + abortOnError false + } + buildTypes { + release { + buildConfigField "boolean", "IS_RELEASE", "true" + minifyEnabled true + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + applicationVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.apk')) { + //这里修改apk文件名 + def fileName = APP_NAME +"_"+"${variant.productFlavors[0].name}"+ "_v" + defaultConfig.versionName + "(" + defaultConfig.versionCode + ").apk" + output.outputFile = new File(outputFile.parent, fileName) + } + } + } + } + debug { + buildConfigField "boolean", "IS_RELEASE", "false" + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' +// signingConfig signingConfigs.config + } + } +} + +repositories{ + flatDir{ + dirs 'libs' + } +} + + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + testCompile 'junit:junit:4.12' + compile(name: 'autoupdatesdk-release', ext: 'aar') + compile 'com.android.support:appcompat-v7:25.1.0' + compile 'com.android.support:design:25.1.0' + compile 'com.android.support:cardview-v7:25.1.0' + compile 'com.android.support:support-compat:25.1.0' + compile project(':basemvplib') + //GreenDao + compile 'org.greenrobot:greendao:3.0.1' + compile 'org.greenrobot:greendao-generator:3.0.0' + //JSOUP + compile 'org.jsoup:jsoup:1.10.2' + //沉浸式状态栏 + compile 'com.zhangmonke:ImmerseLayout:1.1.1' + //ProgressBar + compile 'com.zhangmonke:MProgressBar:1.0.1' + //Glide + compile 'com.github.bumptech.glide:glide:3.7.0' + //AutofitTextView + compile 'me.grantland:autofittextview:0.2.1' + //删除粒子效果 + compile 'tyrantgit:explosionfield:1.0.1' + //View简易动画 + compile 'com.daimajia.easing:library:2.0@aar' + compile 'com.daimajia.androidanimations:library:2.2@aar' + //CircleImageView + compile 'de.hdodenhof:circleimageview:2.1.0' + //SwitchButton + compile 'com.kyleduo.switchbutton:library:1.4.4' + compile 'com.victor:lib:1.0.4' + compile files('libs/commons-codec-1.10-sources.jar') + compile files('libs/juniversalchardet-1.0.3.jar') + compile files('libs/umeng-analytics-v6.1.1.jar') + compile files('libs/utdid4all-1.0.4.jar') +} + +greendao { + schemaVersion 1 + daoPackage 'com.monke.monkeybook.dao' + targetGenDir 'src/main/java' +} diff --git a/app/libs/autoupdatesdk-release.aar b/app/libs/autoupdatesdk-release.aar new file mode 100644 index 0000000000000000000000000000000000000000..e6ae996d2fd729eb5435828de25347f4c6a34afd GIT binary patch literal 160179 zcmV(+K;6GkO9KQ7000OG0QyzGN}?f2dpH6B05}H#022TJ06}hKa&Kv5O<`_nW@U49 zE_iKht(8%aqA(PN-~APYcVTCfNj3(Z?Et%L#uWq3x^JY?3pPSa+G@tl{P?MWs1cLR zs84u%`f+YK7o4ZJA~&`mB;{;qK3HE&16aZdW!cc&sI>phd>Zwf0yCO|RECx_Ilznv zPRY<*DOC<^TP7D8PUPu%c8K_g$*GJQ^ z&(I}^g3A4ByNy*Y4&5IG)_6Mi!>K>77@tER*Y%?)UW|W?<7kfN{_QMnXc2@j_rkdW z3L`(B1TLD7gXs;xML3@OvHy2}XlSDS1tI!*i^I@IUN^4>;XR_27QuTn}5VXYW~XOcE?r*wp^7e`9neb0|}~>3&Lc z1>$_I4Z%gkuGvHGKKXjE7V+!MJDsYVnO?A%P68ccH~2l9`1eHb?V{*@JQUsJ_AtNo zld)=zHAC);9@-drp6{Ips>Nv^_$1SHN}F%Zg#pLD^5`A=kh11=W1qbqdX9bg430hk zP)h>@3IG5I2mt+6zep@2RlX+V=FUPMq^hO2UkZkV;6w4nGK_Zi8-S&gQ=~tv$MJyJP_pn zyDwJNMs-OEi9cN=d6XzMoDU3KO^OgnNH`=)q$VIOym@iJ!3x!eh$A;^(BS~{4Sh<^ z_$r3bb(CT*UTBah92uJ7jZ01n4eNx7q5%GttlcSHR4HiOorJ*AV?5A@0E}!q zz)%886^~%TBaj?>3U4sute%84$O<7I&^?F;`A~D%5#u^N=@DJV;>JWu3ZX86*92#D zuHm!bd#$8OPoJz|sxUiUjESum<&bWy1Z@~!dn_-@`733)Of9Ii#$I(;`dBU;Bxl1F zyYnztsrL7C9q8!g@tU%h15fe|k~Pg^6y*=I1)-Jn6xEWi%(qexiGqgnW1Lk*TCPH} zZY)lC*vh^=J?s#i2^Am{dr8~GF}yN+wY~-y?i>CY3*yhncpB_QoVXh)FERviLw8e0 zZ^vZ+?$RPww~oZzMyY`@N^oO~?dteBn&P4iGhE4)qO}U^b9dzlKJV`p_OZ8W!g9BV zU>Tg4n^pBP^zt6--AP&-``eSpwxmyqN#k?7c?kBCK3IdPJ_8u*DT&bh*4DRAp2n{z zW=UE6VP~DFVX?7VJQ)Y>LAKaZp`)9^hLVZG+~KkcTdVx>)&-?7X359Ln4eXuzEIn8 zpm(fC@Mc0%t^OH8EK<6D-Jo{&FadvL&|G>jU>)&oYLjzVzMp<>9#q2tK}5nG3U%I} zDzD3UYb?deO4Q;D5?&R6bCM=ap`b@xZIn=oa~EU9qxv5*WNz2xzo<6~ZYn|9X!eq_ zmRqnn1r|eubS4R4-iniY$k7>6)ZZBh z51I{OpjB?X5ESSINTYF{3W@}Wb#AvZ1$U=)-WyfjZn}qSv*R1X$7M*vW?S2O#P(_X zJ`lo#F_^T}BC{TLKQ4C#rg6r;ukm9n+WE;Rg<(#R!5|)>zhwerBOeQ6@%rZ8q5_H!mo{VSN%M7$|rqzV@+vau497%-GT=9I9+G z-G0;h{f^L8k=ws*hvX4+DZjJOEH6oTlvQLG!@O6`-Qs{c!k&e54leb6|CjpmugWOl zf7p^n>O(sX3?c~>}yp)+j%?Rp-9!s)8V)>}9 zYLv9ua9Xkl&ni@qY(>gXQqMn zj5+I6M+k3foP}O>kD(rkz~(ctrfXHW{v~b4Fbe#BvwDnpp~kI80kxTsO~@GUeRCO{XumD+w?gFbaeo(EF7 zO&T95H+vb**fvq4kjFBS{sA4mf+|(^L=d2xY)8D+X^Y!vr(?dQ`ax@%`I+ihr}0sv zb5Zs!vnP`6AtI0Do~Qmtp}p0h@N(Wn-M{xwpUOR=@TI?qU&MjMag!SJWk;9Mt9{~x zY2JyrXde5Gc4f02c6E*R$EfI5eaN`AF5A3?mAHIk%xD&fv)|B0TM5V|8+zT-;3IsJ+!5W8|u!3IOddY<|OmVG)DYA>Q5E7Esteu`DDpM zQd^$`P0fOPyA4ep^#P>PN)cpb)KM!f&6e-M;kayxSli#dp@hE+RUQkMfggQI7}v@4 zC9f8n+0wEn!GpIzOI*_3uQNW-TQ;Yxe$JBdlY9qa=y@)MG=^@4IDIE#;ELSJxqEJf z)%WO1cf9$tOZfx0K@@$Es}FGJN3R1sy)b$EHb(r0kePx&xNoBMi4FmNZv7O!&^kV_ zd=qU0=08w;Bg*xmw*fVHpj#dYaE^Gk7MNH2U>;ewfw_E$ZucM_VafZn-B5WapZnYj zfprfkZ#ZQG_Ok)}IpD!x%-W(515W&ACH!v=>= znsS4x_wD%i-OT-nW*!VF>)TB{ihDF1Q^3TuyW8ArZqr!~ci-QyZAhlLF&YT9n92;L z1l2nsVS|B~AZ>6&^l9phHKGDZQ9Mp|Dk&=^C;fgq_?mN!dD{In2zXzR5AbayN69g) z8|d-#jNynlYPgGbMA0#}Fju}oeSBCE6(OB55(rm1Xf25}ATVZ9eX?`5MMchP#5Cgkeb#~DD=eem70*`}K4~7~<8nMEEYRq5h;KCo@Zby;p;?C4 z1~ENRC=9!u{IVrt{`L!zv__jzFZH)fD}m~N&1Vwzbj`QPdMmB6@V0+Nj{#9X<;UtK z0*(za+A`5Sy24jm@Lj6mPD)ame@Bn~`lX^U+Gk2kPJR-Zvltj${NRb1{$RbQX-VA@ z_|i=?jeddKY+G0oIDA>{NESA7A1&vHcV&Uw-nm0Z=nwoK(u!b2MXCOyo7VoTlMwK4 zq*c_H1rbK$H~sU`P@p5GJPR!d+&DfX@m9*0P8EjB&-Ffq|r;V;E3f9BxKi^ZV=b#@y#7 zbHa$%o!7ivV$t)DVaeQvPH7K(#;P4?o-8DmyLVxZH}W0?^svYc_2YmX+0!)-MoC@$ zQ!Y7ihGX&q?jPb#Low!oomRyhM-&Wf*!BpTQCe-a=!mKIm>VtR>GdnZ@3eUt6K?bk zlGr+rQiK*x_pg+6@`9#JJ;+C{6fX7qa~k%+{5TP2c_;MvKeb-2=t+a48?e)o%Yc=E z??l4|AFU}0p1zwO9W{*fJY&9s`)|-*p#Ri7p$f|s<)3<2{Z}=&_?McKX8-~))iFmc zZotz{;dXXfT%_DzQDi3u7s)HiQ}BrjiAn+(^@EH^Ops`TRAeFoWYUAEXo7C}=9&m+ zZv|avx1AMdZo2w>Es(%gf}Ws-J41+w;TBWq*UGG7%uQ7x!-X?YAVMKx@pHMD03Lse zhf}0c#}vG%*a3(8&=sVpV+eRjTx@W*Vw1-y!^+gAVH9pSTqbw%bSTyObW2+g zTILZBjWJx=)beyJN17NB)zA&&=ANyq*WfH zC@jFL22afMl3)tPV=jtMcjDJ@Bg?J;@?|Rx2Su8CMP-&YU6raj{1nbqmQOi`m|bNh zsJbis?IV!-3TsY<1E}dnKg3vL0en1ww6lcSpR*vgl!Gm8#s!$F8xRBV*YQG{!tEz7Q92N!Arup>;Gj+muJD0MMJ#zRRujmXloX07eo$5t$ns_j zn;a8)7gZC8n;cVp2c!8db&_1}!;&f}cM`Akjz;5;cF0WQk2hI%=z-&^81E`M07n%c zlsQiTt|;V-#s~eae1`@nHn23013ssvyste4$``&K9du^Q4`WcD)gR51RRU?Q%f3&Z zn^Tm`s0(jYs}5<IWSWwO&DCRqpTaDJ?^(;*j@ zcDb3&^YI(5CSfC$N2laWW9kZrzg`1DyDZ%>o2B^Q|EHLj zAbZ}I9Pbn@Ve6(zS2ncZ=<9`ZZ|E-uO!!o3qj? z!o-U)KE7~}_<%C^C9n3U!Gg1#oTadG1~v4bec!y(=xh#ciMAeSY<0?ZN|YV@yrrqW&_4rcd7zhnTIfy?ZJAsU&M4p zv;fZ%JbpQu|d?;bHoh8H2jErh40CLw?EdjEel4Iu8raLE3=SqB_Qf*?R&K5B9byuU(T7F~hK+0>d zyA)qYKD(&^3#MW5f=%7G9DZ;<2iXA3E75&%Z_Et9W8g+BhKKZ2c9E_@>ukT?OVS;> z=f1i(K}Okm4&!aNd2%2)2dI{1Tc9`xqEc6(U_~BjAOgJ_o?=qdHLY zf>B#f+b_d$;+V<~uCayNkHZU6t^QHn)X?wcjj?X@9uWHiTrd4T`hsDfc1r)kbJw~8 z-nwaRlr0ao+rZ!7^+Ix&*8;wqt}9Sa-5;)jxL*6~HSrt#s$MfN9(|1W8sjdK35j-6}?g22}JKaN#F989{@kl*A4h>lLzS2PS8=P_gjMTrH1B6 z_1L)-V z(^nKgHf-^Y;H)q&%-m=pkB$7=b2`(aTLwr0J_0otciQip+G{DLWin4Tc=rtrXvl|g8;WahW35=4RpPAg- zKfDGY_$QP^i5ZZ*2G4$8r8eZV=&foN>*Ep9J|tDOxL0^&vm9&?6masb@5wF z!8%`Jtk;C2uPyll6&5!(U_kZJDDd!hO>3Hmuy1BGz{W8?o_zTOk24g+d5d7rs zKe#NsIMv-sHuO_oX>}UQ^=oT6_Ch(_lR`WIf_yhxi>d12NI+ z70T))d0z$7nA(C+vvjRu1JozCS2|lIpu5x1 zCu)vdj#o_^9dT1;a9fnK*W-3{CnsmQ;;?SA{d z--DjahU*Nvq4&qD&AB<|I}zHby3v$8Q=bX6%mvPweLLGdF}(Y8ZiQ@-#@_-Y9S!R@ zIvG!j>)xeTUHr|uzB;`g+)_jP%}@tV2&i97b|Yrx{_zq^Vi$8Og_w_oub zwwb|qoIXLg1_W*tXsrGAo6i+4$o-lf0+!qmxrQbNbJg*`BT>^owP!y<`Db&Na?egy zVQp1z3JrdeYV|ez+Y2FUe`)+$JMO&Pe8J5D-L8Wf*h?|yund)Xmz?m(9~ zo5O@i)2Q|`b_O|(OJ3zSj(k{WBYQihTa08r((q7xXzfgF%xfHm*6;1O%|G0(3VZp_ zX!eB7c{fe+QB7yvPp>Yzn3B4C?|nEW$`lXFFT0NR1`}_M!vpf@Sb8ykhVb6a-itWL zp!ddTKzuWYdI`%2_kJ%$_$!%1j^9&XA^YVA86okfS>px_!1NGnP+GzMB`5g$pNTW) z&rc2z91xHT=Ktm}$o~(AVM)gPZ@x}t%6{n|UuR0`YO41qO@#^xrUdbfIM(QrCc8X3 zf(S#3t}}bx{!h}Z+DrRiki7(W6<8G5;jDO(?M(BLB7)294rf>2o6Lpx_scDJpgJT^ zj~nB$Ay~vu0t6jL$2M@xDvA&Rd`%xVN6LPRRS;X#oe*ydK7>0sUEr6ylz~{DTWqfd zt?_0h&q-8rR|cuRE-sJ8W)XH!uG73 zyCr?(H4YaEI9_(XhD0}{9jFXw?h^+}3+=+AKH4z*3#RlA0w%UFni(vOcrzAN07IDr zi*Kb0goOTp)MPc*teCbr`H)*ISlHU%Y=_@w<+F@p#LYAaHn)64t*c!=G@-RHDC2R^ zK}^P$dmpS9-ML=?JII-P6xvm}(lMyN-55ioeK+FfPUF&W^7Tw?Kg5uoA@a6L&w(>| zA3%LuU85?mv|n>f(b!Y;UJz-a-CKP@Yox`&FO*lxtzXE(d-n3~e$MthkK!fF4s-D8 zu(kAA4rtXb-h%rt(1!Dkc4~f73*+#25sj`mmpa6~sg@eq`}-6BlU()Ux#hI} z<2&X5*9px3&5VDGYeSXz6^EG6_&BXZMFU!!eOl)WL@!JRbV5RS#4CqK`%j0di;LZs zxxN@7LWcVh_a%w*Kv`S9Z@%*8=2m@u{e3{%2Q$M>5h)22_~Eh~>+Oi^>yJ?11oYm3 zb=Kh>BNPHipFo}#OdUrtU*U@G`BrHOBGuCLQY6wl&?u;nS=SbV1Y;S>G*;Uc)UEBY zwlmY9L1D3jlq$^lr^J-Wz+JOo$=7&N`Bo>%ChvSk93J^(O^sD*L|W!mJKu$fsYs$S zjPGtA;m&Y-+mwy>lHh7eJdpWN|0M2-Pmyt8B?&WZoCh5M>2ES$Dvy|{j(kViuuX_e zZl%Cen-1?x@MfW&!Mno3!|u|qNXyvVD(+C!BCkpJsN<^||E^bU`Nmgx2LB8BA0#B{ zMR+OxL1O)XodW#dNc>xh7^|lHpWyrl!7i&=BE+$Y$N;GU(;5goH3*Zzq$L2VyqwX> zIlxHTI;(K@P4WrxO~;~`iRGvW@rP=Rzl6pbjW^kWac9S2F3+~t=lc!1A1RNjy_BfR z$Y3BUXpE&4U}mchhY~rD7aHw=%CsPjfZ_@=0PYM3 zgiV zRNEe^kAjqf#ZtXT5~U$9PAFiuY|D>}#Q0Gy_q~i$EtW>Wy5`c+m(>0iVrlGIBl^ z>4i;#OUFf59n#)$0YB!MeWE7* zsq1@WFYb}wq9%V+*89j_93sCZP5!2?|0R3r9G;cNBbz0gB{v{(iXN^(X_MAVYNxwb ziJVJ+1Bqlzc_WErOnXC#?p8fCj&zsSOZR9S_9ok9e@YR zg|P)-fX8YT=6{1t6V;=tQP<~AfVqN!!dw{vz}DfJBpi7MjKSSla05l^Bl81^gzCfd zgY%<_L>!d@DRfFA*-^GjgjkzUmXV9mp;#jGt6~JrFIjQGG7;FG-H1iTDSHyuY z^;6J)pleAiNzREqNC)g-uE3OwdDeFwW5G9p&Dku=)sJ^c{W_Z+8r`N;F>goT3I|mVUeFw2cB)Y2M~hn zgR<3MP`m^7LBR+~Jc9Ozz!Z^vLiSC;iohtL4U{$**AdlUAl(E9K*11^eG>MigOG#h z2Bd>j!RAnW;`SfG%AjYFd;<5Q!3@dYa0aHp1c^Pw0sdx!8XGoOM>LG4x8!drlj?XU ztn0pDuc&-7cX0pgoxjxPSyz*w;@Uqn#&ZdtKn$>fLqSw4BWK19=(6QVbE zqx|mGj6MjR`nj<~vnK?KyRoI-8)?MKE8(bjqFJw4{w0&9?8)C?Yivs6VDwt)L+gqg z>51!IHrduhoO)|?OYA`iEQ4gESmi_Mt1qs?zM#pYkX^wb7+U0B}(EjQLhO zal$z-yO9TjUgVtEEqFk4UAkhW5fp3Im1^T`c&+-SOZ)WpEPzJ0t# z2t^F>dOB5tOVlXn8N3%Tw4ho{eFSN=gB=@Ew+QLvqF~RK z8ztr&n34xoa!8izJJ_GcA6SDMlK29%J=U+H?t6^^5mzasY&BbSHlnQ+(@TyY=>}ai zT?3OtNk1Xo#i54Y;A!a37iKu1^t+c>Y5D5;K+Ozj4SKlqsQu@~q)P7T)~q6$rt#=+ zlS*RCLJDq~7R=CviO8^b!G*X!6T2YJCch^aQ5JmQV1i{7*~FZx^DXTlez(U>?2;wH zW<55ho-#Z97EZxZqt*H^IaHRK@_U+Di%s2-*7!zmlA4IKSCusR<4wuosjnHPz>na8KoVH%X{D&uI5qH|7YJK@^AFj9>|3Yv`bsKt;WVBKKzk zV-D7p;)pMN;*UXts=D&7N8y;eDGR~lwe1diwIZ2FFmCDH9Ep`4s96vhT?Z0Bre!ON zp3A~g!!B_xZ-bST%VQ8gw;aaPMF=dmB+LD5#o%+)`?w6~xKR}gXZ2uw^mH`2=PC&& zSi`#B@w%o;6<%eIqHO;*$!5uxJq_I6LhqTZz1JQ zcn~*luKMikK*|lAav^tBZelTOTAV~WkJCb!NBXSLZY84Fpcl}qDh^`k^N$)Cf$X73 zc?(X&$di~TTZ-HtsYM1yemyVbwiI-6&yUX{H8V%e zlNQ)*RExIe)lVGU);Bl9mHAF{_wp*(v;4%13@3;zT+rDYBnq}o3F{rNl^>ycc=;U} z+JY0AM*+%1BbJg^;=SF`wAKDvBCq?btSOB;Nzp>dbU9SkadZ*qaG0x5OcgXp(cK)a zr8>$Fk_ocSiqet>zssLdn@t?uplA6{-7UA4We100EZV`%T@*_jy1_0NncdaV)>a`$ zZ`v$kO4i*Q(j70B(D0l0V)Ua&Y`V^UbqrSfsJ8(WrLSV~DS1>4kG@QSaxA)DM}5M! zv1Nzs!|04Q6Vt>{%wN9(`Nj2)0%Ophd={g8zSQIfv41B zGvW*;{MTF}X=JOoDNt=79Op)ko+2XhaA+Vi(zY(M|I}UdUv(-0!^yMma?f~pWZlRm+a6CwaEVnGNB(0WNpq=F$cO#cCR#1F1tjP(U$+}BF zKA|V=MB#mOVVT~f>i!a{f|XQ0Z{XZvS-iA?t5}*tB4WxvE0D4-yXo~I0_jLILl{$* z3u$s6JZhhqx0~`vw2P|ZL>X#?Xt3Z?)V^d1OMa9LhnxH*BGUlh3yYU3i9 z?=bdKj6Qe)tBKk~6L4fohwU2hu-3)<=e&MKo@=St6+Pb`EXdJAjp*Q~ee7dgSFeAH z!gE!m%e=Xbr)28GF+JeY-+@`D8LJBdUj`g43$az2BAwk#g3F5Q5Yfnh1T1qv{vugP={4^3q|g&OD%hy z?5`b#EN~CZX`GC~S8(Ku>T#Z4QR;E_%>d-gP&wvB^^Q&_>r%c-#tdvmBdsgW-SCXx zKPjEs;NZxao3wsYu!@2@0f>yGODIR4;AM?V54ztML8tg@0$h?QG|gRG-N)pRI*41H zYELDVvl72MlpsFZDi*P*EFqJl7aVCL)^u>6z364)C`&@{2PQn}9j;7PPGo(YDH`0A zuqCm=Drz3#O}etB06)d7H${n3bH@oD)-C4LoJ9mB7#|>Ka!j}6^Q{lL721EnXxP90THgl8^@GSX#tyURo{ATqF_jxQa5Ntt^2!hY^jpNgi{)Ka zDaae>sdKhJhS~C>p0?<2N7ZfB%wmQ-8?!?}0D)IOnxQ7Zxy}5*dnOO=Yxn_+jv%-P zzvvF8)_2ujROn*^u6vUW&KV}`*YXg#?VBD1wID7sisJ`qCiMW$_HQz+3xRj-by06G z$2reD@f-0LY!7FQ-R#gYoe`M6hnQpZHxLGqCCnla^7YMYYmA@GtA;}c|HpQgJIsM8 zKcblNed~q`(9_b}F>Vf92P1jY`XW+TNr{6d`Ik)XH}xh+%{RdO$xJ_EoanYM4hQkU zG1D@;cjMhM(=r=r&1OD5tJUK-2AKwy*oebQwbUwIS>C9=h6uZdrN0)8O@lsS_P$J0 zA1DAy1omp+2VtH1Bg|94@;tn@bx_Y%F;*Bd>v>Ihjrn}4ANLz$=8$2c-+1$i&0DG| zFTfe@i(|$OpGq70t=681|i}F%O%&G(=v^@{Dujd-+YT729kFF z1#bH!o&6o_{70qc32r@X&R31Lg_rdXqpy%!yZtZJ0>LWUXC>Sh7cAoY)TohSxCRG| z;9Zp|(#`y`@>?09X=Ouj?4Z+MIlEGhp5lVozMtgH9Oh5G`L|1c|dSmw6Q&~pM?t!wcqmn zTQ$On&)qGX7Wy`AXA(pA@PH>+;L?&hx#PIGxswg-PNClj!(WW+KTZzT9A4rERuQH< zO|{=@+`&L^tlLxZ#k)aw={LjICBZn*auj8$b8P}RSty_O5X(qGWeZCBFOkyW*IovB1=TtYP zE=wa!7!TnsRU=ejeA_OV4KNb_W$ei!2leO5LL9E9o#D9j&%&(*o$L%V@fQylhDEau?-J6$5ns8Ry~wW_$?z^f^5Xu)#SJrA*IC;gbth! zr^eE!^q9h3F-aHE#bSjb1p+IFx z4*34L6o%4gbdwJP_-VQ#A2;@HCXQ#Sh-vAP+9_XOkkjYpRm(r`S$C%LAyxzzn=vAkm1 zb~))OMPK{P5<(&4Ipc>vXkx)UY@*X5|1Vs1gTtkzmx9mi+#vt6>AVmI7EUOo0Qk35 z$M&J0!TG75K~t{CC~`_UoZkKjd$$Ld2R!z}wKqIR)_y z9~l+O4Qpx2b|e5xUyY?d%W)Q~o%ae>;=rxx&TJoHimF@ioFBgO6^xn-OjhO(Q(p}N z?WuG}&vY*t>@A<|$d`v5)~c7RLjNTmtPN?&GPBgGwiqi|*0{LytVxzA_uD4c)fE#* z*GR7|T3(SAw#Na~bYbveB3+Cb@z${bC}TTMoN#sbmm5#}<1Zd5zF&W>JO+Em88c-I z!pSGMS+y9#jZ%B2`8=;-@7GHLmqzciL)~FH_`q#Pi38bpxXAKjdxwb^q(Z;3ip7lm zL&-`BNp@V|yx6VK@;J>HmnK85oXc5G0fPVdoKw|u@s240e>4GGgpR8wi33wt4!n%Z zdVJun`2`v^yimo2&D5~XMrq#75O$b}sR-XhtfmNJ-aN87Hr+pD=@w`L3ak#8MJTa6 z#l%W-Y0T>qWeTN{a;c$|-w&)v^uIs3)Bp#H*l$gS%yuWt@~#@HaHj9F;lfkczYOfv z;M!YM=-jkccAfDS?dP1ZjQl*4Y-IHZgWC{$?ANW3fvfcyT(tC1jbxx^xK`y03=(<;K@~_n!dgxj; zM_x9I0TFj>cDka|7^b@PZ8c$gH>L?3FPYK5L7$|*(p4pM`ggZWn;x@uU|({iW16Kf z!ge}*s?89ysP!VL5 z+tK6$QP*~1Bv>xa4a`+R<`SWj5e8wV1dHSJ5H>SN&=@?qgM&72J1!l2hl_O0jk^x8BuRA}w}D>eSHl|?k0gT#(l zQR8AZED#v*z!YR&<{nt)?{qk+>pvU%XdL(tG4GAz%vpCGy{(}gm(_@ zGRE{X?1Xs#mUqNrPBNnqL&IK#wDGl?`dJ%D(lD}@MisuXCw&Dst z^qPz(_K=#i>s(sbr|Ae8y#}1t7EGJCVS6I5Y<*CCcT^|tuYo?9oUnfSAvZCD>M%M zBGY^m_qPtYr2?(UWo<*!_q{EltqnO?JuL)S+%nwfT29fuJt6FUF*xQI|87Wm+- zkr**p?>Igf=x~3tTxPGxrxQ@n_4GG8sQRstn>W;$)lyc>7i|inah4#bQ)!;C7~K8B z+<YJsNAX-pplT&ls+K-7bGrVy zyY>+*wLe_$@S2rZNlGdm671c3^*zhEea&_59s9l^W#scf=_e1GiMt5E*K8Y#jc>nK z<|J@Ba^m#68Wr63P#A6#=c75~B_Tk)M@1Gyzh^}j#Jq<^?nAq$MOKV_Yl+y4c&mxn zi+t;e5R7;$iV%!^Yl`TL@X#4H6#tSR-oqs#9=d}F+ktCi=?*=xgS$2IC=*LC!ZK^m zBpxx6u@ut_ioqHpfL1kTvIW$4-X=1^Z(+SKb>|)+L) z7#oy2&}uv&e19E`(X?A6JrYwOJfU~BvX2>Tipl@ zjm{m~V_P`J$M`qC7;;e@?X6QD2~L0UWq)BpnsxW@D1!jEt73rRm4yKn=m+fVEtne5 z53Yb@edF7-{@Hr2&B((#*KsI~8SX~`mIpWuO1V9oeS8*Gkgp~@V;EQ*NB|@Fk5QQ9 zTqEYmE+sRYAlv9YW^_i?mgsaZ#l%(Q{1_$VUOhlYW0)by!I{ey#{Ib`HyzxK@zj{~ zn|Z0LJ&OunHbcLwL#TzOJks~=M4oWDz-GQsQ2uJLb8ky~D$gEIpbYKD6NCHO)L? zcp&4jw`#erH^?hlMU1$L1WwzejINlgu3^1_I`@V1@R5nr#_FjU^&`(evZHOSt-ZfG zto@6g9VM(I=4B6kLP{;5*+i0y#}a2kEK7kx8QKLS6&fK}=%VqS8Px^Yo*zRt%&H5y zLVycPUhKU2ydtGnRVY|JJUMt7U8W7d(bvaFgX zlY+;vN8V1ZaE~KW;GZ>HOMc|EDRNvwnIm0N2<;q<9AC?B!W`Tr76^mq`g9sYAnR-z zp2(rSq$vC}#&SWwOpq_qvL)5*OcGJu(oHiGB0-A&nSB#|zd6~0%G6ZdtHSwQ8AzX+ z^+$LHuoAVKY6>eatL!O4Ti&6YoyESgEN>d#+!oYPF}hIWSd>)=D16j8ZI~4S_ukUB zV#0_+qXW-wPKaASHyhF5yn=8BLpPD>B_A8%ws-i!Dyw*G z_i`k1K%guvVkwrCo1JnbpQv#=NMoC)5O9Cdfb?+NeKqH&#TsI2$j3uhmA;0kFNuPD z9r%|o`!|}oZzgp~iz*TiqAtTOs-_u0x9d$E>C7y}n0o9mF)TM1wKIihhdCvh6OQ`S z7-RX(1hWpE@4xWP(B?QIikjM;At`0uHL<}j?LuJUloL=1A)x1n@$|rZc2mU5g2aJj ziNZc;p*v#ahhUsG@a!+Dh5u30=k8W>J-%aE$sEGDG3a3mud*LEQ4mraNet*p({PQ4 zQ$~AqV%AvDO}=bld!~8PVZQ^XLHOkmc5--77>z*Ku`bn8288JC1n$j|o0E&9v)^)Z z|G<|9k;Aw43z2{~#Ixk|oVeVgM0IL0I73Cqbo_Gm=nz?U{aQuuM)b}aK_MS4_jU$*NR4`h?24oQp6ji!5B6qsEKI`J;(d19X(6Y0E z+!Td5N?w≀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 H7});-pnfn$ literal 0 HcmV?d00001 diff --git a/app/libs/commons-codec-1.10-sources.jar b/app/libs/commons-codec-1.10-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..d7971c6bfe5f4e97ae32c4c4e4ab82f093ec8add GIT binary patch literal 301033 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û}BK5bRTXZ}N*{akaIO+$=1UO|KUf5RI&eC9jXzd9P~=&ZIeawBS~1%ae?eEL@HFZN0-+`CHW zuBP!z-C|U{*U`#5qz9|?-))*J^dZzuWOYcsyKo;b`Ih`%tt);KVk;1Qz+cbu7!qtT&&P8c8$YW9 zW-}YHU-3zYH^kC+O_#PajJsk9N5|$vRL`Q&x`IZ;8nLf?9Mitug@dgj(|~{h3+$#7 zwV}U_i@HcI-yyR`&||%_YOGfH+^3$b+KPHcdCD zZ_Q8M-qBOg-|!2+n|dYtEWg(&-T%HlC5DVPFjSZtJ_w-we$(%RUW8}%(V6$Q;rw#* zy7)(-7}j5At?^T<5mEjf>LL68)oUkH=l`upywb3hCuT?ZiXHN+o09}hzC_vp8r6o> zDJT&YG)nqiqaWYsfP^3WbHoo7T)w-R^}HGb`W(Q!--Y<+&LCOSdNrnTc&trxuj!G>A6v(jr+kvwhe#>L;SaF-lO%DJHuLAG?UPfX)9qgRQ z>bN1pB{?nWv2*t6JAae#JUuyS*1Bp*dbppMt?Rtw;+Ydg*VQc9_#W`Fe%4co2v!3u zdZ}D84+bzXUu~ly!Z}CfFEF#)Ij%7w&I5XJ$Wdx6HgX;O_xkcQ{SYx{ihppufp2hs53a35QftQ;N|Iz{!z$qu0IkiLGtXgE(iBrG1sAK~EQQV^_8>u~25RtX45I&jho+A{0z`a3bOLv%HqZl*sRHnz6zZy|ODGw)cNK8PCw&8H4tq=cr0Bk?e-DI7 zwjKD(*^?UOz^`{N_5|?XFWU?o_;ypz_@DFUW5zP&@`&B|<^Lf_9=|J3vD0`ab@O@lR`W$gH0Yio+*k9slp)@r)wBDEekfu7;}%nOM6DT2B~e)ae*d&hx4vz~a;|N6v8i2D-@3E5 zZrAmh6>YeJK^(LlJd+7;fO8v5(YfEdM(uDMaqzc_Yf2`2H3g;h*Vho{#7>9?R#ah{ z!*H7oO-jukNWTTZLs&M0s0!geGaU$GB%E|g`2rRPh!z7C$0VR4;Q)|0d%EN9hY&UM zJWliX@f)u%+xSl&RqBYM%Tz)NU?aY+e=LfZjOB#IxMm-n6JY^C3yNQ2faoGZk7N6t zWvHx58$ock1^BgT9cVe9E8h^9m!a10<_SOTFq~i|q!r#F*h2w;>weG&adA1=S6ZD& zo(=+spv$m9@Q~!$IMCqKi9rO)v*eTv09-4T8Zd0@qWyaAnb*{{hd}QgkAyaby<-Zi zYj9wc%%gz!K-l|x1?{D&KehU)Vls1c!zu=QC70=6=%iC3MjAp@6a#<8ZXz=z0w*_y4XRhke_f?B%&ox zF|8KQ

=gyMf~7{7sE zi3YF7{d5igAL8Bxtcfdc{NH`Mt-HPP_Toz~0&Ts})(hLUEh3j`*H)^o=51}IRUmDx z(pD=46buArd(*a7P!OpiWLw)(ixL%;J6Y=`0!pd~5xGPpA#x2QBw>=tod5TnnF#@P z-*)%+Jpbq5%$alf-cC#=IiGW8L{*L|+JD}~HyA)ge4DCI^r#kD?^l*(RTfW|K8gEP z72>jN)Elvo7uDWSF+?9l`*D~2u0jXyQ61gMnLsDLz*@D%Q+Un&6kKc$vS7QMnp)Jz z6`N@TFK}xs{!#r>$)G6iY9=cs;hUZR`4D}EO1a9|2uG1v<0 z(M&!BvD;Xw?r}zS8AWIiL`)T)rsVzh2%!P1pa#Bl$C-t=TW1zs!!lgpmSa)TAo1=s zL}HFrK-S71AcnzHaac@4Rb+%r@BuEgY((0Oxg<(2o2GD93Wf4*f{TEd1RPBO0AU?eTAG(knbQeiYaHCUf#Eq~x zMqw3{fFh@)i{{`zHLurL0mC5}km4-E5^!Ifpld&BwouIP;f|Eo0#;dx$=Gb1`ncFG z`WUt!i}g&^XRPWVX&<{0`^G0@-5#;`eq@{u@BVyJ4EW@C+%9P4brb!fyOd^49~b~G z+7xFIdoQ+Kh?>|$jEm>F7x!Q_I@4U<9V35os)#7hXmz=L9@RdYgE+%0y^m3_cPnKD zrsSMrtW_0JEvc5KJ(u>sm-(@P*n}b&H0n`2e!JjCmW&|X59=P@tU-)S$Hv^aF~up>rprG+K;w>$>IB zjVl(p=!yeJ5VROk$+(z`y~Uhrh%`ATX11c1HhB(zwHoRA(8DMYiwr@4~ZB?{oCRHZmy9M1%=L!hW7v;OQU)r z7wZ56`-jZ;GJjASk?jSz(FJoyR8jCV9-O*){op%S9C|LhU=bH94PaEMdy8E$#b_;V zGDH{S;Pf|}gUn^swa^lLOMuvMu{H$>nW`BDIzbK8keuzI7!^7SS^ntM*nBQP5TOxx z1};PBiAb^in8K~Nx)ZxSj0NKGjm<-7#>CY2Fn2KxC3WI4#Lj{MY)6T`^jlm2r7Vcr ziXA0Gjx80gEUZz;;~{X51+kFGvtenj7~(9J4WaWCg`*3`2{A%FB&1~AAaHOua+T5i zjP9KRw+hk`lKSAj;gp3s#b1XY__7F}y+6afmA6YZ2sbIGEQ-&d&Gkv>G7NViq`6bl z0e2kt3%$6dSU#?dkB}PZ4!9w^V@%rOD%jI=7R8tAp{njdbJ{B?APp6UJl6yFCjkyx zcJK(gAIpT=AgFUdW{V39BDEc~>`mpFHw5(@aYzV`UU@0kq6XTUiPG@oH&< zkgO~n+E@VOwUe&O&_f|_1qgW(%mITqDFdmWA{OARX99~@C98DM8&F9(S|PT~277S= z^*_PQ2(gJ5M?_*DZ?jEhmdd9dMgcN#sL434LNTWrKKmj)Sb2Lg3>FIyGPahg-Nyg$q(5cI~4U z!~5?IlTC3N-ce7ZL_Y;q-k(-92%mYou}L@$!#nGHHihkfYj9?~2;8}gArgdI2W?>` zopdLBw7^ID(_ElSHRMjs@a_-ZcMFb+4v#&bvk*hhStt?=;mV~01^Hv0$j1gbK$mB- zI8|e!CWb&fkH&ed+Obz|5yQx~qy|2{0-e|+-W@V}SRNieXgLhwgBG~58$O$2^WhU4 zK9q52G^ab)BXzAi3jAI)+fS&cZgiw?E(U|eMUX+L0OeoPQDM9PGB&WpA(smXf zb>F#E7M0VbTZg)Bih5L!Aj6t)wg@G0kVqe=MD>xLHbT;(3QpHgMIn=e24PMKF2spQ z=8~|uUz0#3)+Q#Rl{N9nA&3-3kDj$CSV&+6qYFjN3^_GG&WbG-?GdcO4&21*7Wu9PeQYM*`nMm-E+T&@CVfJR2KV59fsO z79$U5KL@(vPQRcD9%-|S9&zc8BQbSwCfv02*mTwp_Y+$~yFp0T&^!d?xaJ_blk?)d z?6jvi&%DqDcN0_VipvO!FX6)=U5bK7D4hDJPmq{SaI^d1;si%(_Dh{W2GHG{ms0~(So=mU2Gl_@>qjcE>3nj!BQqMK|37jE z5m*Zcmtboj_77}@aM7Dw*!mDeA_WnG9FE!vmk!()Vle2G@-aMNqVK}th1;+WyJ{03 zNIt~4iUSS&c<}M!JAp1dtYShFHK}#yJ7`YLWN;6U#m6qby<+BZz{jQoKK9&i#mDB! z;@?}l_Pv#3=&_iKvtE1a*(>&4RWX{gMSq`o$p5tOx6`J*y!Wv$zy0y?mtJ`FWwi`oCaR=&B+GcOIv)Wj; z{`~p#{pm$VeNOG|yxNxkm(XCpbK&ZMaQ_+M+BuV=oP7xx99vpH2c4aezroR5ph!?! z{N%OG1=Qe&>*w@;cyUP;dw9CC{L10N`m!q*3Ipa&@<}??7!fV2xiu#*?)WNi9WsYY z*LQckJJ;m9dGGq1MYAgOKUMgq7bR@5)X(iazzM}X_XniDhE$(Dp(PLB_LGF%%nsjb^QeO4F~mqQsc7X?&Z(H90(=)dre ziZk4r6Fu_v9Yq_5UyR6ON2brBFTNPDM{amgQtJ4&ZdTP>g(?}Pn zuzr6cr<(b0rNU8}vd4B1Y5l44nnP3xbIGq`{ramf&t0CL?z%JW8K0D@tu<0)lME)La5LJDnQ1R??I( zZ;rF|>-w;yFq>qqO%vazuwJ6n{i-?ZP-9$LS^swXC^;6FGRZIF)SmzwLxyMUrA@xt z_RhIZ@1hFDlGaXGdGxg3mR?iA!+ix04-`DyAJ-YW?y!2XedKUxwLBxYe`sP#t2|>x zUtC@2x})j?_R@2{C2gJ4?Q>)q%FCUJDXnQ4!F@xGDe`l^Ng=igajn{c0%Z$zT5F0c z2py|YA@CK#`MLZ zP~U@e%PsbXT`3{&(#{E{xF)Wy*uL?Mud#1vYf8xaj0F3}OTNbbp+Q%a?;(Y6nWA2& zyOL`weKRAxKd!?!qrLOn&}v!67P~jKnuhS8b*#so3ji`yJ)1J}RYGozbVAb3m72A44N~FYzlC(>X!vzEXSZcBh6M#qocS@>|$nxxx`>Pqsxvp z-&fTfld{FKB2U)^h}uoaF_ku4A0EYg&6cvC0ywsVJ;Hv)?q~O~mF&lokrXasB-O-- zzdOQo?5o@^lOw^X+D3Q#aJ7um;BC;IQDxKqD4P3(4QC`~g+Xi`vWwV zrMDXH(%)5uw%Vww6I-i{m>kQg3CIbw>{fnQU1lo(%rc6QMbu^)B5GP{TIzz&D0fOH zn;us!OUq-EW&W}lnKyHnxyZcEJdpP7Qhlg?pE=(gZGKu7EAyjHb(^crX+??-|06${7&jOj$NC8OE$vq=^Y0=AT&}smT~i{%Q%zaIO3P( zmjf8t1tYU#I?tpH21SIKXdlimP1EakaEz9YfT^OBZaYsUO}1B-k?A=BY+Lw3 z&J9kDL!xe?ui-vIRox7Y0<8-~25eYP-Gd1%jCi>Vug_N1PsBzHds@n4Slw#5Hx}?O zl>LU7wf82`3dMjc6E#ezLYpI*gY4(*k9ss5XOz6eD@mQ7))c`|sqJg3uiQRfbAy7J zbrV~2A%?ok! zgXmN30&ap+!V_bouov`(w~Bv}`Y6nLjZGbk!zQ{RvJ=6TU3r<%q9e4OU|}x6_vF89 za8dG0Zy+x}>u&hswOKOqBoL|kf++OWY;5wsR{F0D@~mV0yZ|*i9yCD3>ggls1&(l0 zm=y!s=raAbj=pdPZQKJjPKnq+-3ts`5AadUY+o2j%VH|p#u=-1_e zUvl$e1bXtukeHkI0#wY)q!eH>n*#8$76d?&1IeSHUv>U;2U?4E#a{W+6>}YaRb6&d z8i_DdrfajuVPy=_O9&?cg~AO4Ad7)12|%)dS;Gdij{x$*%+P9fvIEVs&r!1qcnW!=|FGAfbmO0b$JaoP5@MekZUmuxB##1 z#+Nv-vL4^v)@)wH1!Q<|XM$ZGwzAS2XuY9b09r{B(#olMPL26*%nWHGPk#;LkVRiP z3v-0UfM#jXjDQV5Uh#6zqnwEHbr^Q5JiP&%#iMOGrYs#y&x>m6GLpAqp35B@s#74q z#IhWzEqP1}(QKgQfJ$@40JUaQ82Y0v!k225(nZUZa>Wst})p2mp>23rrB46h&-~9wi^4Hv#U$sBVjKqPdHlsJu^iw1>yS3^0Xe zf=RGOi=t3q$=s~gnnj!v5HJTy4vpcIm@5J}4A``)LzQ1t!U8PDaKWPJjQ|I#J~LGT ziYP4Ca(~x`{?h)l$eLa+oeoe^l_gJ~Hx+4PKdc6J?0r0c2k6tjux|t`$p%(X1go-V zIdDCr>OsA`svVEKhugvoCV0^g6QO`g5l#woOh7{!=_X4QGfno9d`BhVFHKu2&AAY` zu+z-F%ZLG%IBo)0=e6-JFbF_8Vj1rdcIAB}Z9`EMgkQw#hz~T}CRrsA6~d9ZU_P1% z>h(@tBD@MPbVyz_LJI*|80E z2xfze1sVlSmuh=$j-?SAG1bIbR{ktFzH z$>GF;Y5(h#?|G?hiMxbh@HFuZwy1k^p&F2V4`8 z`KShik!e5Z#X=w^HLw%|Zd}29P%k)5@)pr#Y&4HnLKLw7jI(MJoWw*t!?+-yaM+9r zJI6DaLUeIxpkv@38s2{d!;T?iV1@aAm}Shf?_nkqx+N`eN(hF@@pg65HWn8+fysm% z1{?{sNCJkv1f*2@A@LABXNCd5Kq(ngtj;}3;2uAMd^JyHl2Nx%sG=9gj@6(lX+U@; z+^3x487_=i5iY42Af!R~&=onZx<3_JpnxZrM)@#-VX_gp=n2d{i4+oHkT`O5N_ZY@ z3rEnS5sxEglLYL@DRk|i%W|}s&$Fc>Q~fbLm~ zGXj-HB94cM0CVC3FkJa-}(J97;aL-`nv?_tnG-(xH)8K7y53t54oj=-pxcEFmC z_K_CQ2yU8y{=&!-?#7cy0F!arhc|9@s;u+t19##|n*w@c(#c5}Bf=3~M!g?YJq))H z1i|8@0G44mjNoBX|9;GuF;dgjv+(J?FDc+WC$I831IVZ5(2?nH6|Q5Bv>{m zFasP_hFX4bCExK10zk`#nV{>bCQLXbpb{B|ev9ERO1(h?pOe5GaR5&frV79#k>%ov zF8&C3)^!pa;Pz=W0g84bC<^2i$nGMv8vT%Gb4+x(5vUQspjy!f*y3VD%)urR@(c4& zGOhq%GFJigAVPAD7%d}E8B1_9z@K<8cu%lZ;0;lL^@P4wj#@Cv)*vY9q*GuHR4*W3 zDTnm5#jYX>#v@ZAWhU@sKx$bq1t%!P!oj%FPVNid(9!UKK^#Hhu&aWzggnDOi;>Lb zF}H5GnE~%`fN#(|A|XvULmotPcOru0(;3Bs@wP*<4Z8h)(@ zwQ&vo6yQhvnQOpY6;4pd>8xT);Jxg2x#!xj+Xrmt9&C)XyD zY!FK^)T8G%)DI*UL>E(eeC!1X%%!S8E!YGYm3}^)*iVAb@!|>jCSq{BmI|k8jQMau zMwB(t{a=duv9ueQ!W-4kqg({!a%x24>CzN{!#2Axn>Fl)!rsDgkWGOZF_LBd{1=G$ z6o!d_y~1eN2@3(R2ukEhoDH%BBiqbTyvT15L9a%YUICcQOM~u&Kg4bBU=+{-*AgV^ z7bJA-(4jw%+9U#N#}PCZi6&wQ#-+d>f%>{c-^P11h&ifJsw@Oi7%PKQ2%0?xFyk-y zV+aZw#tKAluZO3`fm5tIQaDx*=A#D%gzGl!22ZwuI^GWmrU0Yy5E>8LZFZ`FVzVfK z?mCVLkB7_Ex!ZbS3ZS!LILo*-qI%TEphr%T>ojng1mG|80EtR!3W|VPd z5m6~~R}^hL(>){f+V0+>vZ19*VoIvj6LX?jcDgj#aH}>ySpV^&*vby5<-SXaPMdp& zcYZLp{up&FNSk);lGWEm*C~i2n(;5~VwnDct5gu3maEwKFcS=`beV(nA&Swr=G{Mdq*Au7~8*_$8j)>=#!uIqd4^6@Ek8!&^H) zPw|aYP98`-nVMc|y2o$B$y>u)O`kjchR%n}&)(yga#HOxG!!0k<#WlLtM_GWymF6X z{mD<#NA#1!44+FvuQsG_9K6SCf${3k8)x|@pFEN7=a+VJa{5O7J>EV;KTh^dJ$WiT zWZIrBYTrV&Ph8DC8C1Rf)6N+=zH!Zm>?bGBqI@@AIFxKYlw5l#xhL+-M0JKFI8E-j zM>FT@E_HixdSkY_r#U>t__@(nQ`+--s^gvrzoE*>ML|~?_1=Iv%e1~jKTj?Sz6wvH zT7Pm&Mrp_AIg{c#?+Nr7x-dDc^K(te)#CJ#zR6+6&o!Y}E$JidWUj4j4uTzS16~SG z`vx|YDq|mGPNmB}v*w%$IBHqdB=yaZe{YRAqa40gxL?|TUU`^%pLxc-#>esyvpiTD z+=cNf<(h|$V<~Eydr3>#nmTNAVgwlGw&Un@8 zZ2NUX*G$V%KAXx+u%TZZ8G64uYCEiFIr|j7&IMbG8R#5(Dq7Bw-?Ggn19b*HieBcj z*cc|jEH$7V2o}&Wbb5%Lo)?~BzRNsihRu9yGIG4ODITF-4*TD5=r!`F)Yr0==bs){v-(u!P#`>CktnF@d9c1_aRJN7HH19oU@ zdJS9jTMT!Zr<&)>vgG^NJC)q7CdE{0MOr!=$;ix>sYt?7LooAnADkot-(cCQTM}BaIdQ4d&kH)i5ikF8O5Gg|8=Gya1k#| zP$V=@yBwoO-3QDupdmKlP9&jX&$;z4VHTx#pza8{7rcC?(&sp3a93boWy{^;oq1kk zK;22i$RRX5A(Qt7t0;i2IXwM#2jFHI>4<7iy5=aJ5`ndYup+-@D0D`}*-ZHT0WMhS zrUWw`WE!!k_Qa;nmLXnzF9z~sjbOp|}}3?GK-*QbwgQpJ-q4f}m)FxJ%wy0WHKLJ7|jOz`Y z9Toq7TSVr17*&zlKZ;S!Un5L9@l!%;67mN&y6C(n_~flV%Bk8T#rYMo+d@@d0!&@` zz&-=PvK^>5s*hj(KW1{K5q`5Evua{bVRmVBie+4Z^*Bsreb(d!6TGmhAKPJl%oHhX zBj5*%waI)diEiuWPN^J|25Q`b%4|;w~-zXLYzbmq`jz}*e%W{{VL0(k1(q0 zzg0)3ZGRfi)w#DEa4cjdf~BzclvbH3ovE6SRXCQ{AS+DMYqd36nCtX#o@B>Nv{~UN zmvO%Tx&keL?u-V4!_N%D786NxGEpI;anvP_sJNewLT=3k7PfeJpDPw7wp@#ys;N4f zrF$K}*Zsu66q+?@zZfA8wY&M9EyQsBU-t1_AlYipMSa(qy6N2Z3O)U}t?(iS)rR>^ z=v>q_yy;uX;Qkf9y7#ZprAK4BQO7agMjmDxxHb|DtD&HUNCA$XuLl4}0lpjOFs66n zg#3Mu?EGd?+?ZT^le-VoaQS@`88|^^wVL(+8vTLW9Pcm z_8p{Ja2$Z@E5mH!$iiUO3*Kx9q&TwNsT`U)M9K5=lqD;9qX2!}>g$@ehMOQ-&u`@? zY-MLk@a28`RY$x}rdO<06=y+%#h5i5O&xjZ#_LGQEA&R?QI0rC+z7koW2U|aAo)K@ zm@QPF+6^0=k*(k`D0jBWLBqau!C{NWVtW@+=S-g(vQL}3<+3U-0XCmIUhnfgH;$?s zOYQyIt8?_#dHWf^bM&{2L|&R|0i^F;?mlw)H2R{88akACmcBZ*DZ{>aH+sRM5G&=G zM;QsUkQ{v$Hv{0XixOPHpdh{w(|PuW+v44f{S$V_yAi*L1GC;0DE8b9>j@yaD88Va zdl+`hTik?$$%l|lKk=goC=$PZZB%eOyyG3&o)7%y!f{|m?r4g&bM*Pk*dZYrByuz# zs=)6^NU(Okz?DwU+tCd}K;&WvenkQ_EbAg_c;5$9T!lF@K#ee3^b;sp5Vae9_g-rL z>^(I5-roX?6W~7P9WHC#RJ=db%N7OB2Uu~@jTkIX9_zQ}-+`Mzl12p&&(V~hgx`*T ztEk`Be)!gEKhEDpb;C{J*wj6J&t@oE05_E+Nqf&|N7_1Q$K2pi6l*Lq2e{cNruN%% z*ze(Gy^8HvHkO*j@Fz~u-tD}INwyKiFy`Daqt=bhG7Uw#^IcT;Ew6}{UeAvG>Jpu> z`v{>0T=XKf5jY1zOH8bREqh{SE%84ZvCU8u#Uasod^ zPxkcSV1ggd^^cpX|F;SRUO+I@qUe9BdODVWmVQ=Cm-t^Qdo_C6IhcCji@4Y#v<@~I z_ktbRpDl|mpED9vq1XmLLK|%B?HA_36Tmx1q4?Rm7XldNWs)HU0 zFw31xo54~S?tPQ!tmfet4`Aaa4Lw@4!(H?cFVnTh1Vcy0MD@58a1}*MKy!zO{aPOw zJ66{|nNd|~lDJ&>Rz=3KWx@e0#2FRL>e6((QH$Slv|W!$6-k}~wJ1`C1N72`Tr9oH zr8UP+K_#kU4)*lUgz1_R`tS*O!L+E7XNplb!bF0mjg2wF58F{lmzBzyy5J}OB+kU@ zT85siz%veQR-G#ZVwJ@I;VLWqDh{nI3h2YAa#0@(Cku_GkP6)9KPqs378U^VL7H>& zem~&0sM_7gd8&yQ8;Dn+6GbjqJx-cc^s0#24#5O_O!5xo%ucf_KG-Zeq_kawt-*+I z%A@G7#txKLmFK;{)7UnbA{f~<<{6%ac?jabeU@+ii}5K~1rHMq&guJAFZ3X1&Ktd0 zI9^F!;iMB?Fm0kKLM8`V#}((|GenP#LARMYV5ephwF*u}!x}5@0Jx%R1D}$X)4=f6 zBUeiQAPqmP_`#m>j0$bDdesHi1`^}wi+A%@(`UnwT`~B?h&$H&0I@M7B5f{8yrwHI zB74%D)1-!OUXFBas7zHC9EV_SJq(WS105Sf1GbpzqM`3OIuQn*a>fQ{BByEY2~+cV ztkHqEa9`KT3^R^0z9ha0W9*{Q3L`Xg3BwMap<;Obh$E1M_u;Z&goevHN5}8r@eTgi zMK!YkcI0B{Qr3if2QZaXWl@?)LRt^J#-a&g>|34xpMJeXvoqI zT_ah0c&JADI6mWT$K;<7MZB_6VoA(_=XMP9s9MvVRIwXk;=vsf8^S0#Xzu-eup)s1 zOOGaw5ZNSDScTg*I#+PYLgAeep#%0%fSd%rhf~le!!Tkb(m(G0#2IL>I<IAQC~?Gt@$t;JqNO~C^0v5Vlqddzh43lI@fDvL#ZUxFhk;$9 zp5pNpew!ssC;^&+wVb8D#MOM_nIn;3y8bNm5wRG-py=)u&xq2o1-yRQ0i#*py^LaR4B-bx&XpI&}K+KQCn$)U+! zGD$G2bigkfy{Vx*`yvoOybLTS?OTh52=s(l$`SA?#c;%h7)eoJQ@{);#o$qK^i>z` z#X~5KY=K~&on8iiyqUbI4&aS~ns_4$83M)_=+uvV_%;^gc+4n2v~u0SF1qS`{bG0} z8{wHVa%<8u=)Kk10X-k>|k&+WPbK*%H2)WX|2^AmhYVDdK zk4Tg86vv?lb39#?Rq`F)NDH-2hoIxAf>Vst3ZB40M684t!031l0gk*C?w(^iHfEC@ zf=2g4D&ty4faN#~w`&qik>qj&FTrIn?TZN#p#$fpYWSQ*A>uux0R~T^uDpZ=rydDs z+(NLRvFR)jI4z&$7b3Sn9$Mi^6tZ&>3%By;Sdhr4(B?vm`(jA73-9N|?{Y+(^1xq2 z#bjFv3x&icqJ1R#FcviWMhFDY;P6KW z++71W1iLz6<|m~jb#xfTP+{Zy?eII<*Z_6no?Q?P*jYw|xPO9OoIDc`hX_1KuS&#Pgbto9S-9ICt;V@FmXIubA@D5r;=OQ-HHM|h#rsN) zPg*({IZsr2VlowsMBMZ!$ptjeXd>GcVMU|KEp)6d3*6j~)n(6}bOLTy#U$)ph0Vdd z3~)yT!r@$s0Y@xE#zBwKJ%-U?0X^#T1a==iMj%dN+H9WrbXY?TEZ&<%Bir>{}^hnGeiiee? zgeMZ1mr<(41+I;@z5&$33;wmoSliYidXQ#IeYgz8@LfEOgv0mA=muIMa&^VM$rkpF zxFvdgqccW_gkiLZnNdH+=6DXu)3Yqpz{d3OhowltdZZ$>gp=GXY3TxvVn~WYd1AMu z;A&$Hf~_zdruD8QGd-GmP!=T6B^HJKb1&}Y6~a|6<}?%Duy`~U+u%-?$CRf)B2N1d zm}3zxWV>dUBIv^l#==LF+mSBn28FD`fi5C{k_s4&9^E{N&G^QiN4NKU4F0pDb<{nV zI}F${wB4M>a&r0pq-+aLKn{(5`y>yZkMX5jzX;D;fANXU3fa%c{e3n>9(pqU@ns#q+!0VZlIi0e8DE=j321v` zf1*k!^NvKfP4HQNtt@!f-0q({XU$D9zNqdil^l9fGw0Cj-zOxsyS~k{2Pdmxs4_v%Yb5^zM?W1+)?X7Xm>9=Tf>_c~l3}tSqueh>j#r=h;HmdXF?7M@m4kKrR zHe}UNT^E(V&f*tw^zxcU<)+sTJrwAdott5=SM50`GqKLN4=ihHhHdf_L`69;=?!a;P`4@0d?TtlGCF zuB`u3La^;}dR56vMSm%q*jM2baVdTJI(2qaA!`20b*!_tB`&+av?nq0gW#fSAMK@d zS4rpYmbiZ=My?4is`Ak`r}wT?f7B9JW$nqxjdS&v9#3rjFnHY&p9vqRx0ZBHYl&;< zFKte2l{?=lxs<+Qo%+DB&Zd^Q-2T%3#7UKts%z%$oc*lqT72s?uNCP!eMenhpzLJ) z$-D8-Va)vRU)0$s`uIHTx-5&_;j&v@uZ_QD|2QC%39;i(=w##ZF--a z32V)t8g?wsFKu0y$WO*6C#H zpy9YISiiKJu6Vt8Q0tBZ;`Xf)_oz0gVCvT zHU32riWYFt)89puwiJw z;h!P-Rgr-i;9%EKt6`xmB(`jguSTk@-ebIDr?YG5XKT-NS@pYRNxlKm%Ie+5MNNfD z19QRJ(<`f9TjiLaPalm8%E$@G(GPuT?a7r@$Cu5>h?p5;9O|+5tdMcmWNUv2T3z;Z zhIWR%t}`|#!7@@|cvM!ISmjufuUw(5&Nb=+3c7~8>fVsCoypd!5UHwlc1GX~ud|(7 z>pn4WY)H1cLUfg_Q!?n~%Cv396-|Y7o#jAXeMtMUXxE=LbhI*Uhp{EcX&egZZOpL9 z)$vs!?PZaZGm>To)^$p?g$g}0V7OgY8B_M6uPLf%m)f~A*f7McQiX&ajGUR_H7nv= z=e)X!mXX23vA%w96lJQzp;H%g$j~H{%gf}xir1BCJB|K1o4bbgS$lLAb~xE;389K3 zLo+n9v^AXxy^XY9_rnAuH|ry zFBSQ=FSXourc=G4UNIxZFw`*BFjPFts0vu>OG!gc(KB-DI=$=mr~`7MEF+Egnn$dM zlYCWgB-V76)P>2|b9H6nQ#?tDEjJol{xZ$x8z1q;*{TS&O8u%{-F8 zIjxHe->%xpR}>Y|{;xB}>NJLnFRP5Udc{$s)YKF7ROSw%FaW?LIw$x?r zu4UF|v(1H2xU;i|Ik84B=~F1K>}D?ip1FK9J~CKZv7|b&O+NR}YHNHXMcZx*TK9G5 z{GhvQ6{T@uZBx{X6Iy3TD`aUOuh5sS;s%!mt;?e-7pI;1z!FH!Q9l}V_qn*&(@!K! z+TNKMlzuku)$|r)>Adv436ruqFHKS#=7gzz683ECJUPkVFega;M9`9RaRrkK40A%& z4+ahFkzS69Z+%9+D`;S+RG%&{PYKJ*mc$qv>gDC(Tu^;Y+&XTsQeGaDo?@6osjCtq zx2dlFEH9UYwFN3>)yBo8FN%-c-FbMDz0RwQ4hwxmeM>^fi@jai-ST%J`^O6qM!rEFMq14K+VoUt%quG{bBA=Gqhb4)Y&n!Lsi{7Pd#X zKkqv;W4pSxQ$Lh;3p@$;`TT3O3+nxY6^}_a7?#u*)HE0#jPB3NGd*T{QnMq;((F^8 zloYlozrS{g%!}#{DpK^;%8FW-wlB&LFwG3u=3VO?`N=s~IwfFdPHEac%PMo4nKS?1 z{E->&aQLYCo9dnDR&)pF%?6A}2US<-~thTki0Xo&f7%9}SWBQ6hX?y}PIb-^_a`tD3*$b-1#ByH%TWq~o+6Af%(hCMI@nIkiTG#fM7c2tcGR4R z3MF6u?#SZaHAz?p!BLJ!AJdfK`nM!334e~%(`upiMr z!O9_(W4nHI?>$s;;pGYIdo1fti#hM`&RQ`9S67 zBWR!ftnvVEne3;`8r%B-atrdvoFxc}MQeX_JN@ zaDi2+nbUc*p^?OL)JB0PPQ`9?)Fl!8BCU?i79DIs7d`#7rcU8&`sw#^1gv5(h@>0D zB*VINP?c6$%t5HquyQN*%!(Y{VRd|8tPni6QAatcpskk=k%NR5Oe2BeRrP9L!X0if z2;&2GlV-x;`3*I6BddB3BkHuMNZjc9PU4!4vgYgoGpE$f}%Sfvmd_(lFiH`vd zJK^j`){MxGQG0ls$GkpVDbiD7m~bpn&6-a71lj~oIe3^0WMfBkgQ^ZFSbawG3!lSP zxjUp1DC@7>(#yssW>vsP)qE5SYrO-sjIOWq>}Y?RWbighXGmV$BOmP(|Tql zR#x_fc8vPgt#X-;(rf#Iz+F<2wE-lOw11RHp{ONu$6;;vTq?0e6aSSK#9F7zhfT?2%&fn3~(x-BV@y7_T!7L zgbQ2&^RagD#TdA#!xuk+{T>Y~QHy9i>5G+Kulo}6c!_L6W3A@`ZPZ<81y{nxGCH%$ zK)2{4TFANLTU4?#?Slg@I=Jo;Mt2z<*;35u2CfcOEaXZYbj9ZBa468zYmlx7&GZye zh(MYZEki_PBWhU#J$U&?(R;j_IT;=2u}8@ZBL%`H!0Vg0PCvh7DXv z@D$WitZ$A7GwVcqJT!?u3#y$8!2-TK^+(*xc29lA@MT{E`>s(vhiYQt%tJ*X$C)q8 z3yMO>iZE+IO+khEPGd}MOifG$H;IX4LKr#oU(8=K8=%cn z&&KwPqjDLKh^Uo}3k>JD5^)R;xFpxd%H=sge8)~YLa*9e@yaqrR(^RGikco=gO(uE z{2*Bf3g(i|Pjo8MQ68roQgzZLxfgL+PL_?zb4k>=-7Hh%KyPC?DyaBYPnRfWqhQ?L z2UQd<;*uP+8sQ7*qlNokl3`6FL>8_gLWBlldD04H|C_SUFQSSQd%SYO&$QG`{vJ@h zlzk{Ee326ky#5~2m7#)S)ZK@IU8)9r2tEbd3GpRPRPR&~MeV4+9v;ssi@RsJbK@CmI5(aiW{I&12u9WNH8?nI#|g|o9J`(SfjO{gI{ zK6W3%m)Q~9B6h$zi!~`9!{67fC?B_VD#(emJ7^7Gf_pPMi^@pTE2&#~Y5cVYwQ~hf zyy897;CEFv?Ag9oRGbk9^U?11E`?wZE-69XyjEw$OD1H)8q+p|>5Q%g4U0;zv*Q0M z&|(uEG}4j`WyI+ZdWcu zAVY`>ZxwyObd4J=(p@Qzg;+8=lr=pTG>YElBUf-}CLahJ<>9z-Y;4DPOF|lp8gO_< zBSCD&V}QM{a$(Co_1s*x*k`l_{kkC{_!=yS+Fbhv@*9Q)Rvw2w`ZgDR1-*%857IF0 z&F85>DEbHTvQeLK6imxE%f_ErzY)^mpJMsA0xa_; zb(`n8Dsk&e=uUjXMuJ?Hx33T9@ee;e=)?l^J2fEw6Bjni0pgCkC}``#HglvvuxXrb zEbL!f$F~4rU~=Vh7kv;t=nFR$n_yk@0;i(mPi9z-`iV>PPt>umUIK5*CuZy6ktW}{ zG!QUiG{jHTG02(TMBoaj1k;IWCUo}zdT`VL5>CNK>@Hjjp~gOWxByiy>?Ici7J&|@ z0+66JReph?i)PT%cWja!b9PX=2w{HDW0#$wcZ zx8Z|yq=9;LFGrc_izwVB9@Om--3Us1P-owyJ$v=26n<5hjMPziNm&)J3KH6K84g%p z1cx)|W#q>|)5*Ay^~~Ds7Be04PkTB1h^R-`T)ORiqreYcn=(=7^Yys5P{#Vjc0V!`t7kh9cbi#Vz`Xhgf0@Q&fpMpURWW@Ks{gLLBrk;xiUv%@1Y-yCINFR za*vQltLvg-Lg}m@eU)9R+N=n&&}`Xk98T5n*U}p4BJg2k1p~J|L-4Qx;yJq)Mv9@} z2k2cR)I_HC)!Kzkcy4tHDtJCU6Lz=O;KzY1&14lLRR3cP#Xpea3$bF{GcIaelt+n~ zGr_Y*en$l(k7swRPmRD&N-5v241K8w)+`m|I%bIV`0*J9Ev4}*fIr~qt7!e#>OuMf z6fH2JB{nL{N&gT$#}D2Xrg4&Xlvjy@Whm(?(z|qEke&92R;)rS#dc@8a3y)>NEwQO zmYkx-g&LN`aR2VJM1&`N*s!0xQ7#S9@AkVH{S60;G;}IzI8b|oC#n#e1Yx-O5co+R zk@6jq5aBNHpFAUF7(rX%03LC|5RgK0UDaYgigxwU)9mPPKzz7#FbX&ta7khY!5Toj zTG4E<4C*-rbcHJj-C?wA7$OZ8zJq3qBkOi#T){BJvq2&c;3TjQ0vPlK43;piWBlOV z%|fotxCMEFfECF3Vve%F{+sUW*?g7(VBeh`v&B8DV4#P`PX7+T|J{!Y=%-i1CixV+ z53fb=c!FbS7j6ymo$&C37;+Xi(B~yUL)@EKk%%;Xu;2h5NZJgG2JX4wqQC;-=?V}j zcwWKlHM}M}-jTlzEAX%b8wO7|;CRc0ehygnK=$6RK){U2CB~E**eC-Qk&r^2HhYWy z6nC;5(bca;cioPRPI%xvHqbbsg8T0p#JpASm4h8@=0=0`22xmYfm=7$wHA@6fVMI5 z7#Azg;E9oUA`mzx-rxnzt$|<(PVl{O@WfD&x*HulpX5Mn8FOI4aQ9H%#55QJVLY&Z z%`W&t1uqWO@EPd>IKiVLJVtv|gt%H77N^@N{$k8J_20fe9j{tHi2kHCKU{hYF9+w7 z@YI_=`oG{-2v*LI2niQ>T#Cj2>6w4H&xZjj23|FS{DIzL*2{YlH^D^>!hIhc_!M$! z<@M@#L&unk8~vvb4SEyZ*GGTM`4PA6G_2%r*~7Slfi?8eKc{>*W@mwq;GR%H24(DE zh|lXekrR2NW$t3+@tJ=V5E&TQgMb$Uo4eWIJ`8Tw;BX1d8NOZ7vc?H#iRSR8CCM|L*$dYzg;%27E0R)Nb=kY3fxa7!sbeEWQXZUhE++f{g z!MX|Ev}#-z_+*^I`E&63Jq@2+6n=b1^O!PR{@W9lGNH+<6jM@@rAnz-$Na^C%Bkr|97q+ zQmi}KD6rK%DozD>f~_VF_0jjjeFcdqA2-n-;*A&zeo(J}E=w~iP&l$y^O52E_rYzV z#LUHlV>apw93{RR4gAc_Vs8EJOZ#JAR(T&haMz2+zr1VW;*;AR$ohKXv!6fz%dLx_u1ZQV zJ=6GQ+XE@4DtmiM#_rY%t-LlU$lua|a%D+fdCf_h=4N(ncl__3dHM1GuKwenUI_d2 zw&Pxm>v`_Y2|qVfSikxrJ>4{5USHdDWxYlyK^xwaQyF`{&Ns7HzeKV) z`LflC>Cb{@1VM z&pz;eICIxuF8y)#?GJR!e}3<_d)~VL*)Jb>aqHXj8<{JT!y_stJ4*Zugx#izdAT0TE?^64LApFUXg z_SQLjzd3*A-L+3Ywfir({qfubw|uto^dsK{tvvY4$4|ZRZp{Nv9(nuD`yGuG}kOqOFdj^IS1RREv8d?yL5`_Vj zl$LI!L_j(Q7+OL)rMs1o-?;Zao?~Cv{rqw7eZPnE_^dO&Yb|vOy4>*daif`FfU0jW zz{vMKKzFm3R`?-+3onC~B0QNkKFkJXvkXU3E>oeP*`l!2Lq1sJNH_D1*s9kmQEur` z!E%n#Hy0!wh(Ij90BB3#;>Z^e1<+E@_5QYxoCZmYy+5}aAX~5bNd?Qe6vLeV5y3()1!1|DOtAP% zIatjlHY`f|Rh1!A?^FTtGbdwQQSTxpTA7J#q{X%f%Ee0(7AqZ6Wz5t!RT%SZ*H}%I zxClmzJ5hyH+Lq)iKo*+7?@kzU>1)CDpYGX|eALbkK|@PQv~yR`o{k@{)qf>q@o4^< z*1IB{00-u4qFpJ=2R`0KYnN0EJYzJn6OAeIpjDe_K*Ah_R_mo>5ul7=$zq|8IcQKx zp}_HXp#n6T9L4L!yIOlGvx;m)B8+ZA*%Q_%3(Kt14UB<9rKPkq;}giJZF&@^m*8r3 zV+=yYLa!Z-!}rO_#@tW>P*I#l_kBVT$*^sN((z(gO=`?QJehB=&)v_v1E-mQdKQ*-#c|BCDBxVF*h(wC_jeTz52reeK?AwqINcPazLj zN@pTL^oK=X4b)6ZZNc(ZR)vp-2il}}D5)~Y7; zQwtyovH$xO*S~_#C=N$B{{I3#aq+)^&&v&JOo?;o`ql~Qri*va2fxuC@1cF=o#3RA z+Jrh!jXG-SrHeBOZh-^>m3*QU%tss699!~ODQNK<#u zUYtCUB&D?E=nP&;m=lP_w(d)j3VuwG?Iuk|5uWoV8bli@_3p#Yu=m+8)AnE=;w#Rt zrck-xvOc;6WtnSzK17Eb=SM#+UStM`%C>07@{740JTevU3AVl6`If*IC^ee)>u|*p zgFVd(Vd2HS{$USR>3rDE{??w~sjhQ8*M&E0ftLJ*)ffJry?*cf4a^^zcOT-etoY~O ze*N@5IP#cU=|{LUSTm>@Nzf||iYHqR zRy%^h8U|i^=-esG0Is%~AniG z=a_oJaG`)6Ed$kikxZU=QIviBcmn$Pqs^L9NzO~7pF2@2V28k-mDiwLBEjC5{ENVEy3x>oGN^lkPpDvoP=M&eIZtZ;ZSAM zE|Wqb+cIN9T842>Wc0Q^ipz@*R@0bXrDD-ORZ?N&WMB-aD=npy8UI8lGa-fnumo~` z+YH6*#RU7*m|3Ma-!}Eh#fA|q0U$0(ql*|9M0R4RMuwqU5r%5o^X-xq`!?xdAAoMj zSGvM+Ipo;(Qxu&S%W7F;7D899P4W}7jX9VEAXE}Tmpsma?B9l^raZ%*#wke9~jB&NXFS8?&kn*Q54e#NaFr?N!rG($OD8W4u&GWse z-aSK;Pok*IJ)S(_31#jam(f00YE3B7sD)F%CI0=T+-JkUcd9oK`ZMn0@vMCPp!b?L zhJ0rd#p8?l`nT^iZw&a(GNIc6#pAfaL9l6cPhr!$5zcu(8UBj9x*7(%bPVoBF+T4< z{zA2utAnKb|D;{d(PCU17h9MIIcxos%5E|HL(*^LsY&0Ggsce(*$C4V2)%sfEK2R& zGQcNy`+pApS^j9L7$&oZTDzM#M%%m%A6= zo3$ij_{l8G_rX2a1Fch^qn{LW7?1Z2&=>4fweZMQ6&p7Mje00U%DAz!f?$0p&M8*O z9OHyx9bF914+1qjcNuX1#=-XX*3N;Bj@Q@Aycbt~*IWDJl+(>o+?^Bs2Rpk*U%$yU zU-^F1m#y%<*}OL`HWA!-yMwL|{KLBAm6dN8)};#z%5`QWz28?*Ht$F6#if2epv;;o z@hBjuuJP_YuaiD-INo!lhIY!Phy z^WZjJm1;n4@aTxW%_G|fq^Tk}1PG)e$N*)PO$U23k`92{w_`A9^MJ+-po&*c$AR&H zJlRB_lek1w37vVLruNcuG-+SGK;o2RY0FDw@4 zZ8t#XC$dgZoWQ!LA(-!g)NWTB%xmV+ok;`e9U44wkp3KJE3!@)KuZ|blE4#?Tm|-x zty16YF%dYm6Chjo!tlH8=g80ApOSZ0DNvT%g-EJxJ7nVa2GVew205{vj1=28MtDgjjR1NVchY{H zSVqciCi%b133L^f^-JL?B*>(^(F;l&cYG8H;IU+H_-^in+yabqrEr?5I+eOe_O?Lx3y6>(RhGMPOgAi;QA&l-*OY>icgFM=o8{lhV@ zT2ZBY0s(IiPpo^oBOiBBrhA+wZ(&i0d+Iiy9gnJ%R$`(DR7pxNF@X@O)u6tXpha0~ zUJ!?-D#+IH$Ap}Aj2J2xH7VR?vxI-1y#0*~N22^z;Mw;*TB%)GrG ziqALGg-mUxGr^#mL`7MXwD#57l=ST8B(>)?zHiQ@i5+nX2O+QB6w(G?%rG(+F`*4U zH>Bq>p;G7lO4DT1)(5W=o55qEqr$(>BMG_ zGFt@=&F)4MfwU4B!jt&M!jgC;rV|&O=AO+t&aJb0e)UiU`ABAQc@~NqZ3@{{jLZ*N zW&5Z1fi9$T!}lr7h!1GYuvkdV@L4F$?z51a5wTF4VY85#5wcL3;j&Pek+9Ir+{q%H z!ONnYxtB#g^B{|Q=57|*3_%vv3{Dos3~?6C43;J748A4h%zaDp86r#S8Ei|k8A3~{ z8C*+>84}B$tb`E;5bjbM2zU7jC}L?A6tOG=Qd|1Ei+h026n;R+6v~3f6v0A}@rngM zBaDSGBP7d>;jnnb;b+PS-A^frJ7W!OAKG==v|aAEEZHt;xe&Fi2w744w|!5)W9vci zp)}CI1yU*O+m&0D|cU>M(yQ@{cnGNoqV-{F`SeYR63O+|C zuu)-k-v^gJe5k`Po!E#lBlNi>RoR+Nr4XaVFv1F3EjZeo$Z3VPQtIw}$B`AkG1e?! z&TNDDRC|>bw_2!$Io+=9My;HSr?Bzet0}3O;rC0g#zM`h7+3t3M84lutH+T|_^toFYKGZ2XN1hJH*{H{r6!ye=O4^7gOkfd`T+i@Raq&=%nK1Ah z)wOBzA&o_cr5AqC7-v(Nmhb&VtIL<}EiPvo!9lYrKdQMoZ~pcIyL))=(I4`C|8I)D zf0FMn!2AF5E#W`ntwv?{-Qasfx*#*qnEp(GRy9#}KaO}X_4a=KSEJFTgcXe6d+PI1 z&W_}!R5WAjYV~UVYVhktbAwEc>qh9rbF4?o#Ul6Efe%z50*s10%y$W}WJvcAR6qPy zeh($+LO36hN86J=5~8_7y#=?!?FI#NJoO7MTLmaF)6+Kwh235d9y7hs+@Gsc^NYw#vG_Iyq#$2O zvqNd6d>a;sA7w#aTA)9YcQj5j z_9RTekvnDZgK&Lu`411|eGqZJ`Z-*H(!Ds^Mjpk!`~vl?U8y+krnn|A8N%}eg4>6c zARzUwO8F4t)Aw?l-L%bw@4+(x3LJyfAB4!YjwmEm2PsO^ng^D67}tE*kK#v_qMirR zeiEH5b`_Z{bp?tSxdOyXTt&r;4@AUE4}f(=2Y|Yg1JSx-7LmGA7NB<#3&6XCMbx`E zOT@dhlh%KH8QF|6caJgVu2nh`p@1=WMHq9Zk1=#D1>6hV13b$wYmNVP^dHuSW%P(s3^%2tthq> zsVKDsx)fPr(&Gv3m+@bi^mrG=)Qn%IIJY{=jQ4ACesx4T`l%-L9Kr+-s$9q7D`w1dTO&;b6B|I*)ZeW` z_{te`?bm$Ytm8*QboImBBSDE{l*Q>sdP6vlnV7Qj1%ZLkyPzYLWBFg?R0cu@f@=hc zh86lR*60)UD-7t?a16mN`UY#%D!gCbCdxn|4O(jnu5S|#Z1Mv2_7Yk0AVCSLHyV6r zcE#hCdHO+#nm0OpXFkQ_@_G8V37XB^iGG%RXTi6NCXXLp3Sts&fclZdU#*_Q27MhL z26)B)HSi?<0z4n6fgNqn(FPh%>&8MEae!4(PYSK&I7UsZpV&-m29+){97ixTwU|7jb@{La_STI)SUhPk9FK5?kuO3b8qu>G zHR3NbLB(^AnBfK(E09mJ02-optcfNUk7wjf_&ppiyQK5;@Zm9TrRZnr_WVx6iMK~w z-D!-UxEB(9vkgY1rff>$*1xfFS*X!zKFM$@%snTdH12~+^O$O?<;TaBdm1(JSR}e= z`s7D^GuX;M_1tPIuJ9Qz~pLTg?h=_C(3);2*^K7me$)jXbQIONaG=0=-^p)h7ufD zr5{#YJDK~D?1Wz|6R@xv{3Oi?iye9TlQu0(k32ssC*qK?wC1fjmdcE=?^(pvraCVq9J;htf~%`S9jm z>T~PLLvCrpD}d=w!kRGbO;$!_<7LuD{D`&OIn9{gGT#>eN+I7=#n>zig;p>WQu4m$4lamANFDUwl_rkPo zng1M#Q%LFKQ&|61<}_Vy&$A$7OM8)Jarmpx`NGBd-aw0vUa|l-nCTa2DfW=`hjIn@ z9;**258kdqJM+Gcv8Ah{nVDmCY1-^8TW-de(w?-X{VjzU-M7T|PKJ$9BxCg|Xdhzdfq>Ipjq9Gcpsm6!J<9 zovympnWVY98qGEKR##S6&54z}e0(ktGGlXFyhB|Au8w}1wb;LMr8$55w}8|V5+dkX zhrb7dE*XCaM5N<#DAV)hULVGbvX(s)XPoY>A`SHTs3y|!`w|SUbz)b0XAl^Z&!!QG zv}20D4j?)d8~M&^85+Qu#-5fd&#i<6qYT&vRF_qC(+1$Vb2xNP%CzrQnK>~3nd)_= z6d|AwM|P-^!WXUw?^O4_F>2k~dRBg(1RLDqG&fIE9cafuHv?H+D_?xH1%R#k=Nz9sA56n+GMKx&Q*28sU9X>|qT%qIUit+HjBX;IMT zhSiO$&cp!Bd}A=vY9_$Qewdc~ArM8#glXMqFw<%bQUha#`Z~0bydZK|$srIkKJ>ZV zP^}uSisjZEH7*w+&IP1W*`)0&9_7$53Cap3CKsKNNR1>`Rfiz9bHRF#5nS`~P+-{j#bOn`c! ziXrg3@38OU&oDBywPP3XVIm>t>)!`BAb@Ou+rRs8@srI?Yb z0U`W>m_ABh3C<{$ctlyQ{ZSLGjB@uPhlNY0ROx4QnB?oi%Zv&ElSPZ7lO^&Zlg0AD z$x?ZMc#*uQcuA{>c<~rr+5{b@;nT)6eAJkRFRjWVqjM_TR@A%1gYN723(Sh}60;&; zVOE59ReBa(Q=f!v8NtaS#3ikmhEIzwVqy_v1mPGX=#DzrCcv0M&ei(HNCe1YP_noJ zV+Oxt%-{~j44z@kAP&Y1a;!ErzC|d`57ZaAV9ekbj2WDzH6GtXmTnWH#Jspy8ylk# zO7nyD#rxKC`WHZ#(koh@@f%FThlP?mV_j|Wdvl~9H{e^uY%QxFd-=Qchn9ip8tr>` zS+IY|F&{TCR7&MN+5ughjz5x_e-|x<&P^xz_VnX5S_R|NAeHVZ9f|xc?S?^nV(4=7 zLee#yU(|~a7ZY6}LTloQ#`|ElH6bd!7_!DT0bz!O9e*%+0qRaDgqpl4 zIEZU-n~I_gy7O25`K%06%wgTRb8+|19fkjte+F=b7u*E~|2OzKzqiyISD@@3_WT<3 zY9HOfzLFCXS(lgxK+#;ER4S8m@ON>_R_ZDF=tt(4j|CTz1hT^(Rk0nllPpE(AB^X4 zeGRDh@f%8MX!Q=fzCLGa3y>VMw}KORm2JBlBtL1Kn}nCg$au}c?SHA6?{mtyKeWjz ze1LLm6G_utj(YzlV01(Cwd>~v*k+NB!{&*-L?4JM^R2OYI6n65Gy7I*_5f;J$Ok58 z!u+s@H?OQ!NqWQl`tPTPq{ z#FH_N;)U_KX;k?WkBVzd-w>9qZ4kE$#WhL1|ME;md5-P2Tk=s#*gU%j=F5RGdq|k+ zhX`kDf-!1aD^vR%_%gYzU@f4h@_lccjK)F)q^o)C1D*|v<3>#t^rBdsIQ$fNvrsfY;47uM^F`HYV#YA2ulwNOS4gC@DzP-!>d*D3SOAB zes{O5e#2_Nnep{kjJ>Z|6Pdp+sy1O!vR)Jr97rn!tD0+2mf;^yn->oZ@LdTEuev^j z(R~G-XHCg=KiKvnfHsl{-8CK+#CG1+4#K)WpqJl_d`_{u-Mzn44`{Cl5OTW4`Kxk3 zCG|XUm?vi^=EV66LszuxC^ukpJ5naO6gdH;j*=2r8o*grP@X7%bt*2a&3<8+C>G%AU8 zA=Vt<5=O;rN;<{0qL*}hI#lUhy5zVMsViqaUmO{-pu7DZxJ@oW$G$$Sa`IyDcJTA+ z2^pb$GJ}fNZ=be)DT)dOJzE7bQl_S7?I6Iu&tilnSv0JFcfpyx>px3&2c6s7|hKMK8KbpdvBWZ%8?Y}Inyz9gWqJ5B{~D+8AXf7od{AC zB|D0D<%Qj=g>oW9q4KG}$V}Nl5~9_hP(daqlgc5h&QN&Tv$WMG@nouW*$kSd3@Y?% zPSs7(e6&t)$l%aNInkP`aLjel-*zYtPmAK`ggAuq=6I%GQ^(q-=*nr1T{N-^VQ zZn!Mn*Toh-esoA4dtcZC;2Yk&WSHH$^c*C!yaW2W!~puboCfk=dIIuao&{Yk$$+kw zzsf#n;`Y4LBJ4>T$m)p~$m2;H*frMPlYam4GX9c5Hpii8cJ84^Htdivd-YH&o8pk) zg}8-U8o!lH`hM$Lixm#ZUD1Yn11ooa>TW)|e!BVKT5(e#UC@*GH;*Ut(6W$~kk8$d zFrl_zAev=8Q1a5i2zm~>>`!0}Bl5F<}v6V4TV_I$-bIcuoDf->jYO5exzgMs}#fm$` ziK-+XVs2p^?GPdC7{m*=^w8uCw;b*UM#=8>Q3qmNyAZj4s&=Ug{2>oRw_yIzD06)C zmF*>SCMb!3v=WnL1za1ihZhE(}G2ENQa8Lffe=d=54{t$nI;?F{Y@~C7Q{;@~k0kGzf#UUNzHvHreya@DdG*grq>^upMr&zL)}N%1gh>ivT`vL_1}=$h1ZgsUD1cx38OLI0BX}Kx{Ukw4p6u+5 z4VZ-<`~&e(w^4p#f}^=rLU3?zd+!8udL%mMzzg&@)+;D2ly8peIY1wtZtorC`^?NR8O6;p3P1Z%m#H)0i&k9U>X zN^4*3u5GjfNKC0YcFZ>^B6n|_ejpPyejpluFegQL4WNB9#{oR=+Jhh9=ZU_{4t~i0 zeqvJvFwl$g<+AzmwElf(q*QrwKWk_-9>*6lhaZ4r%z@=!*LhU{${_nM>%0`l%)i!o zB>HuKQHL*k*S~kU|A-9E)g~N6f683?Kal~61%jaz*fIg?_8qhWnBYK`3V2O0NY@!g zja&w4VLDtYOoy8a(6m=7e~3v7;dSF?)l4wtAvvrJ69v*oG67H3ZL~?HMYsq)iE!a- zAp0;IeI#b1FBy4{+2^A%`@GGQpn2a;-?2@nCU|{ugAL7}eV$$mlNKmt$JLLW|HOnD zb#K@Jb<;SwS_T$#NDQlZr-~mZR}`KX3(!+9EQpiieOgTeYgsC+i=!LY2gX+^Yz~_6 zoMwB+1<*x>`Orm$2O>E^K`8xYx!J=j6fP%*m+L&IuA^3ZS8 zlBE->o-m=Na*6GB4b?=>i#h17CLl=cZF`iW*Mrq}(n$ytrXI|BFr*SlDWEe>4rfz=>|d1(v5>`&A~y|=FlLxxqc7~v&@TB6p3P% zc~i_X?}YO5B3^whos2NRtn>Mpb>4_ZAy|xm?Hq6GfoCD7qyBq zm-N%cj?2@=PEZBwneAV9pMA>vhUP0NDl1q))0dQ$<=exV3?Y*S&Two)19ANqaEfl; zwBm&7@Mj6-P}ONwmBc+LXj+joF$1bGtPPl;@ODPy8hC)ktU>p|rkJn*-iNTQJzg_p z1_!ROQ5i8qbk+bWJbG^u3!%y{RPQHlC~KT7SF-T_{+sKYKqTV)X>BY1d-{p~g?|4! zK$oe_FCJ!n^XCA)$Yiu=3QXoj_VCXz&)+X3L^yf+r?#aLd;6AtEN!d#!qHCx5ZT~! zFj$x#?*U}_-TGoN!^d`LV1HW9S;m_Jg5{-|`w*?2>plKBBd$0!Vu|g0cDh%)TYGN@ zq`UNH^jO`rR)|#aOhPIFyywA_&qGU$;*v@DkZidO)<@(CErA^&&ODE^G&pBH_^`fkJeq7Xrg_Z}~*T_Tr?LHB9HR+7@q7}wx8BJ!%@xJ3UCHfud zKX&cSuDX4`S7y&TV#Sa9djq|qUN5yy(v!-B7Rr?Kdhe?GLI>V=y#-Hfp>JqXGCi66 z`Q&EdoxJ(MS$9sm+l_LB`$B2Ux&%2rxDl3!~CZPvx4YP1Cd@ICMQluFvA%!Vz<&Fwam|1qHoog(? zGkNC21131%o@aG)j5H6}oKtJ7$cA4^lbh3ctIQM9$Ty#`uSt?$_)TkT@0(&l>^I}B z!c$`$9_&O#&CIw@4~$;(C?#5>-MUMWZd-Q@J|dy2yt#=WI1*??SBNy`+U(=vQ$at3 zSG#`zs-#4!%sCXTQp3dl(b`&Z`f%NyGkt@wgHe6CN4C$H><#o7?Z}A8pVJpu9_lf3 zp`-So`H1{VT0WVsYCLLuYTbyf&7WU} z@?it8!PSA)L5cy2!T5prL4yHcRw8<-Kwsr;?1{em@2GRzf3_KZ}9he=I5mBojd+n3r zllEkwd|mv6Ir;qU#mvvg9x|7N7qI%nJGS^TVD{Zwn71|Z@FS5A$3xjLosLdC!q|_= zhdiqIvDR-6C6B|oM~r>RCprvzDKb&^%XGfsa$gK4f!buhJIt5wNE6_W z8rmyKEWc|)JO9{RnbKbbKM#;(kyf$3CF^ zS%PQK4a3$uOz4-v$;<|UTYY|G|1RlN@`hx6^gh`0c_K;`VfuafVBwc*>a1`UDed_c z3bCW}wWnVR>=c;yef-!#q}FVCitzQ-y)6Dg+`yTZlcfxcjm6T#WVq1Q(lvZ>HF;Q7 zc-_dWaxhiTZZBSy&Xl(7!X2sq0mjGA^kk>WZPXmOP8r2(of%DtbX>Y2*nND9^$ntJ zD1Ks)=fdhx14_j==r!Px0JpwMd)+-NP)skAR=6PcC2*UGH)Be|UM<5$P=l;5L~l7p zM*n^m*Sq33JgC&vbQ2^U=4n#HPS3usoK6AA0=rifb5X+-yK>%el5H4r*3r^XV$rCW zlOs&Ks^9RlS47rxtu(%2V0Yo7G(6zf*MwSX=-ckdoNxe7RH%Cj#h8VUc=lmb$)*{c z>+e^EIxPPxPGN^Ahb2s>7J+@|j>dl@P9;|x2NyeoKYGPX41e@01aq?X@W{~DaUD}2 z4Pcl>kSB5RW-CxUo&oLD-|r-XM1nmc6To@u>T^?ErQ?Y(j@j~$^5KhZSb1FPj6boi zdAg80Ja-YB4NypF#`cuz(_1z%tvmG8Xp2rtT@&Rm>8|J@v&l#|4l)xVu zw@Ezi7t}0rk)2iP$^>nRFxr-xa7zywjW0`oSK*Lnw7a^ZiNJf5?tNgA!6yt}o?^%Y z818BczzjhvC0*nt;xptzMh~}(G@W2-IjBuGW({9^e9zxkez)WXPk5vxWha&NZ%?aR z@DqNbgEcqV_#SMWf6z_7d7t3_`Ebm=(R60LHr2i?_*T3vPf^$A%|P!n!PqkaGg6x= zu~ddy#~cOhqQ*tmxjkNj3PAV~)%B>76{qkn1Uqy^>w+5RvIfgow|tn`DEgObOLJGx z5cqeT;nLp*a?H2?&?Xqhg<=@@zn-T4opCCLN}AxmL2h1iPJy!LwkAcp8qkQi`8^pp z^%)Gx9-($t49R~_Mf05?il)E*wHSR(HAC|z$EkA(O;X({)+IP!RKt6#7ChqdUaHk& z=vq{CSm|UH{;}z-eYQfZdE2&m z;pLaDy@P!+(k!c~ov!Avo<6KtA#5Fc(GY#NY3b%e_Jy6jlUyEF9>&WXH@RhvcM)ne z9TW@YI0$AKgEb?UD}F6{1`F#*vf zeU&dBl%DgM*Zoqi8DWT}$)TCR^eLY9D!^-8an*d|*RZARXf`q)vd4 z&JY4xGRUah@{?+xEi>KkAw_hZ^*?p-{D`FL+G+|H73c>5o`s fFS{Zs@Yv-HC4K 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 MGa4ZTyB4tj1LzeaDF6Tf literal 0 HcmV?d00001 diff --git a/app/libs/umeng-analytics-v6.1.1.jar b/app/libs/umeng-analytics-v6.1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..76e618c23d2e7a0c1f1d24f9aa42f57a0063f555 GIT binary patch literal 321807 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 B9%#f!HqH^kCfJmcblHb?_3Vi#QjZR7@1fv zt?GE%b?25EvAbGfxtOSa{{l(Zr_7z+#*01oSx`Kw!D()j4W(n9d>$F6-+_-j|5mhr zC+gk-_gkxf#K)9$5?j0a)fwxNTz?UjYr3Vnb)i*C^7 z+nsIxnALhZGA;~)GnQ7K_nNOVgHjhW%Ycq&b)pL09zRT2ePE&EV6 z6X|%rYitK=&lM`<^=-BEz0o@>>J-Z3xegPu(=ODAEG}1%+1ZiEbzDBo<46V00Aaos zxmRj%tVL%tB7wFsvN?G?Ql*5V;HqAO7R4chW=F-Zl=mB*`?tE@?3bmrNSKmdc8t!R*|Sv#N$o zL1U_8=R!5kIzdiNHb*`w>)=)KGYCPFM?ELt#Is2cYv1BlC0O54Ta#6FNV5xEErda5 zAc!ToT;Qt<21eI@lXFE+fXOpDA9%3&{uW03ElL6gLr=8~e~(90`^zsRJorYhAO82Q z7P$vzne>qSqH4R^TRZ-ys4IkIQO*^n&=vgeumOI93*~`P=H{i;KbZww4aYwfxQ5oM z4@}v{d8|1?p$z1W{Ofr7)I1>?WTJS`LsS&yvIm7cnj?spaEw_q1YE5rM%~U|g?d*G zdno9@XY?UubWvpLWxHdhUg$Azfi!Lin)gjw(P;~Sc}--$fK(4wTA_W6B|E3nd;Gv} zi<1b*MarjZFXe}y;CH53l+$S`oRCq&>g6*%93wTig;B|qvBh7x>jo)U;};VRFm2(r za7#FGU*IxE15X&!`BoBO16>GOHL7cQ1qc9|m9Wu|rKRP~5aKErSGG zgJ#tdvrjSm!T0Ah602>ce(X7;J%`w0`Do$FyU~LKnBpRj^Mf7f(;VpmPK_{V_%1cV zTbR+?_y}6Qvsk>xD{hQ9N5otubD7f?07Y7|YnWF~y$atKiGIwt zZ0O+)&(MS;%wyQQ@t8rw(Id4v1e*6}q$)}#3`)|7AgZn}Q;NdYh~ZlIrBJaXq^GqK zfwt;r;XvCci&kA4Mz(IT*BIAuL*B#p6hoxde83Y49^C()?Qk6jXObLK1LVHo{M*9vI1L_@C7t_yoO z{G^g;)+i^|KBa=0MSMl3jclwSpF#Fwob}bQ6#O)%A2-gE#WKzcXczNS{IdZJ>rqg5 zdC_l&+2NoA29-&PRRGLlm?Cv<5YLi!9Avj9Ze~t#M@1-zX>ejSh2jsC%@k7U^mOA% zi>U+GUI&f(-^8TH$-`}Km1j!zk_xrwiZ!2=U8#0d%2N)dg-6rf-Yo%EJ<^NI63x_W zKB?!U%C>L#q?#$Zx_&y&*{!_LFfv>_l9^+V9oC;24b5>#Lck0&3RcbK-;*+GwPfMi z2CBT1>>m)yR+x8O+VydJb^$Hm9=2vG40mB$dcvIUhF=N_L50^$Np>Ip?mbi zGi~M-D(7CA=Y-O8dgUdv=fvUb`!7+Rlbn~#ntS%^=&XiK*Oj!mZ}!$~uMy>#;wW5M z9q|pGmem(z($^3IF#273Svn%;ABQ3Ov`$3>7kUo?3RChO zYr>c*wusM81m}D8w48C2gn7&Dq9svF^%J#9=vK8*r6I*ugWl}6V1|(~?r0HC6z5y4 zKEo;I4y1<#uau&mQ|CwN`_ezh6?A7`F$nJin&82%a(Zp`)3L< zi2~{^u;i-`yDTUo{*_fomrm^+D3E9tGh+oStlm90x6K zjy}2&nf5$&ur_+dR%hg5^qg$BGMd#^WJEc0fj*!y+70GRjZb2PAQDg?o$hmOQ-jG@Qn3HdGF;FiFxTYQ;Z)zBpkzkCkZ@RhoDo8ljOVr;^_eGV~BEP{h|k%I03kWsBc3 zy5C4uOy�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

mCC` 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 ZS3(D21!hjq@SgF!1x_MHfh>UX{{W@P*2e$< literal 0 HcmV?d00001 diff --git a/app/libs/utdid4all-1.0.4.jar b/app/libs/utdid4all-1.0.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..34815c34975b9949a23b1c95992971f171c59edb GIT binary patch literal 50843 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 z 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 literal 0 HcmV?d00001 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000000..d9aaa87b4c --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,206 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in D:\CodeTool\Android\Android_SDK/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} +# +# 对于一些基本指令的添加 +# +############################################# +# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改 +-optimizationpasses 5 + +# 混合时不使用大小写混合,混合后的类名为小写 +-dontusemixedcaseclassnames + +# 指定不去忽略非公共库的类 +-dontskipnonpubliclibraryclasses + +# 这句话能够使我们的项目混淆后产生映射文件 +# 包含有类名->混淆后类名的映射关系 +-verbose + +# 指定不去忽略非公共库的类成员 +-dontskipnonpubliclibraryclassmembers + +# 不做预校验,preverify是proguard的四个步骤之一,Android不需要preverify,去掉这一步能够加快混淆速度。 +-dontpreverify + +# 保留Annotation不混淆 +-keepattributes *Annotation*,InnerClasses + +# 避免混淆泛型 +-keepattributes Signature + +# 抛出异常时保留代码行号 +-keepattributes SourceFile,LineNumberTable + +# 指定混淆是采用的算法,后面的参数是一个过滤器 +# 这个过滤器是谷歌推荐的算法,一般不做更改 +-optimizations !code/simplification/cast,!field/*,!class/merging/* + + +############################################# +# +# Android开发中一些需要保留的公共部分 +# +############################################# + +# 保留我们使用的四大组件,自定义的Application等等这些类不被混淆 +# 因为这些子类都有可能被外部调用 +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Appliction +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class * extends android.view.View +-keep public class com.android.vending.licensing.ILicensingService + + +# 保留support下的所有类及其内部类 +-keep class android.support.** {*;} + +# 保留继承的 +-keep public class * extends android.support.v4.** +-keep public class * extends android.support.v7.** +-keep public class * extends android.support.annotation.** + +# 保留R下面的资源 +-keep class **.R$* {*;} + +# 保留本地native方法不被混淆 +-keepclasseswithmembernames class * { + native ; +} + +# 保留在Activity中的方法参数是view的方法, +# 这样以来我们在layout中写的onClick就不会被影响 +-keepclassmembers class * extends android.app.Activity{ + public void *(android.view.View); +} + +# 保留枚举类不被混淆 +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# 保留我们自定义控件(继承自View)不被混淆 +-keep public class * extends android.view.View{ + *** get*(); + void set*(***); + public (android.content.Context); + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); +} + +# 保留Parcelable序列化类不被混淆 +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +# 保留Serializable序列化的类不被混淆 +-keepclassmembers class * implements java.io.Serializable { + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + !static !transient ; + !private ; + !private ; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} + +# 对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆 +-keepclassmembers class * { + void *(**On*Event); + void *(**On*Listener); +} + +# webView处理,项目中没有使用到webView忽略即可 +-keepclassmembers class fqcn.of.javascript.interface.for.webview { + public *; +} +-keepclassmembers class * extends android.webkit.webViewClient { + public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); + public boolean *(android.webkit.WebView, java.lang.String); +} +-keepclassmembers class * extends android.webkit.webViewClient { + public void *(android.webkit.webView, jav.lang.String); +} + +# 移除Log类打印各个等级日志的代码,打正式包的时候可以做为禁log使用,这里可以作为禁止log打印的功能使用 +# 记得proguard-android.txt中一定不要加-dontoptimize才起作用 +# 另外的一种实现方案是通过BuildConfig.DEBUG的变量来控制 +#-assumenosideeffects class android.util.Log { +# public static int v(...); +# public static int i(...); +# public static int w(...); +# public static int d(...); +# public static int e(...); +#} + +### greenDAO 3 +-keep class org.greenrobot.greendao.**{ *; } +-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao { +public static java.lang.String TABLENAME; +} +-keep class **$Properties +-dontwarn org.greenrobot.greendao.database.** +-dontwarn rx.** + +-dontwarn okio.** +-dontwarn retrofit2.** +-dontwarn javax.annotation.** +-keep class retrofit2.**{*;} +-keep class okhttp3.**{*;} +-keep class okio.**{*;} +-keep class com.hwangjr.rxbus.**{*;} +-dontwarn org.apache.log4j.lf5.viewer.** +-dontnote org.apache.log4j.lf5.viewer.** +-dontwarn freemarker.** +-dontnote org.python.core.** +-dontwarn com.hwangjr.rxbus.** + +-keep class com.monke.monkeybook.widget.**{*;} +-keep class com.monke.monkeybook.bean.**{*;} +-keep class android.support.**{*;} +-keep class me.grantland.widget.**{*;} +-keep class de.hdodenhof.circleimageview.**{*;} +-keep class retrofit2.**{*;} +-keep class tyrant.explosionfield.**{*;} +-keep class tyrantgit.explosionfield.**{*;} +-keep class freemarker.**{*;} +##JSOUP +-keep class org.jsoup.**{ *; } +-keep class com.monke.mprogressbar.**{ *; } + +##友盟统计 +-keepclassmembers class * { + public (org.json.JSONObject); +} +-keep public class com.monke.monkeybook.R$*{ + public static final int *; +} +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +##百度自动更新 +-keep class com.baidu.**{*;} diff --git a/app/src/androidTest/java/com/monke/monkeybook/ApplicationTest.java b/app/src/androidTest/java/com/monke/monkeybook/ApplicationTest.java new file mode 100644 index 0000000000..5fa3869c7d --- /dev/null +++ b/app/src/androidTest/java/com/monke/monkeybook/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.monke.monkeybook; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..530fef4372 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/BitIntentDataManager.java b/app/src/main/java/com/monke/monkeybook/BitIntentDataManager.java new file mode 100644 index 0000000000..9db86da2dc --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/BitIntentDataManager.java @@ -0,0 +1,34 @@ +package com.monke.monkeybook; + +import java.util.HashMap; +import java.util.Map; + +public class BitIntentDataManager { + public static Map bigData; + + private static BitIntentDataManager instance = null; + + public static BitIntentDataManager getInstance(){ + if(instance == null){ + synchronized (BitIntentDataManager.class){ + if(instance == null){ + instance = new BitIntentDataManager(); + } + } + } + return instance; + } + + private BitIntentDataManager(){ + bigData = new HashMap<>(); + } + public Object getData(String key){ + return bigData.get(key); + } + public void putData(String key,Object data){ + bigData.put(key,data); + } + public void cleanData(String key){ + bigData.remove(key); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/ErrorAnalyContentManager.java b/app/src/main/java/com/monke/monkeybook/ErrorAnalyContentManager.java new file mode 100644 index 0000000000..e99adda161 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/ErrorAnalyContentManager.java @@ -0,0 +1,124 @@ +package com.monke.monkeybook; + +import com.monke.monkeybook.base.observer.SimpleObserver; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class ErrorAnalyContentManager { + private ErrorAnalyContentManager(){ + + } + private static ErrorAnalyContentManager instance; + + public static ErrorAnalyContentManager getInstance(){ + if(instance == null){ + synchronized (ErrorAnalyContentManager.class){ + if(instance == null){ + instance = new ErrorAnalyContentManager(); + } + } + } + return instance; + } + + public void writeNewErrorUrl(final String url){ + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + String filePath = MApplication.getInstance().getExternalFilesDir("").getPath(); + File dir = new File(filePath); + if(!dir.exists()){ + dir.mkdirs(); + } + + File file2 = new File(filePath,"ErrorAnalyUrlsDetail.txt"); + if(!file2.exists()) { + file2.createNewFile(); + } + FileOutputStream fileOutputStream2 = new FileOutputStream(file2,true); + fileOutputStream2.write((url+" \r\n").getBytes()); + fileOutputStream2.flush(); + fileOutputStream2.close(); + /////////////////////////////////////////////////////////////////////// + File file1 = new File(filePath,"ErrorAnalyUrls.txt"); + if(!file1.exists()) { + file1.createNewFile(); + } + FileInputStream inputStream = new FileInputStream(file1); + byte[] bytes = new byte[1024]; + ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream(); + while (inputStream.read(bytes) != -1) { + arrayOutputStream.write(bytes, 0, bytes.length); + } + inputStream.close(); + arrayOutputStream.close(); + String content = new String(arrayOutputStream.toByteArray()); + if(!content.contains(url.substring(0,url.indexOf('/',8)))){ + FileOutputStream fileOutputStream1 = new FileOutputStream(file1,true); + fileOutputStream1.write((url.substring(0,url.indexOf('/',8))+" \r\n").getBytes()); + fileOutputStream1.flush(); + fileOutputStream1.close(); + } + e.onNext(true); + e.onComplete(); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + + } + + @Override + public void onError(Throwable e) { + + } + }); + } + + public void writeMayByNetError(final String url){ + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + String filePath = MApplication.getInstance().getExternalFilesDir("").getPath(); + File dir = new File(filePath); + if(!dir.exists()){ + dir.mkdirs(); + } + + File file = new File(filePath,"ErrorNetUrl.txt"); + if(!file.exists()) { + file.createNewFile(); + } + FileOutputStream fileOutputStream2 = new FileOutputStream(file,true); + fileOutputStream2.write((url+" \r\n").getBytes()); + fileOutputStream2.flush(); + fileOutputStream2.close(); + e.onNext(true); + e.onComplete(); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + + } + + @Override + public void onError(Throwable e) { + + } + }); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/MApplication.java b/app/src/main/java/com/monke/monkeybook/MApplication.java new file mode 100644 index 0000000000..01c891111f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/MApplication.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook; + +import android.app.Application; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.widget.Toast; + +import com.monke.monkeybook.service.DownloadService; +import com.umeng.analytics.MobclickAgent; + +public class MApplication extends Application { + + private static MApplication instance; + + @Override + public void onCreate() { + super.onCreate(); + if (BuildConfig.IS_RELEASE) { + String channel = "debug"; + try { + ApplicationInfo appInfo = getPackageManager() + .getApplicationInfo(getPackageName(), + PackageManager.GET_META_DATA); + channel = appInfo.metaData.getString("UMENG_CHANNEL_VALUE"); + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(this, getString(R.string.umeng_key), channel, MobclickAgent.EScenarioType.E_UM_NORMAL, true)); + } + instance = this; + startService(new Intent(this, DownloadService.class)); + } + + public static MApplication getInstance() { + return instance; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/ReadBookControl.java b/app/src/main/java/com/monke/monkeybook/ReadBookControl.java new file mode 100644 index 0000000000..c7f4412e1d --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/ReadBookControl.java @@ -0,0 +1,176 @@ +package com.monke.monkeybook; + +import android.content.SharedPreferences; +import android.graphics.Color; +import com.monke.monkeybook.utils.DensityUtil; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ReadBookControl { + public static final int DEFAULT_TEXT = 2; + public static final int DEFAULT_BG = 1; + + private static List> textKind; + private static List> textDrawable; + + private int textSize; + private int textExtra; + private int textColor; + private int textBackground; + + private int textKindIndex = DEFAULT_TEXT; + private int textDrawableIndex = DEFAULT_BG; + + private Boolean canClickTurn = true; + private Boolean canKeyTurn = true; + + private SharedPreferences preference; + + private static ReadBookControl readBookControl; + + public static ReadBookControl getInstance(){ + if(readBookControl == null){ + synchronized (ReadBookControl.class){ + if(readBookControl == null){ + readBookControl = new ReadBookControl(); + } + } + } + return readBookControl; + } + private ReadBookControl(){ + if(null == textKind){ + textKind = new ArrayList<>(); + Map temp1 = new HashMap<>(); + temp1.put("textSize", 14); + temp1.put("textExtra", DensityUtil.dp2px(MApplication.getInstance(),6.5f)); + textKind.add(temp1); + + Map temp2 = new HashMap<>(); + temp2.put("textSize", 16); + temp2.put("textExtra", DensityUtil.dp2px(MApplication.getInstance(),8)); + textKind.add(temp2); + + Map temp3 = new HashMap<>(); + temp3.put("textSize", 17); + temp3.put("textExtra", DensityUtil.dp2px(MApplication.getInstance(),9)); + textKind.add(temp3); + + Map temp4 = new HashMap<>(); + temp4.put("textSize", 20); + temp4.put("textExtra", DensityUtil.dp2px(MApplication.getInstance(),11)); + textKind.add(temp4); + + Map temp5 = new HashMap<>(); + temp5.put("textSize", 22); + temp5.put("textExtra", DensityUtil.dp2px(MApplication.getInstance(),13)); + textKind.add(temp5); + } + if(null == textDrawable){ + textDrawable = new ArrayList<>(); + Map temp1 = new HashMap<>(); + temp1.put("textColor",Color.parseColor("#3E3D3B")); + temp1.put("textBackground",R.drawable.shape_bg_readbook_white); + textDrawable.add(temp1); + + Map temp2 = new HashMap<>(); + temp2.put("textColor",Color.parseColor("#5E432E")); + temp2.put("textBackground",R.drawable.bg_readbook_yellow); + textDrawable.add(temp2); + + Map temp3 = new HashMap<>(); + temp3.put("textColor",Color.parseColor("#22482C")); + temp3.put("textBackground",R.drawable.bg_readbook_green); + textDrawable.add(temp3); + + Map temp4 = new HashMap<>(); + temp4.put("textColor",Color.parseColor("#808080")); + temp4.put("textBackground",R.drawable.bg_readbook_black); + textDrawable.add(temp4); + } + preference = MApplication.getInstance().getSharedPreferences("CONFIG", 0); + this.textKindIndex = preference.getInt("textKindIndex",DEFAULT_TEXT); + this.textSize = textKind.get(textKindIndex).get("textSize"); + this.textExtra = textKind.get(textKindIndex).get("textExtra"); + this.textDrawableIndex = preference.getInt("textDrawableIndex",DEFAULT_BG); + this.textColor = textDrawable.get(textDrawableIndex).get("textColor"); + this.textBackground = textDrawable.get(textDrawableIndex).get("textBackground"); + + this.canClickTurn = preference.getBoolean("canClickTurn",true); + this.canKeyTurn = preference.getBoolean("canClickTurn",true); + } + + public int getTextSize() { + return textSize; + } + + public int getTextExtra() { + return textExtra; + } + + public int getTextColor() { + return textColor; + } + + public int getTextBackground() { + return textBackground; + } + + public int getTextKindIndex() { + return textKindIndex; + } + + public void setTextKindIndex(int textKindIndex) { + this.textKindIndex = textKindIndex; + SharedPreferences.Editor editor = preference.edit(); + editor.putInt("textKindIndex",textKindIndex); + editor.commit(); + this.textSize = textKind.get(textKindIndex).get("textSize"); + this.textExtra = textKind.get(textKindIndex).get("textExtra"); + } + + public int getTextDrawableIndex() { + return textDrawableIndex; + } + + public void setTextDrawableIndex(int textDrawableIndex) { + this.textDrawableIndex = textDrawableIndex; + SharedPreferences.Editor editor = preference.edit(); + editor.putInt("textDrawableIndex",textDrawableIndex); + editor.commit(); + this.textColor = textDrawable.get(textDrawableIndex).get("textColor"); + this.textBackground = textDrawable.get(textDrawableIndex).get("textBackground"); + } + + public static List> getTextKind() { + return textKind; + } + + public static List> getTextDrawable() { + return textDrawable; + } + + public Boolean getCanKeyTurn() { + return canKeyTurn; + } + + public void setCanKeyTurn(Boolean canKeyTurn) { + this.canKeyTurn = canKeyTurn; + SharedPreferences.Editor editor = preference.edit(); + editor.putBoolean("canKeyTurn",canKeyTurn); + editor.commit(); + } + + public Boolean getCanClickTurn() { + return canClickTurn; + } + + public void setCanClickTurn(Boolean canClickTurn) { + this.canClickTurn = canClickTurn; + SharedPreferences.Editor editor = preference.edit(); + editor.putBoolean("canClickTurn",canClickTurn); + editor.commit(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/base/MBaseActivity.java b/app/src/main/java/com/monke/monkeybook/base/MBaseActivity.java new file mode 100644 index 0000000000..c5d0afb855 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/base/MBaseActivity.java @@ -0,0 +1,19 @@ +package com.monke.monkeybook.base; + +import com.monke.basemvplib.IPresenter; +import com.monke.basemvplib.impl.BaseActivity; +import com.umeng.analytics.MobclickAgent; + +public abstract class MBaseActivity extends BaseActivity{ + @Override + protected void onResume() { + super.onResume(); + MobclickAgent.onResume(this); + } + + @Override + protected void onPause() { + super.onPause(); + MobclickAgent.onPause(this); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserClass.java b/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserClass.java new file mode 100644 index 0000000000..d59fbde476 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserClass.java @@ -0,0 +1,37 @@ +package com.monke.monkeybook.base.observer; + +import com.monke.monkeybook.utils.NetworkUtil; + +public class SimpleObserClass { + private int code; + private T t; + + public SimpleObserClass(T t){ + this(t,NetworkUtil.SUCCESS); + } + + public SimpleObserClass(T t,int code){ + this.t = t; + this.code = code; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public Boolean success(){ + return code == NetworkUtil.SUCCESS; + } + + public T getT() { + return t; + } + + public void setT(T t) { + this.t = t; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserver.java b/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserver.java new file mode 100644 index 0000000000..fc0629dc7d --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/base/observer/SimpleObserver.java @@ -0,0 +1,17 @@ +package com.monke.monkeybook.base.observer; + +import io.reactivex.Observer; +import io.reactivex.disposables.Disposable; + +public abstract class SimpleObserver implements Observer { + + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onComplete() { + + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/BookContentBean.java b/app/src/main/java/com/monke/monkeybook/bean/BookContentBean.java new file mode 100644 index 0000000000..fe88769292 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/BookContentBean.java @@ -0,0 +1,143 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Transient; +import org.greenrobot.greendao.annotation.Generated; + +import java.util.ArrayList; +import java.util.List; + +/** + * 书本缓存内容 + */ +@Entity +public class BookContentBean implements Parcelable{ + @Id + private String durChapterUrl; //对应BookInfoBean noteUrl; + + private int durChapterIndex; //当前章节 (包括番外) + + private String durCapterContent; //当前章节内容 + + private String tag; //来源 某个网站/本地 + + @Transient + private Boolean isRight = true; + + @Transient + private List lineContent = new ArrayList<>(); + + @Transient + private float lineSize; + + public BookContentBean(){ + + } + + public float getLineSize() { + return lineSize; + } + + public void setLineSize(float lineSize) { + this.lineSize = lineSize; + } + + protected BookContentBean(Parcel in) { + durChapterUrl = in.readString(); + durChapterIndex = in.readInt(); + durCapterContent = in.readString(); + tag = in.readString(); + lineContent = in.createStringArrayList(); + isRight = in.readByte()!=0; + } + + @Generated(hash = 1355824386) + public BookContentBean(String durChapterUrl, int durChapterIndex, + String durCapterContent, String tag) { + this.durChapterUrl = durChapterUrl; + this.durChapterIndex = durChapterIndex; + this.durCapterContent = durCapterContent; + this.tag = tag; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(durChapterUrl); + dest.writeInt(durChapterIndex); + dest.writeString(durCapterContent); + dest.writeString(tag); + dest.writeStringList(lineContent); + dest.writeByte((byte) (isRight ? 1 : 0)); + } + + @Override + public int describeContents() { + return 0; + } + + @Transient + public static final Creator CREATOR = new Creator() { + @Override + public BookContentBean createFromParcel(Parcel in) { + return new BookContentBean(in); + } + + @Override + public BookContentBean[] newArray(int size) { + return new BookContentBean[size]; + } + }; + + public String getDurChapterUrl() { + return durChapterUrl; + } + + public void setDurChapterUrl(String durChapterUrl) { + this.durChapterUrl = durChapterUrl; + } + + public int getDurChapterIndex() { + return durChapterIndex; + } + + public void setDurChapterIndex(int durChapterIndex) { + this.durChapterIndex = durChapterIndex; + } + + public String getDurCapterContent() { + return durCapterContent; + } + + public void setDurCapterContent(String durCapterContent) { + this.durCapterContent = durCapterContent; + if(durCapterContent==null || durCapterContent.length()==0) + this.isRight = false; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public List getLineContent() { + return lineContent; + } + + public void setLineContent(List lineContent) { + this.lineContent = lineContent; + } + + public Boolean getRight() { + return isRight; + } + + public void setRight(Boolean right) { + isRight = right; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/BookInfoBean.java b/app/src/main/java/com/monke/monkeybook/bean/BookInfoBean.java new file mode 100644 index 0000000000..c8f5aa96a7 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/BookInfoBean.java @@ -0,0 +1,212 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Transient; +import org.greenrobot.greendao.annotation.Generated; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * 书本信息 + */ +@Entity +public class BookInfoBean implements Parcelable,Cloneable{ + + @Transient + public static final long REFRESH_DUR = 10*60*1000; + + private String name; //小说名 + + private String tag; + + @Id + private String noteUrl; //如果是来源网站 则小说根地址 /如果是本地 则是小说本地MD5 + + private String chapterUrl; //章节目录地址 + + @Transient + private List chapterlist = new ArrayList<>(); //章节列表 + + private long finalRefreshData; //章节最后更新时间 + + private String coverUrl; //小说封面 + + private String author;//作者 + + private String introduce; //简介 + + private String origin; //来源 + + public BookInfoBean(){ + + } + + protected BookInfoBean(Parcel in) { + name = in.readString(); + tag = in.readString(); + noteUrl = in.readString(); + chapterUrl = in.readString(); + chapterlist = in.createTypedArrayList(ChapterListBean.CREATOR); + finalRefreshData = in.readLong(); + coverUrl = in.readString(); + author = in.readString(); + introduce = in.readString(); + origin = in.readString(); + } + + @Generated(hash = 1627552162) + public BookInfoBean(String name, String tag, String noteUrl, String chapterUrl, + long finalRefreshData, String coverUrl, String author, String introduce, + String origin) { + this.name = name; + this.tag = tag; + this.noteUrl = noteUrl; + this.chapterUrl = chapterUrl; + this.finalRefreshData = finalRefreshData; + this.coverUrl = coverUrl; + this.author = author; + this.introduce = introduce; + this.origin = origin; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(name); + dest.writeString(tag); + dest.writeString(noteUrl); + dest.writeString(chapterUrl); + dest.writeTypedList(chapterlist); + dest.writeLong(finalRefreshData); + dest.writeString(coverUrl); + dest.writeString(author); + dest.writeString(introduce); + dest.writeString(origin); + } + + @Override + public int describeContents() { + return 0; + } + + @Transient + public static final Creator CREATOR = new Creator() { + @Override + public BookInfoBean createFromParcel(Parcel in) { + return new BookInfoBean(in); + } + + @Override + public BookInfoBean[] newArray(int size) { + return new BookInfoBean[size]; + } + }; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public String getNoteUrl() { + return noteUrl; + } + + public void setNoteUrl(String noteUrl) { + this.noteUrl = noteUrl; + } + + public String getChapterUrl() { + return chapterUrl; + } + + public void setChapterUrl(String chapterUrl) { + this.chapterUrl = chapterUrl; + } + + public List getChapterlist() { + return chapterlist; + } + + public void setChapterlist(List chapterlist) { + this.chapterlist = chapterlist; + } + public void addChapterlist(List chapterlist){ + this.chapterlist.addAll(chapterlist); + } + + public long getFinalRefreshData() { + return finalRefreshData; + } + + public void setFinalRefreshData(long finalRefreshData) { + this.finalRefreshData = finalRefreshData; + } + + public String getCoverUrl() { + return coverUrl; + } + + public void setCoverUrl(String coverUrl) { + this.coverUrl = coverUrl; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getIntroduce() { + return introduce; + } + + public void setIntroduce(String introduce) { + this.introduce = introduce; + } + + public String getOrigin() { + return this.origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } + + @Override + protected Object clone() throws CloneNotSupportedException { + BookInfoBean bookInfoBean = (BookInfoBean) super.clone(); + bookInfoBean.name = new String(name); + bookInfoBean.tag = new String(tag); + bookInfoBean.noteUrl = new String(noteUrl); + bookInfoBean.chapterUrl = new String(chapterUrl); + bookInfoBean.coverUrl = new String(coverUrl); + bookInfoBean.author = new String(author); + bookInfoBean.introduce = new String(introduce); + bookInfoBean.origin = new String(origin); + if(chapterlist!=null){ + List newList = new ArrayList<>(); + Iterator iterator = chapterlist.iterator(); + while(iterator.hasNext()){ + newList.add((ChapterListBean) iterator.next().clone()); + } + bookInfoBean.setChapterlist(newList); + } + return bookInfoBean; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/bean/BookShelfBean.java b/app/src/main/java/com/monke/monkeybook/bean/BookShelfBean.java new file mode 100644 index 0000000000..a547dc2c0f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/BookShelfBean.java @@ -0,0 +1,144 @@ +package com.monke.monkeybook.bean; + + +import android.os.Parcel; +import android.os.Parcelable; +import com.monke.monkeybook.widget.contentswitchview.BookContentView; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Generated; +import org.greenrobot.greendao.annotation.Transient; + +/** + * 书架item Bean + */ + +@Entity +public class BookShelfBean implements Parcelable,Cloneable{ + @Transient + public static final long REFRESH_TIME = 5*60*1000; //更新时间间隔 至少 + @Transient + public static final String LOCAL_TAG = "loc_book"; + + @Id + private String noteUrl; //对应BookInfoBean noteUrl; + + private int durChapter; //当前章节 (包括番外) + + private int durChapterPage = BookContentView.DURPAGEINDEXBEGIN; // 当前章节位置 用页码 + + private long finalDate; //最后阅读时间 + + private String tag; + + @Transient + private BookInfoBean bookInfoBean = new BookInfoBean(); + + public BookShelfBean(){ + + } + + protected BookShelfBean(Parcel in) { + noteUrl = in.readString(); + durChapter = in.readInt(); + durChapterPage = in.readInt(); + finalDate = in.readLong(); + tag = in.readString(); + bookInfoBean = in.readParcelable(BookInfoBean.class.getClassLoader()); + } + + @Generated(hash = 2028192361) + public BookShelfBean(String noteUrl, int durChapter, int durChapterPage, long finalDate, + String tag) { + this.noteUrl = noteUrl; + this.durChapter = durChapter; + this.durChapterPage = durChapterPage; + this.finalDate = finalDate; + this.tag = tag; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(noteUrl); + dest.writeInt(durChapter); + dest.writeInt(durChapterPage); + dest.writeLong(finalDate); + dest.writeString(tag); + dest.writeParcelable(bookInfoBean, flags); + } + + @Override + public int describeContents() { + return 0; + } + + @Transient + public static final Creator CREATOR = new Creator() { + @Override + public BookShelfBean createFromParcel(Parcel in) { + return new BookShelfBean(in); + } + + @Override + public BookShelfBean[] newArray(int size) { + return new BookShelfBean[size]; + } + }; + + public String getNoteUrl() { + return noteUrl; + } + + public void setNoteUrl(String noteUrl) { + this.noteUrl = noteUrl; + } + + public int getDurChapter() { + return durChapter; + } + + public void setDurChapter(int durChapter) { + this.durChapter = durChapter; + } + + public int getDurChapterPage() { + return durChapterPage; + } + + public void setDurChapterPage(int durChapterPage) { + this.durChapterPage = durChapterPage; + } + + public long getFinalDate() { + return finalDate; + } + + public void setFinalDate(long finalDate) { + this.finalDate = finalDate; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public BookInfoBean getBookInfoBean() { + return bookInfoBean; + } + + public void setBookInfoBean(BookInfoBean bookInfoBean) { + this.bookInfoBean = bookInfoBean; + } + + @Override + public Object clone() throws CloneNotSupportedException { + BookShelfBean bookShelfBean = (BookShelfBean) super.clone(); + bookShelfBean.noteUrl = new String(noteUrl); + bookShelfBean.tag = new String(tag); + bookShelfBean.bookInfoBean = (BookInfoBean) bookInfoBean.clone(); + return bookShelfBean; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/bean/ChapterListBean.java b/app/src/main/java/com/monke/monkeybook/bean/ChapterListBean.java new file mode 100644 index 0000000000..12331f17c5 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/ChapterListBean.java @@ -0,0 +1,148 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Transient; +import org.greenrobot.greendao.annotation.Generated; + +@Entity +public class ChapterListBean implements Parcelable,Cloneable{ + + private String noteUrl; //对应BookInfoBean noteUrl; + + private int durChapterIndex; //当前章节数 + @Id + private String durChapterUrl; //当前章节对应的文章地址 + + private String durChapterName; //当前章节名称 + + private String tag; + + private Boolean hasCache = false; + @Transient + private BookContentBean bookContentBean = new BookContentBean(); + + protected ChapterListBean(Parcel in) { + noteUrl = in.readString(); + durChapterIndex = in.readInt(); + durChapterUrl = in.readString(); + durChapterName = in.readString(); + tag = in.readString(); + bookContentBean = in.readParcelable(BookContentBean.class.getClassLoader()); + hasCache = in.readByte() != 0; + } + + @Generated(hash = 1225922702) + public ChapterListBean(String noteUrl, int durChapterIndex, String durChapterUrl, + String durChapterName, String tag, Boolean hasCache) { + this.noteUrl = noteUrl; + this.durChapterIndex = durChapterIndex; + this.durChapterUrl = durChapterUrl; + this.durChapterName = durChapterName; + this.tag = tag; + this.hasCache = hasCache; + } + + @Generated(hash = 1096893365) + public ChapterListBean() { + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(noteUrl); + dest.writeInt(durChapterIndex); + dest.writeString(durChapterUrl); + dest.writeString(durChapterName); + dest.writeString(tag); + dest.writeParcelable(bookContentBean, flags); + dest.writeByte((byte)(hasCache?1:0)); + } + + @Override + public int describeContents() { + return 0; + } + + public BookContentBean getBookContentBean() { + return bookContentBean; + } + + public void setBookContentBean(BookContentBean bookContentBean) { + this.bookContentBean = bookContentBean; + } + + public Boolean getHasCache() { + return this.hasCache; + } + + public void setHasCache(Boolean hasCache) { + this.hasCache = hasCache; + } + + public String getTag() { + return this.tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public String getDurChapterName() { + return this.durChapterName; + } + + public void setDurChapterName(String durChapterName) { + this.durChapterName = durChapterName; + } + + public String getDurChapterUrl() { + return this.durChapterUrl; + } + + public void setDurChapterUrl(String durChapterUrl) { + this.durChapterUrl = durChapterUrl; + } + + public int getDurChapterIndex() { + return this.durChapterIndex; + } + + public void setDurChapterIndex(int durChapterIndex) { + this.durChapterIndex = durChapterIndex; + } + + public String getNoteUrl() { + return this.noteUrl; + } + + public void setNoteUrl(String noteUrl) { + this.noteUrl = noteUrl; + } + + @Transient + public static final Creator CREATOR = new Creator() { + @Override + public ChapterListBean createFromParcel(Parcel in) { + return new ChapterListBean(in); + } + + @Override + public ChapterListBean[] newArray(int size) { + return new ChapterListBean[size]; + } + }; + + @Override + protected Object clone() throws CloneNotSupportedException { + ChapterListBean chapterListBean = (ChapterListBean) super.clone(); + chapterListBean.noteUrl = new String(noteUrl); + chapterListBean.durChapterUrl = new String(durChapterUrl); + chapterListBean.durChapterName = new String(durChapterName); + chapterListBean.tag = new String(tag); + chapterListBean.hasCache = new Boolean(hasCache); + chapterListBean.bookContentBean = new BookContentBean(); + return chapterListBean; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterBean.java b/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterBean.java new file mode 100644 index 0000000000..23dac4804b --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterBean.java @@ -0,0 +1,136 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Transient; +import org.greenrobot.greendao.annotation.Generated; + +@Entity +public class DownloadChapterBean implements Parcelable { + private String noteUrl; + + private int durChapterIndex; //当前章节数 + @Id + private String durChapterUrl; //当前章节对应的文章地址 + + private String durChapterName; //当前章节名称 + + private String tag; + + private String bookName; + + private String coverUrl; //小说封面 + + protected DownloadChapterBean(Parcel in) { + noteUrl = in.readString(); + durChapterIndex = in.readInt(); + durChapterUrl = in.readString(); + durChapterName = in.readString(); + tag = in.readString(); + bookName = in.readString(); + coverUrl = in.readString(); + } + + @Generated(hash = 757008458) + public DownloadChapterBean(String noteUrl, int durChapterIndex, String durChapterUrl, + String durChapterName, String tag, String bookName, String coverUrl) { + this.noteUrl = noteUrl; + this.durChapterIndex = durChapterIndex; + this.durChapterUrl = durChapterUrl; + this.durChapterName = durChapterName; + this.tag = tag; + this.bookName = bookName; + this.coverUrl = coverUrl; + } + + @Generated(hash = 301211198) + public DownloadChapterBean() { + } + + @Transient + public static final Creator CREATOR = new Creator() { + @Override + public DownloadChapterBean createFromParcel(Parcel in) { + return new DownloadChapterBean(in); + } + + @Override + public DownloadChapterBean[] newArray(int size) { + return new DownloadChapterBean[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(noteUrl); + dest.writeInt(durChapterIndex); + dest.writeString(durChapterUrl); + dest.writeString(durChapterName); + dest.writeString(tag); + dest.writeString(bookName); + dest.writeString(coverUrl); + } + + public String getNoteUrl() { + return noteUrl; + } + + public void setNoteUrl(String noteUrl) { + this.noteUrl = noteUrl; + } + + public int getDurChapterIndex() { + return durChapterIndex; + } + + public void setDurChapterIndex(int durChapterIndex) { + this.durChapterIndex = durChapterIndex; + } + + public String getDurChapterUrl() { + return durChapterUrl; + } + + public void setDurChapterUrl(String durChapterUrl) { + this.durChapterUrl = durChapterUrl; + } + + public String getDurChapterName() { + return durChapterName; + } + + public void setDurChapterName(String durChapterName) { + this.durChapterName = durChapterName; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public String getBookName() { + return bookName; + } + + public void setBookName(String bookName) { + this.bookName = bookName; + } + + public String getCoverUrl() { + return coverUrl; + } + + public void setCoverUrl(String coverUrl) { + this.coverUrl = coverUrl; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterListBean.java b/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterListBean.java new file mode 100644 index 0000000000..83302538a8 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/DownloadChapterListBean.java @@ -0,0 +1,51 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.ArrayList; +import java.util.List; + +public class DownloadChapterListBean implements Parcelable { + private List data; + + public DownloadChapterListBean(List result) { + this.data = result; + } + + protected DownloadChapterListBean(Parcel in) { + if(data == null) + data = new ArrayList<>(); + in.readTypedList(data,DownloadChapterBean.CREATOR); + } + + public static final Creator CREATOR = new Creator() { + @Override + public DownloadChapterListBean createFromParcel(Parcel in) { + return new DownloadChapterListBean(in); + } + + @Override + public DownloadChapterListBean[] newArray(int size) { + return new DownloadChapterListBean[size]; + } + }; + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeTypedList(data); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/LibraryBean.java b/app/src/main/java/com/monke/monkeybook/bean/LibraryBean.java new file mode 100644 index 0000000000..e82eca6eb6 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/LibraryBean.java @@ -0,0 +1,24 @@ +package com.monke.monkeybook.bean; + +import java.util.List; + +public class LibraryBean { + private List libraryNewBooks; + private List kindBooks; + + public List getLibraryNewBooks() { + return libraryNewBooks; + } + + public void setLibraryNewBooks(List libraryNewBooks) { + this.libraryNewBooks = libraryNewBooks; + } + + public List getKindBooks() { + return kindBooks; + } + + public void setKindBooks(List kindBooks) { + this.kindBooks = kindBooks; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/LibraryKindBookListBean.java b/app/src/main/java/com/monke/monkeybook/bean/LibraryKindBookListBean.java new file mode 100644 index 0000000000..3a18801d7e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/LibraryKindBookListBean.java @@ -0,0 +1,33 @@ +package com.monke.monkeybook.bean; + +import java.util.List; + +public class LibraryKindBookListBean { + private String kindName; + private String kindUrl; + private List books; + + public String getKindName() { + return kindName; + } + + public void setKindName(String kindName) { + this.kindName = kindName; + } + + public List getBooks() { + return books; + } + + public void setBooks(List books) { + this.books = books; + } + + public String getKindUrl() { + return kindUrl; + } + + public void setKindUrl(String kindUrl) { + this.kindUrl = kindUrl; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/LibraryNewBookBean.java b/app/src/main/java/com/monke/monkeybook/bean/LibraryNewBookBean.java new file mode 100644 index 0000000000..b8d288316a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/LibraryNewBookBean.java @@ -0,0 +1,47 @@ +package com.monke.monkeybook.bean; + +public class LibraryNewBookBean { + private String name; + private String url; + private String tag; + private String orgin; + + public LibraryNewBookBean(String name, String url, String tag, String orgin) { + this.name = name; + this.url = url; + this.tag = tag; + this.orgin = orgin; + } + + public String getOrgin() { + return orgin; + } + + public void setOrgin(String orgin) { + this.orgin = orgin; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/LibraryRankBean.java b/app/src/main/java/com/monke/monkeybook/bean/LibraryRankBean.java new file mode 100644 index 0000000000..9d6b23d709 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/LibraryRankBean.java @@ -0,0 +1,31 @@ +package com.monke.monkeybook.bean; + +public class LibraryRankBean { + private String coverUrl; + private String name; + private String author; + + public String getCoverUrl() { + return coverUrl; + } + + public void setCoverUrl(String coverUrl) { + this.coverUrl = coverUrl; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/LocBookShelfBean.java b/app/src/main/java/com/monke/monkeybook/bean/LocBookShelfBean.java new file mode 100644 index 0000000000..96c2068714 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/LocBookShelfBean.java @@ -0,0 +1,27 @@ +package com.monke.monkeybook.bean; + +public class LocBookShelfBean { + private Boolean isNew; + private BookShelfBean bookShelfBean; + + public LocBookShelfBean(Boolean isNew,BookShelfBean bookShelfBean){ + this.isNew = isNew; + this.bookShelfBean = bookShelfBean; + } + + public Boolean getNew() { + return isNew; + } + + public void setNew(Boolean aNew) { + isNew = aNew; + } + + public BookShelfBean getBookShelfBean() { + return bookShelfBean; + } + + public void setBookShelfBean(BookShelfBean bookShelfBean) { + this.bookShelfBean = bookShelfBean; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/ReadBookContentBean.java b/app/src/main/java/com/monke/monkeybook/bean/ReadBookContentBean.java new file mode 100644 index 0000000000..81b84dc163 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/ReadBookContentBean.java @@ -0,0 +1,29 @@ +package com.monke.monkeybook.bean; + +import java.util.List; + +public class ReadBookContentBean { + private List bookContentList; + private int pageIndex; + + public ReadBookContentBean(List bookContentList,int pageIndex){ + this.bookContentList = bookContentList; + this.pageIndex = pageIndex; + } + + public List getBookContentList() { + return bookContentList; + } + + public void setBookContentList(List bookContentList) { + this.bookContentList = bookContentList; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/SearchBookBean.java b/app/src/main/java/com/monke/monkeybook/bean/SearchBookBean.java new file mode 100644 index 0000000000..bc4a01b7e0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/SearchBookBean.java @@ -0,0 +1,179 @@ +package com.monke.monkeybook.bean; + +import android.os.Parcel; +import android.os.Parcelable; + +public class SearchBookBean implements Parcelable{ + + private String noteUrl; + + private String coverUrl; + + private String name; + + private String author; + + private long words; + + private String state; + + private String lastChapter; + + private Boolean isAdd = false; + + private String tag; + + private String kind; + + private String origin; + + private String desc; + + public SearchBookBean(){ + + } + + protected SearchBookBean(Parcel in) { + noteUrl = in.readString(); + coverUrl = in.readString(); + name = in.readString(); + author = in.readString(); + words = in.readLong(); + state = in.readString(); + lastChapter = in.readString(); + isAdd = in.readByte() != 0; + tag = in.readString(); + kind = in.readString(); + origin = in.readString(); + desc = in.readString(); + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeString(noteUrl); + dest.writeString(coverUrl); + dest.writeString(name); + dest.writeString(author); + dest.writeLong(words); + dest.writeString(state); + dest.writeString(lastChapter); + dest.writeByte((byte)(isAdd?1:0)); + dest.writeString(tag); + dest.writeString(kind); + dest.writeString(origin); + dest.writeString(desc); + } + + @Override + public int describeContents() { + return 0; + } + + public static final Creator CREATOR = new Creator() { + @Override + public SearchBookBean createFromParcel(Parcel in) { + return new SearchBookBean(in); + } + + @Override + public SearchBookBean[] newArray(int size) { + return new SearchBookBean[size]; + } + }; + + public String getNoteUrl() { + return noteUrl; + } + + public void setNoteUrl(String noteUrl) { + this.noteUrl = noteUrl; + } + + public String getCoverUrl() { + return coverUrl; + } + + public void setCoverUrl(String coverUrl) { + this.coverUrl = coverUrl; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public Boolean getAdd() { + return isAdd; + } + + public void setAdd(Boolean add) { + isAdd = add; + } + + public long getWords() { + return words; + } + + public void setWords(long words) { + this.words = words; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getLastChapter() { + return lastChapter==null?"":lastChapter; + } + + public void setLastChapter(String lastChapter) { + this.lastChapter = lastChapter; + } + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + + public String getOrigin() { + return origin; + } + + public void setOrigin(String origin) { + this.origin = origin; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/bean/SearchHistoryBean.java b/app/src/main/java/com/monke/monkeybook/bean/SearchHistoryBean.java new file mode 100644 index 0000000000..9888620498 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/SearchHistoryBean.java @@ -0,0 +1,56 @@ +package com.monke.monkeybook.bean; + +import org.greenrobot.greendao.annotation.Entity; +import org.greenrobot.greendao.annotation.Id; +import org.greenrobot.greendao.annotation.Unique; +import org.greenrobot.greendao.annotation.Generated; + +@Entity +public class SearchHistoryBean { + @Id(autoincrement = true) + private Long id = null; + private int type; + private String content; + private long date; + public long getDate() { + return this.date; + } + public void setDate(long date) { + this.date = date; + } + public String getContent() { + return this.content; + } + public void setContent(String content) { + this.content = content; + } + public int getType() { + return this.type; + } + public void setType(int type) { + this.type = type; + } + public Long getId() { + return this.id; + } + public void setId(Long id) { + this.id = id; + } + + public SearchHistoryBean(int type, String content, long date) { + this.type = type; + this.content = content; + this.date = date; + } + @Generated(hash = 488115752) + public SearchHistoryBean(Long id, int type, String content, long date) { + this.id = id; + this.type = type; + this.content = content; + this.date = date; + } + @Generated(hash = 1570282321) + public SearchHistoryBean() { + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/WebChapterBean.java b/app/src/main/java/com/monke/monkeybook/bean/WebChapterBean.java new file mode 100644 index 0000000000..5ad55a31ed --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/WebChapterBean.java @@ -0,0 +1,28 @@ +package com.monke.monkeybook.bean; + +public class WebChapterBean { + private T data; + + private Boolean next; + + public WebChapterBean(T data,Boolean next){ + this.data = data; + this.next = next; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public Boolean getNext() { + return next; + } + + public void setNext(Boolean next) { + this.next = next; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/bean/WebContentBean.java b/app/src/main/java/com/monke/monkeybook/bean/WebContentBean.java new file mode 100644 index 0000000000..e682284fb8 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/bean/WebContentBean.java @@ -0,0 +1,27 @@ +package com.monke.monkeybook.bean; + +public class WebContentBean { + private String url; + private String content; + + public WebContentBean(String url,String content){ + this.url = url; + this.content = content; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/cache/ACache.java b/app/src/main/java/com/monke/monkeybook/cache/ACache.java new file mode 100644 index 0000000000..a6150b2b4a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/cache/ACache.java @@ -0,0 +1,912 @@ +package com.monke.monkeybook.cache; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.RandomAccessFile; +import java.io.Serializable; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import org.json.JSONArray; +import org.json.JSONObject; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.PixelFormat; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.Drawable; +import android.util.Log; + +/** + * 本地缓存 + */ +public class ACache { + public static final int TIME_HOUR = 60 * 60; + public static final int TIME_DAY = TIME_HOUR * 24; + private static final int MAX_SIZE = 1000 * 1000 * 50; // 50 mb + private static final int MAX_COUNT = Integer.MAX_VALUE; // 不限制存放数据的数量 + private static Map mInstanceMap = new HashMap(); + private ACacheManager mCache; + + public static ACache get(Context ctx) { + return get(ctx, "ACache"); + } + + public static ACache get(Context ctx, String cacheName) { + File f = new File(ctx.getCacheDir(), cacheName); + return get(f, MAX_SIZE, MAX_COUNT); + } + + public static ACache get(File cacheDir) { + return get(cacheDir, MAX_SIZE, MAX_COUNT); + } + + public static ACache get(Context ctx, long max_zise, int max_count) { + try{ + File f = new File(ctx.getCacheDir(), "ACache"); + return get(f, max_zise, max_count); + }catch (Exception e){ + e.printStackTrace(); + } + + return null; + } + + public static ACache get(File cacheDir, long max_zise, int max_count) { + try{ + ACache manager = mInstanceMap.get(cacheDir.getAbsoluteFile() + myPid()); + if (manager == null) { + manager = new ACache(cacheDir, max_zise, max_count); + mInstanceMap.put(cacheDir.getAbsolutePath() + myPid(), manager); + } + return manager; + }catch (Exception e){ + e.printStackTrace(); + } + + return null; + } + + private static String myPid() { + return "_" + android.os.Process.myPid(); + } + + private ACache(File cacheDir, long max_size, int max_count) { + try{ + if (!cacheDir.exists() && !cacheDir.mkdirs()) { + Log.i("ACache","can't make dirs in " + + cacheDir.getAbsolutePath()); + } + mCache = new ACacheManager(cacheDir, max_size, max_count); + }catch (Exception e){ + e.printStackTrace(); + } + } + + // ======================================= + // ============ String数据 读写 ============== + // ======================================= + /** + * 保存 String数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的String数据 + */ + public void put(String key, String value) { + try{ + File file = mCache.newFile(key); + BufferedWriter out = null; + try { + out = new BufferedWriter(new FileWriter(file), 1024); + out.write(value); + } catch (IOException e) { + e.printStackTrace(); + } finally { + if (out != null) { + try { + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + mCache.put(file); + } + }catch (Exception e){ + e.printStackTrace(); + } + + } + + /** + * 保存 String数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的String数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, String value, int saveTime) { + put(key, Utils.newStringWithDateInfo(saveTime, value)); + } + + /** + * 读取 String数据 + * + * @param key + * @return String 数据 + */ + public String getAsString(String key) { + File file = mCache.get(key); + if (!file.exists()) + return null; + boolean removeFile = false; + BufferedReader in = null; + try { + in = new BufferedReader(new FileReader(file)); + String readString = ""; + String currentLine; + while ((currentLine = in.readLine()) != null) { + readString += currentLine; + } + if (!Utils.isDue(readString)) { + return Utils.clearDateInfo(readString); + } else { + removeFile = true; + return null; + } + } catch (IOException e) { + e.printStackTrace(); + return null; + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (removeFile) + remove(key); + } + } + + // ======================================= + // ============= JSONObject 数据 读写 ============== + // ======================================= + /** + * 保存 JSONObject数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的JSON数据 + */ + public void put(String key, JSONObject value) { + put(key, value.toString()); + } + + /** + * 保存 JSONObject数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的JSONObject数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, JSONObject value, int saveTime) { + put(key, value.toString(), saveTime); + } + + /** + * 读取JSONObject数据 + * + * @param key + * @return JSONObject数据 + */ + public JSONObject getAsJSONObject(String key) { + String JSONString = getAsString(key); + try { + JSONObject obj = new JSONObject(JSONString); + return obj; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + // ======================================= + // ============ JSONArray 数据 读写 ============= + // ======================================= + /** + * 保存 JSONArray数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的JSONArray数据 + */ + public void put(String key, JSONArray value) { + put(key, value.toString()); + } + + /** + * 保存 JSONArray数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的JSONArray数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, JSONArray value, int saveTime) { + put(key, value.toString(), saveTime); + } + + /** + * 读取JSONArray数据 + * + * @param key + * @return JSONArray数据 + */ + public JSONArray getAsJSONArray(String key) { + String JSONString = getAsString(key); + try { + JSONArray obj = new JSONArray(JSONString); + return obj; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + // ======================================= + // ============== byte 数据 读写 ============= + // ======================================= + /** + * 保存 byte数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的数据 + */ + public void put(String key, byte[] value) { + File file = mCache.newFile(key); + FileOutputStream out = null; + try { + out = new FileOutputStream(file); + out.write(value); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (out != null) { + try { + out.flush(); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + mCache.put(file); + } + } + + /** + * 保存 byte数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, byte[] value, int saveTime) { + put(key, Utils.newByteArrayWithDateInfo(saveTime, value)); + } + + /** + * 获取 byte 数据 + * + * @param key + * @return byte 数据 + */ + public byte[] getAsBinary(String key) { + RandomAccessFile RAFile = null; + boolean removeFile = false; + try { + File file = mCache.get(key); + if (!file.exists()) + return null; + RAFile = new RandomAccessFile(file, "r"); + byte[] byteArray = new byte[(int) RAFile.length()]; + RAFile.read(byteArray); + if (!Utils.isDue(byteArray)) { + return Utils.clearDateInfo(byteArray); + } else { + removeFile = true; + return null; + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } finally { + if (RAFile != null) { + try { + RAFile.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (removeFile) + remove(key); + } + } + + // ======================================= + // ============= 序列化 数据 读写 =============== + // ======================================= + /** + * 保存 Serializable数据 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的value + */ + public void put(String key, Serializable value) { + put(key, value, -1); + } + + /** + * 保存 Serializable数据到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的value + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, Serializable value, int saveTime) { + ByteArrayOutputStream baos = null; + ObjectOutputStream oos = null; + try { + baos = new ByteArrayOutputStream(); + oos = new ObjectOutputStream(baos); + oos.writeObject(value); + byte[] data = baos.toByteArray(); + if (saveTime != -1) { + put(key, data, saveTime); + } else { + put(key, data); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + oos.close(); + } catch (IOException e) { + } + } + } + + /** + * 读取 Serializable数据 + * + * @param key + * @return Serializable 数据 + */ + public Object getAsObject(String key) { + byte[] data = getAsBinary(key); + if (data != null) { + ByteArrayInputStream bais = null; + ObjectInputStream ois = null; + try { + bais = new ByteArrayInputStream(data); + ois = new ObjectInputStream(bais); + Object reObject = ois.readObject(); + return reObject; + } catch (Exception e) { + e.printStackTrace(); + return null; + } finally { + try { + if (bais != null) + bais.close(); + } catch (IOException e) { + e.printStackTrace(); + } + try { + if (ois != null) + ois.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return null; + + } + + // ======================================= + // ============== bitmap 数据 读写 ============= + // ======================================= + /** + * 保存 bitmap 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的bitmap数据 + */ + public void put(String key, Bitmap value) { + put(key, Utils.Bitmap2Bytes(value)); + } + + /** + * 保存 bitmap 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的 bitmap 数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, Bitmap value, int saveTime) { + put(key, Utils.Bitmap2Bytes(value), saveTime); + } + + /** + * 读取 bitmap 数据 + * + * @param key + * @return bitmap 数据 + */ + public Bitmap getAsBitmap(String key) { + if (getAsBinary(key) == null) { + return null; + } + return Utils.Bytes2Bimap(getAsBinary(key)); + } + + // ======================================= + // ============= drawable 数据 读写 ============= + // ======================================= + /** + * 保存 drawable 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的drawable数据 + */ + public void put(String key, Drawable value) { + put(key, Utils.drawable2Bitmap(value)); + } + + /** + * 保存 drawable 到 缓存中 + * + * @param key + * 保存的key + * @param value + * 保存的 drawable 数据 + * @param saveTime + * 保存的时间,单位:秒 + */ + public void put(String key, Drawable value, int saveTime) { + put(key, Utils.drawable2Bitmap(value), saveTime); + } + + /** + * 读取 Drawable 数据 + * + * @param key + * @return Drawable 数据 + */ + public Drawable getAsDrawable(String key) { + if (getAsBinary(key) == null) { + return null; + } + return Utils.bitmap2Drawable(Utils.Bytes2Bimap(getAsBinary(key))); + } + + /** + * 获取缓存文件 + * + * @param key + * @return value 缓存的文件 + */ + public File file(String key) { + try{ + File f = mCache.newFile(key); + if (f.exists()) + { + return f; + } + }catch (Exception e){ + e.printStackTrace(); + } + + return null; + } + + /** + * 移除某个key + * + * @param key + * @return 是否移除成功 + */ + public boolean remove(String key) { + return mCache.remove(key); + } + + /** + * 清除所有数据 + */ + public void clear() { + mCache.clear(); + } + + /** + * @title 缓存管理器 + * @author 杨福海(michael) www.yangfuhai.com + * @version 1.0 + */ + public class ACacheManager { + private final AtomicLong cacheSize; + private final AtomicInteger cacheCount; + private final long sizeLimit; + private final int countLimit; + private final Map lastUsageDates = Collections + .synchronizedMap(new HashMap()); + protected File cacheDir; + + private ACacheManager(File cacheDir, long sizeLimit, int countLimit) { + this.cacheDir = cacheDir; + this.sizeLimit = sizeLimit; + this.countLimit = countLimit; + cacheSize = new AtomicLong(); + cacheCount = new AtomicInteger(); + calculateCacheSizeAndCacheCount(); + } + + /** + * 计算 cacheSize和cacheCount + */ + private void calculateCacheSizeAndCacheCount() { + new Thread(new Runnable() { + @Override + public void run() { + + try{ + int size = 0; + int count = 0; + File[] cachedFiles = cacheDir.listFiles(); + if (cachedFiles != null) { + for (File cachedFile : cachedFiles) { + size += calculateSize(cachedFile); + count += 1; + lastUsageDates.put(cachedFile, + cachedFile.lastModified()); + } + cacheSize.set(size); + cacheCount.set(count); + } + }catch (Exception e){ + e.printStackTrace(); + } + + } + }).start(); + } + + private void put(File file) { + + try{ + int curCacheCount = cacheCount.get(); + while (curCacheCount + 1 > countLimit) { + long freedSize = removeNext(); + cacheSize.addAndGet(-freedSize); + + curCacheCount = cacheCount.addAndGet(-1); + } + cacheCount.addAndGet(1); + + long valueSize = calculateSize(file); + long curCacheSize = cacheSize.get(); + while (curCacheSize + valueSize > sizeLimit) { + long freedSize = removeNext(); + curCacheSize = cacheSize.addAndGet(-freedSize); + } + cacheSize.addAndGet(valueSize); + + Long currentTime = System.currentTimeMillis(); + file.setLastModified(currentTime); + lastUsageDates.put(file, currentTime); + }catch (Exception e){ + e.printStackTrace(); + } + + } + + private File get(String key) { + File file = newFile(key); + Long currentTime = System.currentTimeMillis(); + file.setLastModified(currentTime); + lastUsageDates.put(file, currentTime); + + return file; + } + + private File newFile(String key) { + return new File(cacheDir, key.hashCode() + ""); + } + + private boolean remove(String key) { + File image = get(key); + return image.delete(); + } + + private void clear() { + try{ + lastUsageDates.clear(); + cacheSize.set(0); + File[] files = cacheDir.listFiles(); + if (files != null) { + for (File f : files) { + f.delete(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + + } + + /** + * 移除旧的文件 + * + * @return + */ + private long removeNext() { + try{ + if (lastUsageDates.isEmpty()) { + return 0; + } + + Long oldestUsage = null; + File mostLongUsedFile = null; + Set> entries = lastUsageDates.entrySet(); + synchronized (lastUsageDates) { + for (Entry entry : entries) { + if (mostLongUsedFile == null) { + mostLongUsedFile = entry.getKey(); + oldestUsage = entry.getValue(); + } else { + Long lastValueUsage = entry.getValue(); + if (lastValueUsage < oldestUsage) { + oldestUsage = lastValueUsage; + mostLongUsedFile = entry.getKey(); + } + } + } + } + + long fileSize = calculateSize(mostLongUsedFile); + if (mostLongUsedFile.delete()) { + lastUsageDates.remove(mostLongUsedFile); + } + return fileSize; + }catch (Exception e){ + e.printStackTrace(); + return 0; + } + + + } + + private long calculateSize(File file) { + return file.length(); + } + } + + /** + * @title 时间计算工具类 + * @author 杨福海(michael) www.yangfuhai.com + * @version 1.0 + */ + private static class Utils { + + /** + * 判断缓存的String数据是否到期 + * + * @param str + * @return true:到期了 false:还没有到期 + */ + private static boolean isDue(String str) { + return isDue(str.getBytes()); + } + + /** + * 判断缓存的byte数据是否到期 + * + * @param data + * @return true:到期了 false:还没有到期 + */ + private static boolean isDue(byte[] data) { + try{ + String[] strs = getDateInfoFromDate(data); + if (strs != null && strs.length == 2) { + String saveTimeStr = strs[0]; + while (saveTimeStr.startsWith("0")) { + saveTimeStr = saveTimeStr + .substring(1, saveTimeStr.length()); + } + long saveTime = Long.valueOf(saveTimeStr); + long deleteAfter = Long.valueOf(strs[1]); + if (System.currentTimeMillis() > saveTime + deleteAfter * 1000) { + return true; + } + } + }catch (Exception e){ + e.printStackTrace(); + } + + return false; + } + + private static String newStringWithDateInfo(int second, String strInfo) { + return createDateInfo(second) + strInfo; + } + + private static byte[] newByteArrayWithDateInfo(int second, byte[] data2) { + byte[] data1 = createDateInfo(second).getBytes(); + byte[] retdata = new byte[data1.length + data2.length]; + System.arraycopy(data1, 0, retdata, 0, data1.length); + System.arraycopy(data2, 0, retdata, data1.length, data2.length); + return retdata; + } + + private static String clearDateInfo(String strInfo) { + if (strInfo != null && hasDateInfo(strInfo.getBytes())) { + strInfo = strInfo.substring(strInfo.indexOf(mSeparator) + 1, + strInfo.length()); + } + return strInfo; + } + + private static byte[] clearDateInfo(byte[] data) { + if (hasDateInfo(data)) { + return copyOfRange(data, indexOf(data, mSeparator) + 1, + data.length); + } + return data; + } + + private static boolean hasDateInfo(byte[] data) { + return data != null && data.length > 15 && data[13] == '-' + && indexOf(data, mSeparator) > 14; + } + + private static String[] getDateInfoFromDate(byte[] data) { + if (hasDateInfo(data)) { + String saveDate = new String(copyOfRange(data, 0, 13)); + String deleteAfter = new String(copyOfRange(data, 14, + indexOf(data, mSeparator))); + return new String[] { saveDate, deleteAfter }; + } + return null; + } + + private static int indexOf(byte[] data, char c) { + for (int i = 0; i < data.length; i++) { + if (data[i] == c) { + return i; + } + } + return -1; + } + + private static byte[] copyOfRange(byte[] original, int from, int to) { + int newLength = to - from; + if (newLength < 0) + throw new IllegalArgumentException(from + " > " + to); + byte[] copy = new byte[newLength]; + System.arraycopy(original, from, copy, 0, + Math.min(original.length - from, newLength)); + return copy; + } + + private static final char mSeparator = ' '; + + private static String createDateInfo(int second) { + String currentTime = System.currentTimeMillis() + ""; + while (currentTime.length() < 13) { + currentTime = "0" + currentTime; + } + return currentTime + "-" + second + mSeparator; + } + + /* + * Bitmap → byte[] + */ + private static byte[] Bitmap2Bytes(Bitmap bm) { + if (bm == null) { + return null; + } + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + bm.compress(Bitmap.CompressFormat.PNG, 100, baos); + return baos.toByteArray(); + } + + /* + * byte[] → Bitmap + */ + private static Bitmap Bytes2Bimap(byte[] b) { + if (b.length == 0) { + return null; + } + return BitmapFactory.decodeByteArray(b, 0, b.length); + } + + /* + * Drawable → Bitmap + */ + private static Bitmap drawable2Bitmap(Drawable drawable) { + if (drawable == null) { + return null; + } + // 取 drawable 的长宽 + int w = drawable.getIntrinsicWidth(); + int h = drawable.getIntrinsicHeight(); + // 取 drawable 的颜色格式 + Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 + : Bitmap.Config.RGB_565; + // 建立对应 bitmap + Bitmap bitmap = Bitmap.createBitmap(w, h, config); + // 建立对应 bitmap 的画布 + Canvas canvas = new Canvas(bitmap); + drawable.setBounds(0, 0, w, h); + // 把 drawable 内容画到画布中 + drawable.draw(canvas); + return bitmap; + } + + /* + * Bitmap → Drawable + */ + @SuppressWarnings("deprecation") + private static Drawable bitmap2Drawable(Bitmap bm) { + if (bm == null) { + return null; + } + return new BitmapDrawable(bm); + } + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/common/RxBusTag.java b/app/src/main/java/com/monke/monkeybook/common/RxBusTag.java new file mode 100644 index 0000000000..c6ac019532 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/common/RxBusTag.java @@ -0,0 +1,25 @@ +package com.monke.monkeybook.common; + + +public class RxBusTag { + + public final static String HAD_ADD_BOOK = "rxbus_add_book"; + + public final static String HAD_REMOVE_BOOK = "rxbus_remove_book"; + + public final static String UPDATE_BOOK_PROGRESS = "rxbus_update_book_progress"; + + public final static String PAUSE_DOWNLOAD_LISTENER = "rxbus_pause_download_listener"; + + public final static String PROGRESS_DOWNLOAD_LISTENER = "rxbus_progress_download_listener"; + + public final static String FINISH_DOWNLOAD_LISTENER = "rxbus_finish_download_listener"; + + public final static String PAUSE_DOWNLOAD = "rxbus_pause_download"; + + public final static String START_DOWNLOAD = "rxbus_start_download"; + + public final static String CANCEL_DOWNLOAD = "rxbus_cancel_download"; + + public final static String ADD_DOWNLOAD_TASK = "rxbus_add_download_task"; +} 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 new file mode 100644 index 0000000000..9cf52a6774 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/common/api/IEasouApi.java @@ -0,0 +1,44 @@ +package com.monke.monkeybook.common.api; + +import io.reactivex.Observable; +import retrofit2.http.GET; +import retrofit2.http.Headers; +import retrofit2.http.Url; + +public interface IEasouApi { + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookInfo(@Url String url); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable searchBook(@Url String url); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookContent(@Url String url); + + @GET + @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", + "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 new file mode 100644 index 0000000000..50fb682f23 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/common/api/IGxwztvApi.java @@ -0,0 +1,66 @@ +package com.monke.monkeybook.common.api; + +import io.reactivex.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.Headers; +import retrofit2.http.Query; +import retrofit2.http.Url; + +public interface IGxwztvApi { + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookInfo(@Url String url); + + @GET("/search.htm") + @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", + "Cache-Control:no-cache"}) + Observable searchBook(@Query("keyword")String content, @Query("pn")int page); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookContent(@Url String url); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getChapterList(@Url String url); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getKindBooks(@Url String url); + + @GET + @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", + "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 new file mode 100644 index 0000000000..9fab0b9f75 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/common/api/ILingdiankanshuApi.java @@ -0,0 +1,46 @@ +package com.monke.monkeybook.common.api; + +import io.reactivex.Observable; +import retrofit2.http.GET; +import retrofit2.http.Headers; +import retrofit2.http.Query; +import retrofit2.http.Url; + +public interface ILingdiankanshuApi { + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookInfo(@Url String url); + + @GET("/cse/search") + @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", + "Cache-Control:no-cache"}) + Observable searchBook(@Query("q") String content, @Query("p") int page, @Query("s") String time); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getBookContent(@Url String url); + + @GET + @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", + "Cache-Control:no-cache"}) + Observable getChapterList(@Url String url); +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/BookContentBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/BookContentBeanDao.java new file mode 100644 index 0000000000..6e40f737e0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/BookContentBeanDao.java @@ -0,0 +1,143 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.BookContentBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "BOOK_CONTENT_BEAN". +*/ +public class BookContentBeanDao extends AbstractDao { + + public static final String TABLENAME = "BOOK_CONTENT_BEAN"; + + /** + * Properties of entity BookContentBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property DurChapterUrl = new Property(0, String.class, "durChapterUrl", true, "DUR_CHAPTER_URL"); + public final static Property DurChapterIndex = new Property(1, int.class, "durChapterIndex", false, "DUR_CHAPTER_INDEX"); + public final static Property DurCapterContent = new Property(2, String.class, "durCapterContent", false, "DUR_CAPTER_CONTENT"); + public final static Property Tag = new Property(3, String.class, "tag", false, "TAG"); + }; + + + public BookContentBeanDao(DaoConfig config) { + super(config); + } + + public BookContentBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"BOOK_CONTENT_BEAN\" (" + // + "\"DUR_CHAPTER_URL\" TEXT PRIMARY KEY NOT NULL ," + // 0: durChapterUrl + "\"DUR_CHAPTER_INDEX\" INTEGER NOT NULL ," + // 1: durChapterIndex + "\"DUR_CAPTER_CONTENT\" TEXT," + // 2: durCapterContent + "\"TAG\" TEXT);"); // 3: tag + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"BOOK_CONTENT_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, BookContentBean entity) { + stmt.clearBindings(); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(1, durChapterUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durCapterContent = entity.getDurCapterContent(); + if (durCapterContent != null) { + stmt.bindString(3, durCapterContent); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(4, tag); + } + } + + @Override + protected final void bindValues(SQLiteStatement stmt, BookContentBean entity) { + stmt.clearBindings(); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(1, durChapterUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durCapterContent = entity.getDurCapterContent(); + if (durCapterContent != null) { + stmt.bindString(3, durCapterContent); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(4, tag); + } + } + + @Override + public String readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0); + } + + @Override + public BookContentBean readEntity(Cursor cursor, int offset) { + BookContentBean entity = new BookContentBean( // + cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // durChapterUrl + cursor.getInt(offset + 1), // durChapterIndex + cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // durCapterContent + cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3) // tag + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, BookContentBean entity, int offset) { + entity.setDurChapterUrl(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0)); + entity.setDurChapterIndex(cursor.getInt(offset + 1)); + entity.setDurCapterContent(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); + entity.setTag(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3)); + } + + @Override + protected final String updateKeyAfterInsert(BookContentBean entity, long rowId) { + return entity.getDurChapterUrl(); + } + + @Override + public String getKey(BookContentBean entity) { + if(entity != null) { + return entity.getDurChapterUrl(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/BookInfoBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/BookInfoBeanDao.java new file mode 100644 index 0000000000..3e17cf5677 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/BookInfoBeanDao.java @@ -0,0 +1,213 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.BookInfoBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "BOOK_INFO_BEAN". +*/ +public class BookInfoBeanDao extends AbstractDao { + + public static final String TABLENAME = "BOOK_INFO_BEAN"; + + /** + * Properties of entity BookInfoBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property Name = new Property(0, String.class, "name", false, "NAME"); + public final static Property Tag = new Property(1, String.class, "tag", false, "TAG"); + public final static Property NoteUrl = new Property(2, String.class, "noteUrl", true, "NOTE_URL"); + public final static Property ChapterUrl = new Property(3, String.class, "chapterUrl", false, "CHAPTER_URL"); + public final static Property FinalRefreshData = new Property(4, long.class, "finalRefreshData", false, "FINAL_REFRESH_DATA"); + public final static Property CoverUrl = new Property(5, String.class, "coverUrl", false, "COVER_URL"); + public final static Property Author = new Property(6, String.class, "author", false, "AUTHOR"); + public final static Property Introduce = new Property(7, String.class, "introduce", false, "INTRODUCE"); + public final static Property Origin = new Property(8, String.class, "origin", false, "ORIGIN"); + }; + + + public BookInfoBeanDao(DaoConfig config) { + super(config); + } + + public BookInfoBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"BOOK_INFO_BEAN\" (" + // + "\"NAME\" TEXT," + // 0: name + "\"TAG\" TEXT," + // 1: tag + "\"NOTE_URL\" TEXT PRIMARY KEY NOT NULL ," + // 2: noteUrl + "\"CHAPTER_URL\" TEXT," + // 3: chapterUrl + "\"FINAL_REFRESH_DATA\" INTEGER NOT NULL ," + // 4: finalRefreshData + "\"COVER_URL\" TEXT," + // 5: coverUrl + "\"AUTHOR\" TEXT," + // 6: author + "\"INTRODUCE\" TEXT," + // 7: introduce + "\"ORIGIN\" TEXT);"); // 8: origin + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"BOOK_INFO_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, BookInfoBean entity) { + stmt.clearBindings(); + + String name = entity.getName(); + if (name != null) { + stmt.bindString(1, name); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(2, tag); + } + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(3, noteUrl); + } + + String chapterUrl = entity.getChapterUrl(); + if (chapterUrl != null) { + stmt.bindString(4, chapterUrl); + } + stmt.bindLong(5, entity.getFinalRefreshData()); + + String coverUrl = entity.getCoverUrl(); + if (coverUrl != null) { + stmt.bindString(6, coverUrl); + } + + String author = entity.getAuthor(); + if (author != null) { + stmt.bindString(7, author); + } + + String introduce = entity.getIntroduce(); + if (introduce != null) { + stmt.bindString(8, introduce); + } + + String origin = entity.getOrigin(); + if (origin != null) { + stmt.bindString(9, origin); + } + } + + @Override + protected final void bindValues(SQLiteStatement stmt, BookInfoBean entity) { + stmt.clearBindings(); + + String name = entity.getName(); + if (name != null) { + stmt.bindString(1, name); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(2, tag); + } + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(3, noteUrl); + } + + String chapterUrl = entity.getChapterUrl(); + if (chapterUrl != null) { + stmt.bindString(4, chapterUrl); + } + stmt.bindLong(5, entity.getFinalRefreshData()); + + String coverUrl = entity.getCoverUrl(); + if (coverUrl != null) { + stmt.bindString(6, coverUrl); + } + + String author = entity.getAuthor(); + if (author != null) { + stmt.bindString(7, author); + } + + String introduce = entity.getIntroduce(); + if (introduce != null) { + stmt.bindString(8, introduce); + } + + String origin = entity.getOrigin(); + if (origin != null) { + stmt.bindString(9, origin); + } + } + + @Override + public String readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2); + } + + @Override + public BookInfoBean readEntity(Cursor cursor, int offset) { + BookInfoBean entity = new BookInfoBean( // + cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // name + cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // tag + cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // noteUrl + cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // chapterUrl + cursor.getLong(offset + 4), // finalRefreshData + cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // coverUrl + cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // author + cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7), // introduce + cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8) // origin + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, BookInfoBean entity, int offset) { + entity.setName(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0)); + entity.setTag(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1)); + entity.setNoteUrl(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); + entity.setChapterUrl(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3)); + entity.setFinalRefreshData(cursor.getLong(offset + 4)); + entity.setCoverUrl(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); + entity.setAuthor(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); + entity.setIntroduce(cursor.isNull(offset + 7) ? null : cursor.getString(offset + 7)); + entity.setOrigin(cursor.isNull(offset + 8) ? null : cursor.getString(offset + 8)); + } + + @Override + protected final String updateKeyAfterInsert(BookInfoBean entity, long rowId) { + return entity.getNoteUrl(); + } + + @Override + public String getKey(BookInfoBean entity) { + if(entity != null) { + return entity.getNoteUrl(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/BookShelfBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/BookShelfBeanDao.java new file mode 100644 index 0000000000..ba34fcb663 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/BookShelfBeanDao.java @@ -0,0 +1,141 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.BookShelfBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "BOOK_SHELF_BEAN". +*/ +public class BookShelfBeanDao extends AbstractDao { + + public static final String TABLENAME = "BOOK_SHELF_BEAN"; + + /** + * Properties of entity BookShelfBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property NoteUrl = new Property(0, String.class, "noteUrl", true, "NOTE_URL"); + public final static Property DurChapter = new Property(1, int.class, "durChapter", false, "DUR_CHAPTER"); + public final static Property DurChapterPage = new Property(2, int.class, "durChapterPage", false, "DUR_CHAPTER_PAGE"); + public final static Property FinalDate = new Property(3, long.class, "finalDate", false, "FINAL_DATE"); + public final static Property Tag = new Property(4, String.class, "tag", false, "TAG"); + }; + + + public BookShelfBeanDao(DaoConfig config) { + super(config); + } + + public BookShelfBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"BOOK_SHELF_BEAN\" (" + // + "\"NOTE_URL\" TEXT PRIMARY KEY NOT NULL ," + // 0: noteUrl + "\"DUR_CHAPTER\" INTEGER NOT NULL ," + // 1: durChapter + "\"DUR_CHAPTER_PAGE\" INTEGER NOT NULL ," + // 2: durChapterPage + "\"FINAL_DATE\" INTEGER NOT NULL ," + // 3: finalDate + "\"TAG\" TEXT);"); // 4: tag + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"BOOK_SHELF_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, BookShelfBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapter()); + stmt.bindLong(3, entity.getDurChapterPage()); + stmt.bindLong(4, entity.getFinalDate()); + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + } + + @Override + protected final void bindValues(SQLiteStatement stmt, BookShelfBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapter()); + stmt.bindLong(3, entity.getDurChapterPage()); + stmt.bindLong(4, entity.getFinalDate()); + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + } + + @Override + public String readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0); + } + + @Override + public BookShelfBean readEntity(Cursor cursor, int offset) { + BookShelfBean entity = new BookShelfBean( // + cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // noteUrl + cursor.getInt(offset + 1), // durChapter + cursor.getInt(offset + 2), // durChapterPage + cursor.getLong(offset + 3), // finalDate + cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4) // tag + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, BookShelfBean entity, int offset) { + entity.setNoteUrl(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0)); + entity.setDurChapter(cursor.getInt(offset + 1)); + entity.setDurChapterPage(cursor.getInt(offset + 2)); + entity.setFinalDate(cursor.getLong(offset + 3)); + entity.setTag(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4)); + } + + @Override + protected final String updateKeyAfterInsert(BookShelfBean entity, long rowId) { + return entity.getNoteUrl(); + } + + @Override + public String getKey(BookShelfBean entity) { + if(entity != null) { + return entity.getNoteUrl(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/ChapterListBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/ChapterListBeanDao.java new file mode 100644 index 0000000000..d883f6419f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/ChapterListBeanDao.java @@ -0,0 +1,171 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.ChapterListBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "CHAPTER_LIST_BEAN". +*/ +public class ChapterListBeanDao extends AbstractDao { + + public static final String TABLENAME = "CHAPTER_LIST_BEAN"; + + /** + * Properties of entity ChapterListBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property NoteUrl = new Property(0, String.class, "noteUrl", false, "NOTE_URL"); + public final static Property DurChapterIndex = new Property(1, int.class, "durChapterIndex", false, "DUR_CHAPTER_INDEX"); + public final static Property DurChapterUrl = new Property(2, String.class, "durChapterUrl", true, "DUR_CHAPTER_URL"); + public final static Property DurChapterName = new Property(3, String.class, "durChapterName", false, "DUR_CHAPTER_NAME"); + public final static Property Tag = new Property(4, String.class, "tag", false, "TAG"); + public final static Property HasCache = new Property(5, Boolean.class, "hasCache", false, "HAS_CACHE"); + }; + + + public ChapterListBeanDao(DaoConfig config) { + super(config); + } + + public ChapterListBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"CHAPTER_LIST_BEAN\" (" + // + "\"NOTE_URL\" TEXT," + // 0: noteUrl + "\"DUR_CHAPTER_INDEX\" INTEGER NOT NULL ," + // 1: durChapterIndex + "\"DUR_CHAPTER_URL\" TEXT PRIMARY KEY NOT NULL ," + // 2: durChapterUrl + "\"DUR_CHAPTER_NAME\" TEXT," + // 3: durChapterName + "\"TAG\" TEXT," + // 4: tag + "\"HAS_CACHE\" INTEGER);"); // 5: hasCache + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"CHAPTER_LIST_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, ChapterListBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(3, durChapterUrl); + } + + String durChapterName = entity.getDurChapterName(); + if (durChapterName != null) { + stmt.bindString(4, durChapterName); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + + Boolean hasCache = entity.getHasCache(); + if (hasCache != null) { + stmt.bindLong(6, hasCache ? 1L: 0L); + } + } + + @Override + protected final void bindValues(SQLiteStatement stmt, ChapterListBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(3, durChapterUrl); + } + + String durChapterName = entity.getDurChapterName(); + if (durChapterName != null) { + stmt.bindString(4, durChapterName); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + + Boolean hasCache = entity.getHasCache(); + if (hasCache != null) { + stmt.bindLong(6, hasCache ? 1L: 0L); + } + } + + @Override + public String readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2); + } + + @Override + public ChapterListBean readEntity(Cursor cursor, int offset) { + ChapterListBean entity = new ChapterListBean( // + cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // noteUrl + cursor.getInt(offset + 1), // durChapterIndex + cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // durChapterUrl + cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // durChapterName + cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // tag + cursor.isNull(offset + 5) ? null : cursor.getShort(offset + 5) != 0 // hasCache + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, ChapterListBean entity, int offset) { + entity.setNoteUrl(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0)); + entity.setDurChapterIndex(cursor.getInt(offset + 1)); + entity.setDurChapterUrl(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); + entity.setDurChapterName(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3)); + entity.setTag(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4)); + entity.setHasCache(cursor.isNull(offset + 5) ? null : cursor.getShort(offset + 5) != 0); + } + + @Override + protected final String updateKeyAfterInsert(ChapterListBean entity, long rowId) { + return entity.getDurChapterUrl(); + } + + @Override + public String getKey(ChapterListBean entity) { + if(entity != null) { + return entity.getDurChapterUrl(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/DaoMaster.java b/app/src/main/java/com/monke/monkeybook/dao/DaoMaster.java new file mode 100644 index 0000000000..d302a59fd2 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/DaoMaster.java @@ -0,0 +1,111 @@ +package com.monke.monkeybook.dao; + +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteDatabase.CursorFactory; +import android.util.Log; + +import org.greenrobot.greendao.AbstractDaoMaster; +import org.greenrobot.greendao.database.StandardDatabase; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseOpenHelper; +import org.greenrobot.greendao.identityscope.IdentityScopeType; + + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * Master of DAO (schema version 1): knows all DAOs. + */ +public class DaoMaster extends AbstractDaoMaster { + public static final int SCHEMA_VERSION = 1; + + /** Creates underlying database table using DAOs. */ + public static void createAllTables(Database db, boolean ifNotExists) { + BookContentBeanDao.createTable(db, ifNotExists); + BookInfoBeanDao.createTable(db, ifNotExists); + BookShelfBeanDao.createTable(db, ifNotExists); + ChapterListBeanDao.createTable(db, ifNotExists); + DownloadChapterBeanDao.createTable(db, ifNotExists); + SearchHistoryBeanDao.createTable(db, ifNotExists); + } + + /** Drops underlying database table using DAOs. */ + public static void dropAllTables(Database db, boolean ifExists) { + BookContentBeanDao.dropTable(db, ifExists); + BookInfoBeanDao.dropTable(db, ifExists); + BookShelfBeanDao.dropTable(db, ifExists); + ChapterListBeanDao.dropTable(db, ifExists); + DownloadChapterBeanDao.dropTable(db, ifExists); + SearchHistoryBeanDao.dropTable(db, ifExists); + } + + /** + * WARNING: Drops all table on Upgrade! Use only during development. + * Convenience method using a {@link DevOpenHelper}. + */ + public static DaoSession newDevSession(Context context, String name) { + Database db = new DevOpenHelper(context, name).getWritableDb(); + DaoMaster daoMaster = new DaoMaster(db); + return daoMaster.newSession(); + } + + public DaoMaster(SQLiteDatabase db) { + this(new StandardDatabase(db)); + } + + public DaoMaster(Database db) { + super(db, SCHEMA_VERSION); + registerDaoClass(BookContentBeanDao.class); + registerDaoClass(BookInfoBeanDao.class); + registerDaoClass(BookShelfBeanDao.class); + registerDaoClass(ChapterListBeanDao.class); + registerDaoClass(DownloadChapterBeanDao.class); + registerDaoClass(SearchHistoryBeanDao.class); + } + + public DaoSession newSession() { + return new DaoSession(db, IdentityScopeType.Session, daoConfigMap); + } + + public DaoSession newSession(IdentityScopeType type) { + return new DaoSession(db, type, daoConfigMap); + } + + /** + * Calls {@link #createAllTables(Database, boolean)} in {@link #onCreate(Database)} - + */ + public static abstract class OpenHelper extends DatabaseOpenHelper { + public OpenHelper(Context context, String name) { + super(context, name, SCHEMA_VERSION); + } + + public OpenHelper(Context context, String name, CursorFactory factory) { + super(context, name, factory, SCHEMA_VERSION); + } + + @Override + public void onCreate(Database db) { + Log.i("greenDAO", "Creating tables for schema version " + SCHEMA_VERSION); + createAllTables(db, false); + } + } + + /** WARNING: Drops all table on Upgrade! Use only during development. */ + public static class DevOpenHelper extends OpenHelper { + public DevOpenHelper(Context context, String name) { + super(context, name); + } + + public DevOpenHelper(Context context, String name, CursorFactory factory) { + super(context, name, factory); + } + + @Override + public void onUpgrade(Database db, int oldVersion, int newVersion) { + Log.i("greenDAO", "Upgrading schema from version " + oldVersion + " to " + newVersion + " by dropping all tables"); + dropAllTables(db, true); + onCreate(db); + } + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/DaoSession.java b/app/src/main/java/com/monke/monkeybook/dao/DaoSession.java new file mode 100644 index 0000000000..4b6ffbf369 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/DaoSession.java @@ -0,0 +1,118 @@ +package com.monke.monkeybook.dao; + +import java.util.Map; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.AbstractDaoSession; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.identityscope.IdentityScopeType; +import org.greenrobot.greendao.internal.DaoConfig; + +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookInfoBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.DownloadChapterBean; +import com.monke.monkeybook.bean.SearchHistoryBean; + +import com.monke.monkeybook.dao.BookContentBeanDao; +import com.monke.monkeybook.dao.BookInfoBeanDao; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.ChapterListBeanDao; +import com.monke.monkeybook.dao.DownloadChapterBeanDao; +import com.monke.monkeybook.dao.SearchHistoryBeanDao; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. + +/** + * {@inheritDoc} + * + * @see org.greenrobot.greendao.AbstractDaoSession + */ +public class DaoSession extends AbstractDaoSession { + + private final DaoConfig bookContentBeanDaoConfig; + private final DaoConfig bookInfoBeanDaoConfig; + private final DaoConfig bookShelfBeanDaoConfig; + private final DaoConfig chapterListBeanDaoConfig; + private final DaoConfig downloadChapterBeanDaoConfig; + private final DaoConfig searchHistoryBeanDaoConfig; + + private final BookContentBeanDao bookContentBeanDao; + private final BookInfoBeanDao bookInfoBeanDao; + private final BookShelfBeanDao bookShelfBeanDao; + private final ChapterListBeanDao chapterListBeanDao; + private final DownloadChapterBeanDao downloadChapterBeanDao; + private final SearchHistoryBeanDao searchHistoryBeanDao; + + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { + super(db); + + bookContentBeanDaoConfig = daoConfigMap.get(BookContentBeanDao.class).clone(); + bookContentBeanDaoConfig.initIdentityScope(type); + + bookInfoBeanDaoConfig = daoConfigMap.get(BookInfoBeanDao.class).clone(); + bookInfoBeanDaoConfig.initIdentityScope(type); + + bookShelfBeanDaoConfig = daoConfigMap.get(BookShelfBeanDao.class).clone(); + bookShelfBeanDaoConfig.initIdentityScope(type); + + chapterListBeanDaoConfig = daoConfigMap.get(ChapterListBeanDao.class).clone(); + chapterListBeanDaoConfig.initIdentityScope(type); + + downloadChapterBeanDaoConfig = daoConfigMap.get(DownloadChapterBeanDao.class).clone(); + downloadChapterBeanDaoConfig.initIdentityScope(type); + + searchHistoryBeanDaoConfig = daoConfigMap.get(SearchHistoryBeanDao.class).clone(); + searchHistoryBeanDaoConfig.initIdentityScope(type); + + bookContentBeanDao = new BookContentBeanDao(bookContentBeanDaoConfig, this); + bookInfoBeanDao = new BookInfoBeanDao(bookInfoBeanDaoConfig, this); + bookShelfBeanDao = new BookShelfBeanDao(bookShelfBeanDaoConfig, this); + chapterListBeanDao = new ChapterListBeanDao(chapterListBeanDaoConfig, this); + downloadChapterBeanDao = new DownloadChapterBeanDao(downloadChapterBeanDaoConfig, this); + searchHistoryBeanDao = new SearchHistoryBeanDao(searchHistoryBeanDaoConfig, this); + + registerDao(BookContentBean.class, bookContentBeanDao); + registerDao(BookInfoBean.class, bookInfoBeanDao); + registerDao(BookShelfBean.class, bookShelfBeanDao); + registerDao(ChapterListBean.class, chapterListBeanDao); + registerDao(DownloadChapterBean.class, downloadChapterBeanDao); + registerDao(SearchHistoryBean.class, searchHistoryBeanDao); + } + + public void clear() { + bookContentBeanDaoConfig.getIdentityScope().clear(); + bookInfoBeanDaoConfig.getIdentityScope().clear(); + bookShelfBeanDaoConfig.getIdentityScope().clear(); + chapterListBeanDaoConfig.getIdentityScope().clear(); + downloadChapterBeanDaoConfig.getIdentityScope().clear(); + searchHistoryBeanDaoConfig.getIdentityScope().clear(); + } + + public BookContentBeanDao getBookContentBeanDao() { + return bookContentBeanDao; + } + + public BookInfoBeanDao getBookInfoBeanDao() { + return bookInfoBeanDao; + } + + public BookShelfBeanDao getBookShelfBeanDao() { + return bookShelfBeanDao; + } + + public ChapterListBeanDao getChapterListBeanDao() { + return chapterListBeanDao; + } + + public DownloadChapterBeanDao getDownloadChapterBeanDao() { + return downloadChapterBeanDao; + } + + public SearchHistoryBeanDao getSearchHistoryBeanDao() { + return searchHistoryBeanDao; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/DbHelper.java b/app/src/main/java/com/monke/monkeybook/dao/DbHelper.java new file mode 100644 index 0000000000..99bf7e0e50 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/DbHelper.java @@ -0,0 +1,40 @@ +package com.monke.monkeybook.dao; + +import android.database.sqlite.SQLiteDatabase; +import com.monke.monkeybook.MApplication; + +public class DbHelper { + private DaoMaster.DevOpenHelper mHelper; + private SQLiteDatabase db; + private DaoMaster mDaoMaster; + private DaoSession mDaoSession; + + private DbHelper(){ + mHelper = new DaoMaster.DevOpenHelper(MApplication.getInstance(), "monkebook_db", null); + db = mHelper.getWritableDatabase(); + // 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。 + mDaoMaster = new DaoMaster(db); + mDaoSession = mDaoMaster.newSession(); + } + + private static DbHelper instance; + + public static DbHelper getInstance(){ + if(null == instance){ + synchronized (DbHelper.class){ + if(null == instance){ + instance = new DbHelper(); + } + } + } + return instance; + } + + public DaoSession getmDaoSession() { + return mDaoSession; + } + + public SQLiteDatabase getDb() { + return db; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/DownloadChapterBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/DownloadChapterBeanDao.java new file mode 100644 index 0000000000..b13abc059c --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/DownloadChapterBeanDao.java @@ -0,0 +1,185 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.DownloadChapterBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "DOWNLOAD_CHAPTER_BEAN". +*/ +public class DownloadChapterBeanDao extends AbstractDao { + + public static final String TABLENAME = "DOWNLOAD_CHAPTER_BEAN"; + + /** + * Properties of entity DownloadChapterBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property NoteUrl = new Property(0, String.class, "noteUrl", false, "NOTE_URL"); + public final static Property DurChapterIndex = new Property(1, int.class, "durChapterIndex", false, "DUR_CHAPTER_INDEX"); + public final static Property DurChapterUrl = new Property(2, String.class, "durChapterUrl", true, "DUR_CHAPTER_URL"); + public final static Property DurChapterName = new Property(3, String.class, "durChapterName", false, "DUR_CHAPTER_NAME"); + public final static Property Tag = new Property(4, String.class, "tag", false, "TAG"); + public final static Property BookName = new Property(5, String.class, "bookName", false, "BOOK_NAME"); + public final static Property CoverUrl = new Property(6, String.class, "coverUrl", false, "COVER_URL"); + }; + + + public DownloadChapterBeanDao(DaoConfig config) { + super(config); + } + + public DownloadChapterBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"DOWNLOAD_CHAPTER_BEAN\" (" + // + "\"NOTE_URL\" TEXT," + // 0: noteUrl + "\"DUR_CHAPTER_INDEX\" INTEGER NOT NULL ," + // 1: durChapterIndex + "\"DUR_CHAPTER_URL\" TEXT PRIMARY KEY NOT NULL ," + // 2: durChapterUrl + "\"DUR_CHAPTER_NAME\" TEXT," + // 3: durChapterName + "\"TAG\" TEXT," + // 4: tag + "\"BOOK_NAME\" TEXT," + // 5: bookName + "\"COVER_URL\" TEXT);"); // 6: coverUrl + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"DOWNLOAD_CHAPTER_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, DownloadChapterBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(3, durChapterUrl); + } + + String durChapterName = entity.getDurChapterName(); + if (durChapterName != null) { + stmt.bindString(4, durChapterName); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + + String bookName = entity.getBookName(); + if (bookName != null) { + stmt.bindString(6, bookName); + } + + String coverUrl = entity.getCoverUrl(); + if (coverUrl != null) { + stmt.bindString(7, coverUrl); + } + } + + @Override + protected final void bindValues(SQLiteStatement stmt, DownloadChapterBean entity) { + stmt.clearBindings(); + + String noteUrl = entity.getNoteUrl(); + if (noteUrl != null) { + stmt.bindString(1, noteUrl); + } + stmt.bindLong(2, entity.getDurChapterIndex()); + + String durChapterUrl = entity.getDurChapterUrl(); + if (durChapterUrl != null) { + stmt.bindString(3, durChapterUrl); + } + + String durChapterName = entity.getDurChapterName(); + if (durChapterName != null) { + stmt.bindString(4, durChapterName); + } + + String tag = entity.getTag(); + if (tag != null) { + stmt.bindString(5, tag); + } + + String bookName = entity.getBookName(); + if (bookName != null) { + stmt.bindString(6, bookName); + } + + String coverUrl = entity.getCoverUrl(); + if (coverUrl != null) { + stmt.bindString(7, coverUrl); + } + } + + @Override + public String readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2); + } + + @Override + public DownloadChapterBean readEntity(Cursor cursor, int offset) { + DownloadChapterBean entity = new DownloadChapterBean( // + cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0), // noteUrl + cursor.getInt(offset + 1), // durChapterIndex + cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // durChapterUrl + cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // durChapterName + cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // tag + cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5), // bookName + cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6) // coverUrl + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, DownloadChapterBean entity, int offset) { + entity.setNoteUrl(cursor.isNull(offset + 0) ? null : cursor.getString(offset + 0)); + entity.setDurChapterIndex(cursor.getInt(offset + 1)); + entity.setDurChapterUrl(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); + entity.setDurChapterName(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3)); + entity.setTag(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4)); + entity.setBookName(cursor.isNull(offset + 5) ? null : cursor.getString(offset + 5)); + entity.setCoverUrl(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6)); + } + + @Override + protected final String updateKeyAfterInsert(DownloadChapterBean entity, long rowId) { + return entity.getDurChapterUrl(); + } + + @Override + public String getKey(DownloadChapterBean entity) { + if(entity != null) { + return entity.getDurChapterUrl(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/dao/SearchHistoryBeanDao.java b/app/src/main/java/com/monke/monkeybook/dao/SearchHistoryBeanDao.java new file mode 100644 index 0000000000..47e9aa07d8 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/dao/SearchHistoryBeanDao.java @@ -0,0 +1,136 @@ +package com.monke.monkeybook.dao; + +import android.database.Cursor; +import android.database.sqlite.SQLiteStatement; + +import org.greenrobot.greendao.AbstractDao; +import org.greenrobot.greendao.Property; +import org.greenrobot.greendao.internal.DaoConfig; +import org.greenrobot.greendao.database.Database; +import org.greenrobot.greendao.database.DatabaseStatement; + +import com.monke.monkeybook.bean.SearchHistoryBean; + +// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. +/** + * DAO for table "SEARCH_HISTORY_BEAN". +*/ +public class SearchHistoryBeanDao extends AbstractDao { + + public static final String TABLENAME = "SEARCH_HISTORY_BEAN"; + + /** + * Properties of entity SearchHistoryBean.
+ * Can be used for QueryBuilder and for referencing column names. + */ + public static class Properties { + public final static Property Id = new Property(0, Long.class, "id", true, "_id"); + public final static Property Type = new Property(1, int.class, "type", false, "TYPE"); + public final static Property Content = new Property(2, String.class, "content", false, "CONTENT"); + public final static Property Date = new Property(3, long.class, "date", false, "DATE"); + }; + + + public SearchHistoryBeanDao(DaoConfig config) { + super(config); + } + + public SearchHistoryBeanDao(DaoConfig config, DaoSession daoSession) { + super(config, daoSession); + } + + /** Creates the underlying database table. */ + public static void createTable(Database db, boolean ifNotExists) { + String constraint = ifNotExists? "IF NOT EXISTS ": ""; + db.execSQL("CREATE TABLE " + constraint + "\"SEARCH_HISTORY_BEAN\" (" + // + "\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id + "\"TYPE\" INTEGER NOT NULL ," + // 1: type + "\"CONTENT\" TEXT," + // 2: content + "\"DATE\" INTEGER NOT NULL );"); // 3: date + } + + /** Drops the underlying database table. */ + public static void dropTable(Database db, boolean ifExists) { + String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"SEARCH_HISTORY_BEAN\""; + db.execSQL(sql); + } + + @Override + protected final void bindValues(DatabaseStatement stmt, SearchHistoryBean entity) { + stmt.clearBindings(); + + Long id = entity.getId(); + if (id != null) { + stmt.bindLong(1, id); + } + stmt.bindLong(2, entity.getType()); + + String content = entity.getContent(); + if (content != null) { + stmt.bindString(3, content); + } + stmt.bindLong(4, entity.getDate()); + } + + @Override + protected final void bindValues(SQLiteStatement stmt, SearchHistoryBean entity) { + stmt.clearBindings(); + + Long id = entity.getId(); + if (id != null) { + stmt.bindLong(1, id); + } + stmt.bindLong(2, entity.getType()); + + String content = entity.getContent(); + if (content != null) { + stmt.bindString(3, content); + } + stmt.bindLong(4, entity.getDate()); + } + + @Override + public Long readKey(Cursor cursor, int offset) { + return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0); + } + + @Override + public SearchHistoryBean readEntity(Cursor cursor, int offset) { + SearchHistoryBean entity = new SearchHistoryBean( // + cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id + cursor.getInt(offset + 1), // type + cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // content + cursor.getLong(offset + 3) // date + ); + return entity; + } + + @Override + public void readEntity(Cursor cursor, SearchHistoryBean entity, int offset) { + entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0)); + entity.setType(cursor.getInt(offset + 1)); + entity.setContent(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2)); + entity.setDate(cursor.getLong(offset + 3)); + } + + @Override + protected final Long updateKeyAfterInsert(SearchHistoryBean entity, long rowId) { + entity.setId(rowId); + return rowId; + } + + @Override + public Long getKey(SearchHistoryBean entity) { + if(entity != null) { + return entity.getId(); + } else { + return null; + } + } + + @Override + protected final boolean isEntityUpdateable() { + return true; + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/listener/OnGetChapterListListener.java b/app/src/main/java/com/monke/monkeybook/listener/OnGetChapterListListener.java new file mode 100644 index 0000000000..2951140082 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/listener/OnGetChapterListListener.java @@ -0,0 +1,8 @@ +package com.monke.monkeybook.listener; + +import com.monke.monkeybook.bean.BookShelfBean; + +public interface OnGetChapterListListener { + public void success(BookShelfBean bookShelfBean); + public void error(); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IEasouBookModel.java b/app/src/main/java/com/monke/monkeybook/model/IEasouBookModel.java new file mode 100644 index 0000000000..f7a6fcffb9 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IEasouBookModel.java @@ -0,0 +1,34 @@ +package com.monke.monkeybook.model; + +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.LibraryBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.cache.ACache; +import com.monke.monkeybook.listener.OnGetChapterListListener; + +import java.util.List; + +import io.reactivex.Observable; + +public interface IEasouBookModel { + /** + * 搜索书籍 + */ + public Observable> searchBook(String content, int page, int rankKind); + + /** + * 网络请求并解析书籍信息 + */ + public Observable getBookInfo(final BookShelfBean bookShelfBean); + + /** + * 网络解析图书目录 + */ + public void getChapterList(final BookShelfBean bookShelfBean, OnGetChapterListListener getChapterListListener); + + /** + * 章节缓存 + */ + Observable getBookContent(final String durChapterUrl, final int durChapterIndex); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IGxwztvBookModel.java b/app/src/main/java/com/monke/monkeybook/model/IGxwztvBookModel.java new file mode 100644 index 0000000000..f93931ff26 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IGxwztvBookModel.java @@ -0,0 +1,24 @@ +package com.monke.monkeybook.model; + +import com.monke.monkeybook.bean.LibraryBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.cache.ACache; + +import java.util.List; + +import io.reactivex.Observable; + +public interface IGxwztvBookModel extends IStationBookModel { + + public Observable> getKindBook(String url, int page); + + /** + * 获取主页信息 + */ + public Observable getLibraryData(ACache aCache); + + /** + * 解析主页数据 + */ + public Observable analyLibraryData(String data); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IImportBookModel.java b/app/src/main/java/com/monke/monkeybook/model/IImportBookModel.java new file mode 100644 index 0000000000..a2b0351c4d --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IImportBookModel.java @@ -0,0 +1,14 @@ +package com.monke.monkeybook.model; + +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.LocBookShelfBean; + +import java.io.File; +import java.util.List; + +import io.reactivex.Observable; + +public interface IImportBookModel { + + Observable importBook(File book); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IStationBookModel.java b/app/src/main/java/com/monke/monkeybook/model/IStationBookModel.java new file mode 100644 index 0000000000..5a6f31627e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IStationBookModel.java @@ -0,0 +1,33 @@ +package com.monke.monkeybook.model; + +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.listener.OnGetChapterListListener; + +import java.util.List; + +import io.reactivex.Observable; + +public interface IStationBookModel { + + /** + * 搜索书籍 + */ + public Observable> searchBook(String content, int page); + + /** + * 网络请求并解析书籍信息 + */ + public Observable getBookInfo(final BookShelfBean bookShelfBean); + + /** + * 网络解析图书目录 + */ + public void getChapterList(final BookShelfBean bookShelfBean, OnGetChapterListListener getChapterListListener); + + /** + * 章节缓存 + */ + Observable getBookContent(final String durChapterUrl, final int durChapterIndex); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IWebBookModel.java b/app/src/main/java/com/monke/monkeybook/model/IWebBookModel.java new file mode 100644 index 0000000000..0b9066bd73 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IWebBookModel.java @@ -0,0 +1,39 @@ +package com.monke.monkeybook.model; + +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import java.util.List; +import io.reactivex.Observable; + +public interface IWebBookModel { + /** + * 网络请求并解析书籍信息 + */ + public Observable getBookInfo(final BookShelfBean bookShelfBean); + + /** + * 网络解析图书目录 + */ + public void getChapterList(final BookShelfBean bookShelfBean,OnGetChapterListListener getChapterListListener); + + /** + * 章节缓存 + */ + public Observable getBookContent(final String durChapterUrl, final int durChapterIndex, String tag); + + /** + * 搜索书籍 + */ + public Observable> searchBook(String content, int page,int rankKind); + + /** + * 获取分类书籍 + */ + public Observable> getKindBook(String url,int page); + /** + * 其他站点资源整合搜索 + */ + public Observable> searchOtherBook(String content,int page,String tag); +} diff --git a/app/src/main/java/com/monke/monkeybook/model/IWebContentModel.java b/app/src/main/java/com/monke/monkeybook/model/IWebContentModel.java new file mode 100644 index 0000000000..5ad2bec3dd --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/IWebContentModel.java @@ -0,0 +1,6 @@ +package com.monke.monkeybook.model; + +public interface IWebContentModel { + + public String analyBookcontent(String s,String realUrl) throws Exception; +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content17duxsModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content17duxsModelImpl.java new file mode 100644 index 0000000000..be9d07f939 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content17duxsModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class Content17duxsModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.17duxs.com"; + + public static Content17duxsModelImpl getInstance() { + return new Content17duxsModelImpl(); + } + + private Content17duxsModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content17kModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content17kModelImpl.java new file mode 100644 index 0000000000..ad522536ea --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content17kModelImpl.java @@ -0,0 +1,39 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class Content17kModelImpl implements IWebContentModel { + public static final String TAG = "http://www.17k.com"; + + public static Content17kModelImpl getInstance() { + return new Content17kModelImpl(); + } + + private Content17kModelImpl() { + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + Element all = doc.getElementById("chapterContentWapper"); + List contentEs = all.getAllElements().get(0).textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content3dllcModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content3dllcModelImpl.java new file mode 100644 index 0000000000..d4b0010b48 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content3dllcModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class Content3dllcModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.3dllc.cc"; + + public static Content3dllcModelImpl getInstance() { + return new Content3dllcModelImpl(); + } + + private Content3dllcModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content44pqModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content44pqModelImpl.java new file mode 100644 index 0000000000..a4cd8119f8 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content44pqModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class Content44pqModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.44pq.net"; + + public static Content44pqModelImpl getInstance() { + return new Content44pqModelImpl(); + } + + private Content44pqModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content630bookCCModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content630bookCCModelImpl.java new file mode 100644 index 0000000000..55d503e536 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content630bookCCModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class Content630bookCCModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.630book.cc"; + + public static Content630bookCCModelImpl getInstance() { + return new Content630bookCCModelImpl(); + } + + private Content630bookCCModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/Content92zwModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/Content92zwModelImpl.java new file mode 100644 index 0000000000..80370fc3cf --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/Content92zwModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class Content92zwModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.92zw.la"; + + public static Content92zwModelImpl getInstance() { + return new Content92zwModelImpl(); + } + + private Content92zwModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("contents").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentAszwModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentAszwModelImpl.java new file mode 100644 index 0000000000..3d4b25a549 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentAszwModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentAszwModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.aszw.org"; + + public static ContentAszwModelImpl getInstance() { + return new ContentAszwModelImpl(); + } + + private ContentAszwModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("contents").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentBaishukuModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentBaishukuModelImpl.java new file mode 100644 index 0000000000..27fa9ce4af --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentBaishukuModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentBaishukuModelImpl implements IWebContentModel{ + public static final String TAG = "http://baishuku.com"; + + public static ContentBaishukuModelImpl getInstance() { + return new ContentBaishukuModelImpl(); + } + + private ContentBaishukuModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentBxwx9ModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentBxwx9ModelImpl.java new file mode 100644 index 0000000000..54d1ea94cb --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentBxwx9ModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentBxwx9ModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.bxwx9.org"; + + public static ContentBxwx9ModelImpl getInstance() { + return new ContentBxwx9ModelImpl(); + } + + private ContentBxwx9ModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentCommendModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentCommendModelImpl.java new file mode 100644 index 0000000000..243b75bf6f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentCommendModelImpl.java @@ -0,0 +1,45 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.ErrorAnalyContentManager; +import com.monke.monkeybook.bean.BookContentBean; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentCommendModelImpl { + + public static ContentCommendModelImpl getInstance() { + return new ContentCommendModelImpl(); + } + + private ContentCommendModelImpl() { + + } + public BookContentBean analyBookcontent(BookContentBean bookContentBean, String s, String realUrl) throws Exception { + ErrorAnalyContentManager.getInstance().writeNewErrorUrl(realUrl); + try{ + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + bookContentBean.setDurCapterContent(content.toString()); + }catch (Exception e){ + e.printStackTrace(); + bookContentBean.setDurCapterContent(realUrl.substring(0, realUrl.indexOf('/', 8)) + "站点暂时不支持解析,请反馈给Monke QQ:1105075896,半小时内解决,超级效率的程序员"); + bookContentBean.setRight(false); + } + return bookContentBean; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentDhzwModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentDhzwModelImpl.java new file mode 100644 index 0000000000..db7805134a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentDhzwModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentDhzwModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.dhzw.org"; + + public static ContentDhzwModelImpl getInstance() { + return new ContentDhzwModelImpl(); + } + + private ContentDhzwModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("BookText").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + contentEs.get(i).text().trim().replaceAll(" ","")); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentEasouModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentEasouModelImpl.java new file mode 100644 index 0000000000..dc8d3f48b3 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentEasouModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentEasouModelImpl implements IWebContentModel { + public static final String TAG = "http://book.easou.com"; + + public static ContentEasouModelImpl getInstance(){ + return new ContentEasouModelImpl(); + } + + private ContentEasouModelImpl(){ + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementsByClass("show").get(0).textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentFuheishuModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentFuheishuModelImpl.java new file mode 100644 index 0000000000..7713d593ab --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentFuheishuModelImpl.java @@ -0,0 +1,42 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +/** + * 站点有问题 未完全解析 + */ +public class ContentFuheishuModelImpl implements IWebContentModel{ + public static final String TAG = "http://fuheishu.com"; + + public static ContentFuheishuModelImpl getInstance(){ + return new ContentFuheishuModelImpl(); + } + + private ContentFuheishuModelImpl(){ + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + String bookId = realUrl.substring(realUrl.indexOf("/",21)+1,realUrl.indexOf(".html")); + List contentTNs = doc.getElementById("content"+bookId).textNodes(); + StringBuilder stringBuilder = new StringBuilder(); + for(int i=0;i 0) { + stringBuilder.append("\u3000\u3000" + temp); + if (i < contentTNs.size() - 1) { + stringBuilder.append("\r\n"); + } + } + } + return stringBuilder.toString(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentKewaishuModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentKewaishuModelImpl.java new file mode 100644 index 0000000000..208914bfc3 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentKewaishuModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentKewaishuModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.kewaishu.org"; + + public static ContentKewaishuModelImpl getInstance() { + return new ContentKewaishuModelImpl(); + } + + private ContentKewaishuModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").getElementsByTag("p").get(0).textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentLeduwoModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentLeduwoModelImpl.java new file mode 100644 index 0000000000..63ebc72eec --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentLeduwoModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentLeduwoModelImpl implements IWebContentModel{ + public static final String TAG = "http://leduwo.com"; + + public static ContentLeduwoModelImpl getInstance() { + return new ContentLeduwoModelImpl(); + } + + private ContentLeduwoModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentLewen8ModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentLewen8ModelImpl.java new file mode 100644 index 0000000000..0f975ed4d5 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentLewen8ModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentLewen8ModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.lewen8.com"; + + public static ContentLewen8ModelImpl getInstance() { + return new ContentLewen8ModelImpl(); + } + + private ContentLewen8ModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentPbtxtModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentPbtxtModelImpl.java new file mode 100644 index 0000000000..feb34da550 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentPbtxtModelImpl.java @@ -0,0 +1,37 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentPbtxtModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.pbtxt.com"; + + public static ContentPbtxtModelImpl getInstance(){ + return new ContentPbtxtModelImpl(); + } + + private ContentPbtxtModelImpl(){ + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + String bookId = realUrl.substring(realUrl.indexOf("/",21)+1,realUrl.indexOf(".html")); + List contentTNs = doc.getElementById("content"+bookId).textNodes(); + StringBuilder stringBuilder = new StringBuilder(); + for(int i=0;i 0) { + stringBuilder.append("\u3000\u3000" + temp); + if (i < contentTNs.size() - 1) { + stringBuilder.append("\r\n"); + } + } + } + return stringBuilder.toString(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentPpxsModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentPpxsModelImpl.java new file mode 100644 index 0000000000..374fb805c8 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentPpxsModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentPpxsModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.ppxs.net"; + + public static ContentPpxsModelImpl getInstance() { + return new ContentPpxsModelImpl(); + } + + private ContentPpxsModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("booktext").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentQulaModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentQulaModelImpl.java new file mode 100644 index 0000000000..06d5d70004 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentQulaModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentQulaModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.qu.la"; + + public static ContentQulaModelImpl getInstance() { + return new ContentQulaModelImpl(); + } + + private ContentQulaModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentQzreadModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentQzreadModelImpl.java new file mode 100644 index 0000000000..f4ab41e605 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentQzreadModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentQzreadModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.qzread.com"; + + public static ContentQzreadModelImpl getInstance() { + return new ContentQzreadModelImpl(); + } + + private ContentQzreadModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementsByClass("txt").get(0).getElementsByTag("p").get(0).textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentRanwenaModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentRanwenaModelImpl.java new file mode 100644 index 0000000000..fcd94f5c7c --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentRanwenaModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentRanwenaModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.ranwena.com"; + + public static ContentRanwenaModelImpl getInstance() { + return new ContentRanwenaModelImpl(); + } + + private ContentRanwenaModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentShulouModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentShulouModelImpl.java new file mode 100644 index 0000000000..a1e329edcc --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentShulouModelImpl.java @@ -0,0 +1,27 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; + +public class ContentShulouModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.shulou.cc"; + + public static ContentShulouModelImpl getInstance(){ + return new ContentShulouModelImpl(); + } + private ContentShulouModelImpl(){ + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + Element contentE = doc.getElementById("content"); + String contentString = contentE.toString(); + contentString = contentString.replaceAll(" ", "").replaceAll("\n", "").replaceAll(" ", "").replaceAll("", "").replaceAll("", "").replaceAll("

","").replaceAll("

", "\r\n\u3000\u3000"); + contentString = "\u3000\u3000" + contentString; + return contentString; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentSnwx8ModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSnwx8ModelImpl.java new file mode 100644 index 0000000000..1eddf2f7e9 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSnwx8ModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentSnwx8ModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.snwx8.com"; + + public static ContentSnwx8ModelImpl getInstance() { + return new ContentSnwx8ModelImpl(); + } + + private ContentSnwx8ModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("BookText").textNodes(); + StringBuilder content = new StringBuilder(); + for(int i=0;i0){ + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentSuimengModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSuimengModelImpl.java new file mode 100644 index 0000000000..719dfe9d93 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSuimengModelImpl.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; + +import java.util.List; + +public class ContentSuimengModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.suimeng.la"; + + public static ContentSuimengModelImpl getInstance() { + return new ContentSuimengModelImpl(); + } + + private ContentSuimengModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("ccontent").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentSyzwwModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSyzwwModelImpl.java new file mode 100644 index 0000000000..bf7138d43a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentSyzwwModelImpl.java @@ -0,0 +1,39 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +/** + * 站点有问题 未完全解析 + */ +public class ContentSyzwwModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.syzww.net"; + + public static ContentSyzwwModelImpl getInstance() { + return new ContentSyzwwModelImpl(); + } + + private ContentSyzwwModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentVodtwModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentVodtwModelImpl.java new file mode 100644 index 0000000000..6f34d7ab28 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentVodtwModelImpl.java @@ -0,0 +1,43 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.nodes.TextNode; +import org.jsoup.select.Elements; + +import java.util.List; + +public class ContentVodtwModelImpl implements IWebContentModel { + public static final String TAG = "http://www.vodtw.com"; + + public static ContentVodtwModelImpl getInstance() { + return new ContentVodtwModelImpl(); + } + + private ContentVodtwModelImpl() { + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + Element contentE = doc.getElementById("BookText"); + StringBuilder content = new StringBuilder(); + + Elements contentEs = contentE.getElementsByTag("p"); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentWxguanModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentWxguanModelImpl.java new file mode 100644 index 0000000000..39dd395c96 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentWxguanModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import java.util.List; + +public class ContentWxguanModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.wxguan.com"; + + public static ContentWxguanModelImpl getInstance() { + return new ContentWxguanModelImpl(); + } + + private ContentWxguanModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouCCModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouCCModelImpl.java new file mode 100644 index 0000000000..bc8cd276c3 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouCCModelImpl.java @@ -0,0 +1,37 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + +public class ContentXqingdouCCModelImpl implements IWebContentModel { + public static final String TAG = "http://www.xqingdou.cc"; + + public static ContentXqingdouCCModelImpl getInstance() { + return new ContentXqingdouCCModelImpl(); + } + + private ContentXqingdouCCModelImpl() { + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + Elements contentEs = doc.getElementById("chapter_content").getElementsByTag("p"); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouModelImpl.java new file mode 100644 index 0000000000..3602a5204a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentXqingdouModelImpl.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.select.Elements; + +public class ContentXqingdouModelImpl implements IWebContentModel { + public static final String TAG = "http://www.xqingdou.com"; + + public static ContentXqingdouModelImpl getInstance() { + return new ContentXqingdouModelImpl(); + } + + private ContentXqingdouModelImpl() { + + } + + @Override + public String analyBookcontent(String s, String realUrl) throws Exception{ + Document doc = Jsoup.parse(s); + Elements contentEs = doc.getElementById("chapter_content").getElementsByTag("p"); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentYb3ModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentYb3ModelImpl.java new file mode 100644 index 0000000000..d3043bcc5d --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentYb3ModelImpl.java @@ -0,0 +1,61 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.nodes.TextNode; +import org.jsoup.select.Elements; + +import java.util.List; + +public class ContentYb3ModelImpl implements IWebContentModel{ + public static final String TAG = "http://www.yb3.cc"; + + public static ContentYb3ModelImpl getInstance() { + return new ContentYb3ModelImpl(); + } + + private ContentYb3ModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + Element contentE = doc.getElementById("content"); + List contentTextNodes = contentE.textNodes(); + StringBuilder content = new StringBuilder(); + if(contentTextNodes!=null && contentTextNodes.size()>0){ + for (int i = 0; i < contentTextNodes.size(); i++) { + if (contentTextNodes.get(i).text().trim().length() > 0) { + content.append("\u3000\u3000" + contentTextNodes.get(i).text().trim()); + if (i < contentTextNodes.size() - 1) { + content.append("\r\n"); + } + } + } + }else{ + Elements contentEs = contentE.children(); + for (int i = 0; i < contentEs.size(); i++) { + if (contentEs.get(i).text().toString().trim().replaceAll(" ","").length() > 0) { + List tempTextNodes = contentEs.get(i).textNodes(); + if(tempTextNodes!=null && tempTextNodes.size()>0){ + for (int j = 0; j < tempTextNodes.size(); j++) { + String temp = tempTextNodes.get(j).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + content.append("\r\n"); + } + } + }else{ + content.append("\u3000\u3000" + contentEs.get(i).text().trim().replaceAll(" ","")); + content.append("\r\n"); + } + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ContentZhulangModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ContentZhulangModelImpl.java new file mode 100644 index 0000000000..85a6db9015 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ContentZhulangModelImpl.java @@ -0,0 +1,39 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.model.IWebContentModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.TextNode; +import org.jsoup.select.Elements; + +import java.util.List; + +public class ContentZhulangModelImpl implements IWebContentModel{ + public static final String TAG = "http://book.zhulang.com"; + + public static ContentZhulangModelImpl getInstance() { + return new ContentZhulangModelImpl(); + } + + private ContentZhulangModelImpl() { + + } + @Override + public String analyBookcontent(String s, String realUrl) throws Exception { + Document doc = Jsoup.parse(s); + Elements contentEs = doc.getElementById("read-content").children(); + StringBuilder content = new StringBuilder(); + for (int i = 3; i < contentEs.size()-1; i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ","").replaceAll(" ",""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + return content.toString(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/EasouBookModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/EasouBookModelImpl.java new file mode 100644 index 0000000000..a02ebb9a11 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/EasouBookModelImpl.java @@ -0,0 +1,555 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.basemvplib.impl.BaseModelImpl; +import com.monke.monkeybook.ErrorAnalyContentManager; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookInfoBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.WebChapterBean; +import com.monke.monkeybook.common.api.IEasouApi; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.IEasouBookModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.ObservableSource; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; + +public class EasouBookModelImpl extends BaseModelImpl implements IEasouBookModel { + public static final String TAG = "http://book.easou.com"; + + public static EasouBookModelImpl getInstance() { + return new EasouBookModelImpl(); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 搜索书籍 + */ + @Override + public Observable> searchBook(String content, int page, int rankKind) { + String temp = "/w/searchNovel/" + content + "_" + rankKind + "_" + page + ".html"; + return getRetrofitObject(TAG).create(IEasouApi.class).searchBook(temp).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analySearchBook(s); + } + }); + } + + public Observable> analySearchBook(final String s) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + try { + Document doc = Jsoup.parse(s); + Elements booksE = doc.getElementsByClass("resultContent").get(0).getElementsByTag("li"); + if (null != booksE && booksE.size() > 1) { + List books = new ArrayList(); + for (Element bookItem : booksE) { + SearchBookBean item = new SearchBookBean(); + item.setTag(TAG); + item.setAuthor(bookItem.getElementsByClass("attr").get(0).getElementsByTag("a").get(0).text()); + item.setKind(bookItem.getElementsByClass("attr").get(0).getElementsByTag("a").get(1).text()); + item.setState(bookItem.getElementsByTag("span").get(0).text()); + item.setLastChapter(bookItem.getElementsByClass("lastchapter").get(0).text()); + item.setOrigin(bookItem.getElementsByClass("source").get(0).text().replaceAll("来源:", "")); + item.setName(bookItem.getElementsByClass("name").get(0).getElementsByClass("common").get(0).text()); + item.setNoteUrl(TAG + bookItem.getElementsByClass("name").get(0).getElementsByClass("common").get(0).attr("href")); + item.setCoverUrl(bookItem.getElementsByTag("img").get(0).attr("src")); + books.add(item); + } + e.onNext(books); + } else { + e.onNext(new ArrayList()); + } + } catch (Exception ex) { + ex.printStackTrace(); + e.onNext(new ArrayList()); + } + e.onComplete(); + } + }); + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 网络请求并解析书籍信息 + * return BookShelfBean + */ + @Override + public Observable getBookInfo(final BookShelfBean bookShelfBean) { + return getRetrofitObject(TAG).create(IEasouApi.class).getBookInfo(bookShelfBean.getNoteUrl().replace(TAG, "")).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return analyBookInfo(s, bookShelfBean); + } + }); + } + + private Observable analyBookInfo(final String s, final BookShelfBean bookShelfBean) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + bookShelfBean.setTag(TAG); + bookShelfBean.setBookInfoBean(analyBookinfo(s, bookShelfBean.getNoteUrl())); + e.onNext(bookShelfBean); + e.onComplete(); + } + }); + } + + private BookInfoBean analyBookinfo(String s, String novelUrl) { + BookInfoBean bookInfoBean = new BookInfoBean(); + bookInfoBean.setNoteUrl(novelUrl); //id + bookInfoBean.setTag(TAG); + Document doc = Jsoup.parse(s); + Element resultE = doc.getElementsByClass("content").get(0); + String coverUrl = resultE.getElementsByClass("imgShow").get(0).getElementsByTag("img").get(0).attr("src"); + bookInfoBean.setCoverUrl(coverUrl.startsWith("http") ? coverUrl : (TAG + coverUrl)); + bookInfoBean.setName(resultE.getElementsByClass("tit").get(1).getElementsByTag("h1").get(0).text()); + bookInfoBean.setAuthor(resultE.getElementsByClass("author").get(0).getElementsByClass("common").get(0).text()); + bookInfoBean.setIntroduce("\u3000\u3000" + resultE.getElementsByClass("desc").get(0).text().trim()); + bookInfoBean.setChapterUrl(TAG + resultE.getElementsByClass("category").get(0).getElementsByTag("a").get(0).attr("href")); + bookInfoBean.setOrigin(resultE.getElementsByClass("attribute").get(0).getElementsByClass("source").get(0).getElementsByClass("t").get(0).text()); + return bookInfoBean; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 网络解析图书目录 + * return BookShelfBean + */ + @Override + public void getChapterList(final BookShelfBean bookShelfBean, OnGetChapterListListener getChapterListListener) { + getChapterListPage(bookShelfBean, getChapterListListener, 1); + } + + private void getChapterListPage(final BookShelfBean bookShelfBean, final OnGetChapterListListener getChapterListListener, final int page) { + getRetrofitObject(TAG).create(IEasouApi.class).getChapterList(bookShelfBean.getBookInfoBean().getChapterUrl().replace(TAG, "").replace("1_", page + "_")).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analyChapterList(s, bookShelfBean, page == 1 ? true : false); + } + }) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(WebChapterBean value) { + if (value.getNext()) { + getChapterListPage(value.getData(), getChapterListListener, page + 1); + } else { + if (value.getData().getBookInfoBean().getChapterlist() != null && value.getData().getBookInfoBean().getChapterlist().size() > 0) { + for (int i = 0; i < value.getData().getBookInfoBean().getChapterlist().size(); i++) { + int temp = i; + for (int j = i; j < value.getData().getBookInfoBean().getChapterlist().size(); j++) { + if (value.getData().getBookInfoBean().getChapterlist().get(temp).getDurChapterIndex() > value.getData().getBookInfoBean().getChapterlist().get(j).getDurChapterIndex()) { + temp = j; + } + } + ChapterListBean tempBean = value.getData().getBookInfoBean().getChapterlist().get(i); + value.getData().getBookInfoBean().getChapterlist().set(i, value.getData().getBookInfoBean().getChapterlist().get(temp)); + value.getData().getBookInfoBean().getChapterlist().set(temp, tempBean); + } + for (int i = 0; i < value.getData().getBookInfoBean().getChapterlist().size(); i++) { + value.getData().getBookInfoBean().getChapterlist().get(i).setDurChapterIndex(i); + } + } + if (getChapterListListener != null) { + getChapterListListener.success(value.getData()); + } + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (getChapterListListener != null) { + getChapterListListener.error(); + } + } + }); + } + + private Observable> analyChapterList(final String s, final BookShelfBean bookShelfBean, final Boolean isFirstPage) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + bookShelfBean.setTag(TAG); + WebChapterBean> temp = analyChapterlist(s, bookShelfBean.getNoteUrl(), bookShelfBean.getTag()); + if (isFirstPage) { + bookShelfBean.getBookInfoBean().setChapterlist(temp.getData()); + } else { + bookShelfBean.getBookInfoBean().addChapterlist(temp.getData()); + } + e.onNext(new WebChapterBean(bookShelfBean, temp.getNext())); + e.onComplete(); + } + }); + } + + private WebChapterBean> analyChapterlist(String s, String novelUrl, String chapterUrl) { + Document doc = Jsoup.parse(s); + Element element = doc.getElementsByClass("content").get(0); + Elements chapterlist = element.getElementsByClass("category").get(0).getElementsByTag("li"); + List chapterBeans = new ArrayList(); + for (int i = 0; i < chapterlist.size(); i++) { + ChapterListBean temp = new ChapterListBean(); + temp.setDurChapterUrl(chapterUrl + chapterlist.get(i).getElementsByTag("a").get(0).attr("href")); //id + String name = chapterlist.get(i).getElementsByTag("a").get(0).text(); + setDurChapterData(i, name, temp); + temp.setNoteUrl(novelUrl); + temp.setTag(TAG); + + chapterBeans.add(temp); + } + + Elements nextE = doc.getElementsByClass("pager").get(0).getElementsByClass("next unable"); + Boolean next = (nextE == null || nextE.size() <= 0) ? true : false; + return new WebChapterBean>(chapterBeans, next); + } + + private void setDurChapterData(int i, String name, ChapterListBean temp) { + try { + String regex = "第.{1,7}章"; + Pattern p = Pattern.compile(regex); + Matcher m = p.matcher(name); + if (m.find()) { + String indexTemp = m.group(); + indexTemp = indexTemp.replace("第", "").replace("章", "").trim(); + String regex3 = "[0-9]{1,6}"; + Pattern p3 = Pattern.compile(regex3); + Matcher m3 = p3.matcher(indexTemp); + int resultIndex = i; + if (m3.matches()) { + resultIndex = Integer.parseInt(indexTemp); + } else { + resultIndex = parse(indexTemp); + } + temp.setDurChapterIndex(resultIndex); + } else { + String regex2 = "[0-9]{1,6}\\."; + Pattern p2 = Pattern.compile(regex2); + Matcher m2 = p2.matcher(name); + if (m2.find()) { + String indexTemp = m2.group(); + indexTemp = indexTemp.replaceAll("\\.", "").trim(); + int resultIndex = Integer.parseInt(indexTemp); + temp.setDurChapterIndex(resultIndex); + } else { + temp.setDurChapterIndex(i); + } + } + } catch (Exception e) { + e.printStackTrace(); + temp.setDurChapterIndex(i); + }finally { + temp.setDurChapterName(name); + } + } + + public static int parse(String money) { + int result = 0; + char c = 0; + + boolean flag = Pattern.matches("^.*亿.*万.*$", money); + + for (int i = 0; i < money.length(); i++) { + switch (money.charAt(i)) { + case '零': + break; + case '一': + c = 1; + break; + case '二': + c = 2; + break; + case '三': + c = 3; + break; + case '四': + c = 4; + break; + case '五': + c = 5; + break; + case '六': + c = 6; + break; + case '七': + c = 7; + break; + case '八': + c = 8; + break; + case '九': + c = 9; + break; + case '十': + result += (c == 0 ? 10 : c * 10); + c = 0; + break; + case '百': + result += c * 100; + c = 0; + break; + case '千': + result += c * 1000; + c = 0; + break; + case '万': + result = (result + c) * 10000; + c = 0; + break; + case '亿': + if (flag) { + result = (result + c) * 10000; + } else { + result = (result + c) * 100000000; + } + c = 0; + break; + default: + c = 0; + } + + } + if (c != 0) + result += c; + return result; + + } + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 章节缓存 + */ + @Override + public Observable getBookContent(final String durChapterUrl, final int durChapterIndex) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(final ObservableEmitter e) throws Exception { + OkHttpClient client = clientBuilder.build(); + Request.Builder requestBuilder = new Request.Builder().url(durChapterUrl).method("GET", null); + requestBuilder.addHeader("Accept", "text/html,application/xhtml+xml,application/xml"); + requestBuilder.addHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3"); + requestBuilder.addHeader("Accept-Charset", "UTF-8"); + requestBuilder.addHeader("Keep-Alive", "300"); + requestBuilder.addHeader("Cache-Control", "no-cache"); + requestBuilder.addHeader("Connection", "Keep-Alive"); + Call mcall = client.newCall(requestBuilder.build()); + mcall.enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException ex) { + ex.printStackTrace(); + if (!e.isDisposed()) { + e.onError(ex); + } + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + String url = response.request().url().toString(); + BookContentBean bookContentBean = new BookContentBean(); + try { + bookContentBean = choiceAnaly(response, url, durChapterUrl, durChapterIndex); + } catch (Exception e) { + e.printStackTrace(); + ErrorAnalyContentManager.getInstance().writeMayByNetError(url); + bookContentBean = new BookContentBean(); + bookContentBean.setDurChapterIndex(durChapterIndex); + bookContentBean.setDurChapterUrl(durChapterUrl); + bookContentBean.setDurCapterContent(url.substring(0, url.indexOf('/', 8)) + "站点服务器异常"); + bookContentBean.setTag(TAG); + bookContentBean.setRight(false); + } + if (!e.isDisposed()) { + e.onNext(bookContentBean); + e.onComplete(); + } + } + }); + } + }); + } + + private BookContentBean choiceAnaly(Response response, String url, String durChapterUrl, int durChapterIndex) throws Exception { + BookContentBean bookContentBean = new BookContentBean(); + bookContentBean.setDurChapterIndex(durChapterIndex); + bookContentBean.setDurChapterUrl(durChapterUrl); + bookContentBean.setTag(TAG); + if (url.contains(ContentEasouModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentEasouModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentShulouModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentShulouModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentPbtxtModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentPbtxtModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentXqingdouModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentXqingdouModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentSnwx8ModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentSnwx8ModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content17kModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(Content17kModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content92zwModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(Content92zwModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentSuimengModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentSuimengModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentKewaishuModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentKewaishuModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentWxguanModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentWxguanModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentBaishukuModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentBaishukuModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentAszwModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentAszwModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentXqingdouCCModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentXqingdouCCModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentFuheishuModelImpl.TAG)) { + String xml = response.body().string(); + //站点有问题 未完全解析 + bookContentBean.setDurCapterContent(ContentFuheishuModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentSyzwwModelImpl.TAG)) { + String xml = response.body().string(); + //站点有问题 未完全解析 + bookContentBean.setDurCapterContent(ContentSyzwwModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content630bookCCModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(Content630bookCCModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentBxwx9ModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentBxwx9ModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content44pqModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(Content44pqModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentQzreadModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentQzreadModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentLeduwoModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentLeduwoModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content17duxsModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(Content17duxsModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentDhzwModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentDhzwModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentYb3ModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentYb3ModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentZhulangModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentZhulangModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentRanwenaModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentRanwenaModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentPpxsModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GBK")); + bookContentBean.setDurCapterContent(ContentPpxsModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentVodtwModelImpl.TAG)) { + String xml = response.body().source().readString(Charset.forName("GB2312")); + bookContentBean.setDurCapterContent(ContentVodtwModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentQulaModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentQulaModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(ContentLewen8ModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(ContentLewen8ModelImpl.getInstance().analyBookcontent(xml, url)); + } else if (url.contains(Content3dllcModelImpl.TAG)) { + String xml = response.body().string(); + bookContentBean.setDurCapterContent(Content3dllcModelImpl.getInstance().analyBookcontent(xml, url)); + } + ///////////////////////////////////////////////////////////////////////////////////////////////////////// + else { + byte[] xmlData = response.body().source().readByteArray(); + String xml = new String(xmlData, "UTF-8"); + String charset = "UTF-8"; + try { + Document doc = Jsoup.parse(xml); + String data = doc.getElementsByTag("head").get(0).getElementsByTag("meta").get(0).attr("content").toUpperCase().trim(); + if (data.contains("CHARSET")) { + data = data.substring(data.indexOf("CHARSET=") + 8); + if (data.contains(";")) { + data = data.substring(0, data.indexOf(";")); + } + charset = data; + if (!charset.equals("UTF-8")) { + xml = new String(xmlData, charset); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + bookContentBean = ContentCommendModelImpl.getInstance().analyBookcontent(bookContentBean, xml, url); + } + return bookContentBean; + } + + /* + 测试各个网站目录解析 + */ + public static void main(String[] args) { + EasouBookModelImpl.getInstance().getBookContent("http://www.yb3.cc/5200/3186/7426551.html", 0) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookContentBean value) { + value.getRight(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); +// EasouBookModelImpl.getInstance().setDurChapterData(1,"第42章学习",new ChapterListBean()); +// EasouBookModelImpl.getInstance().getLibraryData(null) +// .subscribe(new SimpleObserver() { +// @Override +// public void onNext(LibraryBean value) { +// } +// +// @Override +// public void onError(Throwable e) { +// e.printStackTrace(); +// } +// }); + } +} \ No newline at end of file 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 new file mode 100644 index 0000000000..2737b4942f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/GxwztvBookModelImpl.java @@ -0,0 +1,355 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.basemvplib.impl.BaseModelImpl; +import com.monke.monkeybook.ErrorAnalyContentManager; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookInfoBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.LibraryBean; +import com.monke.monkeybook.bean.LibraryKindBookListBean; +import com.monke.monkeybook.bean.LibraryNewBookBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.WebChapterBean; +import com.monke.monkeybook.cache.ACache; +import com.monke.monkeybook.common.api.IGxwztvApi; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.IGxwztvBookModel; +import com.monke.monkeybook.presenter.impl.LibraryPresenterImpl; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.nodes.TextNode; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.List; + +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.ObservableSource; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; + +public class GxwztvBookModelImpl extends BaseModelImpl implements IGxwztvBookModel { + public static final String TAG = "http://www.gxwztv.com"; + + public static GxwztvBookModelImpl getInstance() { + return new GxwztvBookModelImpl(); + } + + + /** + * 获取主页信息 + */ + @Override + public Observable getLibraryData(final ACache aCache) { + return getRetrofitObject(TAG).create(IGxwztvApi.class).getLibraryData("").flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + if (s != null && s.length() > 0 && aCache != null) { + aCache.put(LibraryPresenterImpl.LIBRARY_CACHE_KEY, s); + } + return analyLibraryData(s); + } + }); + } + + /** + * 解析主页数据 + */ + @Override + public Observable analyLibraryData(final String data) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + LibraryBean result = new LibraryBean(); + Document doc = Jsoup.parse(data); + Element contentE = doc.getElementsByClass("container").get(0); + //解析最新书籍 + Elements newBookEs = contentE.getElementsByClass("list-group-item text-nowrap modal-open"); + List libraryNewBooks = new ArrayList(); + for (int i = 0; i < newBookEs.size(); i++) { + Element itemE = newBookEs.get(i).getElementsByTag("a").get(0); + LibraryNewBookBean item = new LibraryNewBookBean(itemE.text(), TAG + itemE.attr("href"), TAG, "gxwztv.com"); + libraryNewBooks.add(item); + } + result.setLibraryNewBooks(libraryNewBooks); + ////////////////////////////////////////////////////////////////////// + List kindBooks = new ArrayList(); + //解析男频女频 + Elements hotEs = contentE.getElementsByClass("col-xs-12"); + for (int i = 1; i < hotEs.size(); i++) { + LibraryKindBookListBean kindItem = new LibraryKindBookListBean(); + kindItem.setKindName(hotEs.get(i).getElementsByClass("panel-title").get(0).text()); + Elements bookEs = hotEs.get(i).getElementsByClass("panel-body").get(0).getElementsByTag("li"); + + List books = new ArrayList(); + for (int j = 0; j < bookEs.size(); j++) { + SearchBookBean searchBookBean = new SearchBookBean(); + searchBookBean.setOrigin("gxwztv.com"); + searchBookBean.setTag(TAG); + searchBookBean.setName(bookEs.get(j).getElementsByTag("span").get(0).text()); + searchBookBean.setNoteUrl(TAG + bookEs.get(j).getElementsByTag("a").get(0).attr("href")); + searchBookBean.setCoverUrl(bookEs.get(j).getElementsByTag("img").get(0).attr("src")); + books.add(searchBookBean); + } + kindItem.setBooks(books); + kindBooks.add(kindItem); + } + //解析部分分类推荐 + Elements kindEs = contentE.getElementsByClass("panel panel-info index-category-qk"); + for (int i = 0; i < kindEs.size(); i++) { + LibraryKindBookListBean kindItem = new LibraryKindBookListBean(); + kindItem.setKindName(kindEs.get(i).getElementsByClass("panel-title").get(0).text()); + kindItem.setKindUrl(TAG + kindEs.get(i).getElementsByClass("listMore").get(0).getElementsByTag("a").get(0).attr("href")); + + List books = new ArrayList(); + Element firstBookE = kindEs.get(i).getElementsByTag("dl").get(0); + SearchBookBean firstBook = new SearchBookBean(); + firstBook.setTag(TAG); + firstBook.setOrigin("gxwztv.com"); + firstBook.setName(firstBookE.getElementsByTag("a").get(1).text()); + firstBook.setNoteUrl(TAG + firstBookE.getElementsByTag("a").get(0).attr("href")); + firstBook.setCoverUrl(firstBookE.getElementsByTag("a").get(0).getElementsByTag("img").get(0).attr("src")); + firstBook.setKind(kindItem.getKindName()); + books.add(firstBook); + + Elements otherBookEs = kindEs.get(i).getElementsByClass("book_textList").get(0).getElementsByTag("li"); + for (int j = 0; j < otherBookEs.size(); j++) { + SearchBookBean item = new SearchBookBean(); + item.setTag(TAG); + item.setOrigin("gxwztv.com"); + item.setKind(kindItem.getKindName()); + item.setNoteUrl(TAG+otherBookEs.get(j).getElementsByTag("a").get(0).attr("href")); + item.setName(otherBookEs.get(j).getElementsByTag("a").get(0).text()); + books.add(item); + } + kindItem.setBooks(books); + kindBooks.add(kindItem); + } + ////////////// + result.setKindBooks(kindBooks); + e.onNext(result); + e.onComplete(); + } + }); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public Observable> searchBook(String content, int page) { + return getRetrofitObject(TAG).create(IGxwztvApi.class).searchBook(content, page).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analySearchBook(s); + } + }); + } + + public Observable> analySearchBook(final String s) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + try { + Document doc = Jsoup.parse(s); + Elements booksE = doc.getElementById("novel-list").getElementsByClass("list-group-item clearfix"); + if (null != booksE && booksE.size() >= 2) { + List books = new ArrayList(); + for (int i = 1; i < booksE.size(); i++) { + SearchBookBean item = new SearchBookBean(); + item.setTag(TAG); + item.setAuthor(booksE.get(i).getElementsByClass("col-xs-2").get(0).text()); + item.setKind(booksE.get(i).getElementsByClass("col-xs-1").get(0).text()); + item.setLastChapter(booksE.get(i).getElementsByClass("col-xs-4").get(0).getElementsByTag("a").get(0).text()); + item.setOrigin("gxwztv.com"); + item.setName(booksE.get(i).getElementsByClass("col-xs-3").get(0).getElementsByTag("a").get(0).text()); + item.setNoteUrl(TAG + booksE.get(i).getElementsByClass("col-xs-3").get(0).getElementsByTag("a").get(0).attr("href")); + item.setCoverUrl("noimage"); + books.add(item); + } + e.onNext(books); + } else { + e.onNext(new ArrayList()); + } + } catch (Exception ex) { + ex.printStackTrace(); + e.onNext(new ArrayList()); + } + e.onComplete(); + } + }); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public Observable getBookInfo(final BookShelfBean bookShelfBean) { + return getRetrofitObject(TAG).create(IGxwztvApi.class).getBookInfo(bookShelfBean.getNoteUrl().replace(TAG, "")).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return analyBookInfo(s, bookShelfBean); + } + }); + } + + private Observable analyBookInfo(final String s, final BookShelfBean bookShelfBean) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + bookShelfBean.setTag(TAG); + bookShelfBean.setBookInfoBean(analyBookinfo(s, bookShelfBean.getNoteUrl())); + e.onNext(bookShelfBean); + e.onComplete(); + } + }); + } + + private BookInfoBean analyBookinfo(String s, String novelUrl) { + BookInfoBean bookInfoBean = new BookInfoBean(); + bookInfoBean.setNoteUrl(novelUrl); //id + bookInfoBean.setTag(TAG); + Document doc = Jsoup.parse(s); + Element resultE = doc.getElementsByClass("panel panel-warning").get(0); + bookInfoBean.setCoverUrl(resultE.getElementsByClass("panel-body").get(0).getElementsByClass("img-thumbnail").get(0).attr("src")); + bookInfoBean.setName(resultE.getElementsByClass("active").get(0).text()); + bookInfoBean.setAuthor(resultE.getElementsByClass("col-xs-12 list-group-item no-border").get(0).getElementsByTag("small").get(0).text()); + Element introduceE = resultE.getElementsByClass("panel panel-default mt20").get(0); + String introduce = ""; + if (introduceE.getElementById("all") != null) { + introduce = introduceE.getElementById("all").text().replace("[收起]", ""); + } else { + introduce = introduceE.getElementById("shot").text(); + } + bookInfoBean.setIntroduce("\u3000\u3000" + introduce); + bookInfoBean.setChapterUrl(TAG + resultE.getElementsByClass("list-group-item tac").get(0).getElementsByTag("a").get(0).attr("href")); + bookInfoBean.setOrigin("gxwztv.com"); + return bookInfoBean; + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public void getChapterList(final BookShelfBean bookShelfBean, final OnGetChapterListListener getChapterListListener) { + getRetrofitObject(TAG).create(IGxwztvApi.class).getChapterList(bookShelfBean.getBookInfoBean().getChapterUrl().replace(TAG, "")).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analyChapterList(s, bookShelfBean); + } + }) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(WebChapterBean value) { + if (getChapterListListener != null) { + getChapterListListener.success(value.getData()); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (getChapterListListener != null) { + getChapterListListener.error(); + } + } + }); + } + + private Observable> analyChapterList(final String s, final BookShelfBean bookShelfBean) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + bookShelfBean.setTag(TAG); + WebChapterBean> temp = analyChapterlist(s, bookShelfBean.getNoteUrl()); + bookShelfBean.getBookInfoBean().setChapterlist(temp.getData()); + e.onNext(new WebChapterBean(bookShelfBean, temp.getNext())); + e.onComplete(); + } + }); + } + + private WebChapterBean> analyChapterlist(String s, String novelUrl) { + Document doc = Jsoup.parse(s); + Elements chapterlist = doc.getElementById("chapters-list").getElementsByTag("a"); + List chapterBeans = new ArrayList(); + for (int i = 0; i < chapterlist.size(); i++) { + ChapterListBean temp = new ChapterListBean(); + temp.setDurChapterUrl(TAG + chapterlist.get(i).attr("href")); //id + temp.setDurChapterIndex(i); + temp.setDurChapterName(chapterlist.get(i).text()); + temp.setNoteUrl(novelUrl); + temp.setTag(TAG); + + chapterBeans.add(temp); + } + Boolean next = false; + return new WebChapterBean>(chapterBeans, next); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public Observable getBookContent(final String durChapterUrl, final int durChapterIndex) { + return getRetrofitObject(TAG).create(IGxwztvApi.class).getBookContent(durChapterUrl.replace(TAG, "")).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return analyBookContent(s, durChapterUrl, durChapterIndex); + } + }); + } + + private Observable analyBookContent(final String s, final String durChapterUrl, final int durChapterIndex) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + BookContentBean bookContentBean = new BookContentBean(); + bookContentBean.setDurChapterIndex(durChapterIndex); + bookContentBean.setDurChapterUrl(durChapterUrl); + bookContentBean.setTag(TAG); + try { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("txtContent").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ", "").replaceAll(" ", ""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + bookContentBean.setDurCapterContent(content.toString()); + bookContentBean.setRight(true); + } catch (Exception ex) { + ex.printStackTrace(); + ErrorAnalyContentManager.getInstance().writeNewErrorUrl(durChapterUrl); + bookContentBean.setDurCapterContent(durChapterUrl.substring(0, durChapterUrl.indexOf('/', 8)) + "站点暂时不支持解析,请反馈给Monke QQ:1105075896,半小时内解决,超级效率的程序员"); + bookContentBean.setRight(false); + } + e.onNext(bookContentBean); + e.onComplete(); + } + }); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 获取分类书籍 + */ + @Override + public Observable> getKindBook(String url, int page) { + url = url + page + ".htm"; + return getRetrofitObject(GxwztvBookModelImpl.TAG).create(IGxwztvApi.class).getKindBooks(url.replace(GxwztvBookModelImpl.TAG, "")).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analySearchBook(s); + } + }); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/ImportBookModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/ImportBookModelImpl.java new file mode 100644 index 0000000000..56ee5f9661 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/ImportBookModelImpl.java @@ -0,0 +1,184 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.basemvplib.impl.BaseModelImpl; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.LocBookShelfBean; +import com.monke.monkeybook.dao.BookInfoBeanDao; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.ChapterListBeanDao; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.model.IImportBookModel; +import org.mozilla.universalchardet.UniversalDetector; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; + +public class ImportBookModelImpl extends BaseModelImpl implements IImportBookModel { + + public static ImportBookModelImpl getInstance() { + return new ImportBookModelImpl(); + } + + @Override + public Observable importBook(final File book) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + MessageDigest md = MessageDigest.getInstance("MD5"); + FileInputStream in = new FileInputStream(book); + byte[] buffer = new byte[2048]; + int len; + while ((len = in.read(buffer, 0, 2048)) != -1) { + md.update(buffer, 0, len); + } + in.close(); + in = null; + + String md5 = new BigInteger(1, md.digest()).toString(16); + BookShelfBean bookShelfBean = null; + List temp = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().where(BookShelfBeanDao.Properties.NoteUrl.eq(md5)).build().list(); + Boolean isNew = true; + if (temp!=null && temp.size()>0) { + isNew = false; + bookShelfBean = temp.get(0); + bookShelfBean.setBookInfoBean(DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().queryBuilder().where(BookInfoBeanDao.Properties.NoteUrl.eq(bookShelfBean.getNoteUrl())).build().list().get(0)); + } else { + bookShelfBean = new BookShelfBean(); + bookShelfBean.setFinalDate(System.currentTimeMillis()); + bookShelfBean.setDurChapter(0); + bookShelfBean.setDurChapterPage(0); + bookShelfBean.setTag(BookShelfBean.LOCAL_TAG); + bookShelfBean.setNoteUrl(md5); + + bookShelfBean.getBookInfoBean().setAuthor("佚名"); + bookShelfBean.getBookInfoBean().setName(book.getName().replace(".txt", "").replace(".TXT", "")); + bookShelfBean.getBookInfoBean().setFinalRefreshData(System.currentTimeMillis()); + bookShelfBean.getBookInfoBean().setCoverUrl(""); + bookShelfBean.getBookInfoBean().setNoteUrl(md5); + bookShelfBean.getBookInfoBean().setTag(BookShelfBean.LOCAL_TAG); + + saveChapter(book, md5); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().insertOrReplace(bookShelfBean.getBookInfoBean()); + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelfBean); + } + bookShelfBean.getBookInfoBean().setChapterlist(DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().queryBuilder().where(ChapterListBeanDao.Properties.NoteUrl.eq(bookShelfBean.getNoteUrl())).orderAsc(ChapterListBeanDao.Properties.DurChapterIndex).build().list()); + e.onNext(new LocBookShelfBean(isNew,bookShelfBean)); + e.onComplete(); + } + }); + } + + private Boolean isAdded(BookShelfBean temp, List shelfs) { + if (shelfs == null || shelfs.size() == 0) { + return false; + } else { + int a = 0; + for (int i = 0; i < shelfs.size(); i++) { + if (temp.getNoteUrl().equals(shelfs.get(i).getNoteUrl())) { + break; + } else { + a++; + } + } + if (a == shelfs.size()) { + return false; + } else + return true; + } + } + + private void saveChapter(File book, String md5) throws IOException { + String regex = "第.{1,7}章.{0,}"; + + String encoding; + + FileInputStream fis = new FileInputStream(book); + byte[] buf = new byte[4096]; + UniversalDetector detector = new UniversalDetector(null); + int nread; + while ((nread = fis.read(buf)) > 0 && !detector.isDone()) { + detector.handleData(buf, 0, nread); + } + detector.dataEnd(); + encoding = detector.getDetectedCharset(); + if (encoding == null || encoding.length() == 0) + encoding = "utf-8"; + fis.close(); + fis = null; + + int chapterPageIndex = 0; + String title = null; + StringBuilder contentBuilder = new StringBuilder(); + fis = new FileInputStream(book); + InputStreamReader inputreader = new InputStreamReader(fis, encoding); + BufferedReader buffreader = new BufferedReader(inputreader); + String line; + while ((line = buffreader.readLine()) != null) { + Pattern p = Pattern.compile(regex); + Matcher m = p.matcher(line); + if (m.find()) { + String temp = line.trim().substring(0,line.trim().indexOf("第")); + if(temp!= null && temp.trim().length()>0){ + contentBuilder.append(temp); + } + if (contentBuilder.toString().length() > 0) { + if(contentBuilder.toString().replaceAll(" ","").trim().length()>0){ + saveDurChapterContent(md5, chapterPageIndex, title, contentBuilder.toString()); + chapterPageIndex++; + } + contentBuilder.delete(0, contentBuilder.length()); + } + title = line.trim().substring(line.trim().indexOf("第")); + } else { + if (line.trim().length() == 0) { + if (contentBuilder.length() > 0) { + contentBuilder.append("\r\n\u3000\u3000"); + } else { + contentBuilder.append("\r\u3000\u3000"); + } + } else { + contentBuilder.append(line); + if (title == null) { + title = line.trim(); + } + } + } + } + if (contentBuilder.length() > 0) { + saveDurChapterContent(md5, chapterPageIndex, title, contentBuilder.toString()); + contentBuilder.delete(0, contentBuilder.length()); + title = null; + } + buffreader.close(); + inputreader.close(); + fis.close(); + fis = null; + } + + private void saveDurChapterContent(String md5, int chapterPageIndex, String name, String content) { + ChapterListBean chapterListBean = new ChapterListBean(); + chapterListBean.setNoteUrl(md5); + chapterListBean.setDurChapterIndex(chapterPageIndex); + chapterListBean.setTag(BookShelfBean.LOCAL_TAG); + chapterListBean.setDurChapterUrl(md5 + "_" + chapterPageIndex); + chapterListBean.setDurChapterName(name); + chapterListBean.getBookContentBean().setDurChapterUrl(chapterListBean.getDurChapterUrl()); + chapterListBean.getBookContentBean().setTag(BookShelfBean.LOCAL_TAG); + chapterListBean.getBookContentBean().setDurChapterIndex(chapterListBean.getDurChapterIndex()); + chapterListBean.getBookContentBean().setDurCapterContent(content); + + DbHelper.getInstance().getmDaoSession().getBookContentBeanDao().insertOrReplace(chapterListBean.getBookContentBean()); + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplace(chapterListBean); + } +} 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 new file mode 100644 index 0000000000..936bfca940 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/LingdiankanshuStationBookModelImpl.java @@ -0,0 +1,247 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.basemvplib.impl.BaseModelImpl; +import com.monke.monkeybook.ErrorAnalyContentManager; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookInfoBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.WebChapterBean; +import com.monke.monkeybook.common.api.ILingdiankanshuApi; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.IStationBookModel; + +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.nodes.TextNode; +import org.jsoup.select.Elements; + +import java.util.ArrayList; +import java.util.List; + +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.ObservableSource; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; + +public class LingdiankanshuStationBookModelImpl extends BaseModelImpl implements IStationBookModel { + public static final String TAG = "http://www.lingdiankanshu.co"; + + public static LingdiankanshuStationBookModelImpl getInstance() { + return new LingdiankanshuStationBookModelImpl(); + } + + @Override + public Observable> searchBook(String content, int page) { + return getRetrofitObject("http://zhannei.baidu.com").create(ILingdiankanshuApi.class).searchBook(content, page - 1, "16865089933227718744").flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analySearchBook(s); + } + }); + } + + public Observable> analySearchBook(final String s) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + try { + Document doc = Jsoup.parse(s); + Elements booksE = doc.getElementsByClass("result-list").get(0).getElementsByClass("result-item result-game-item"); + if (null != booksE && booksE.size() > 1) { + List books = new ArrayList(); + for (int i = 0; i < booksE.size(); i++) { + SearchBookBean item = new SearchBookBean(); + item.setTag(TAG); + item.setAuthor(booksE.get(i).getElementsByClass("result-game-item-info").get(0).getElementsByClass("result-game-item-info-tag").get(0).getElementsByTag("span").get(1).text()); + item.setKind(booksE.get(i).getElementsByClass("result-game-item-info").get(0).getElementsByClass("result-game-item-info-tag").get(1).getElementsByTag("span").get(1).text()); +// item.setState(); + item.setLastChapter(booksE.get(i).getElementsByClass("result-game-item-info").get(0).getElementsByClass("result-game-item-info-tag").get(3).getElementsByTag("a").get(0).text()); + item.setOrigin("lingdiankanshu.co"); + item.setName(booksE.get(i).getElementsByClass("result-item-title result-game-item-title").get(0).getElementsByTag("a").get(0).text()); + item.setNoteUrl(booksE.get(i).getElementsByClass("result-item-title result-game-item-title").get(0).getElementsByTag("a").get(0).attr("href")); + item.setCoverUrl(booksE.get(i).getElementsByTag("img").get(0).attr("src")); + books.add(item); + } + e.onNext(books); + } else { + e.onNext(new ArrayList()); + } + } catch (Exception ex) { + ex.printStackTrace(); + e.onNext(new ArrayList()); + } + e.onComplete(); + } + }); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public Observable getBookInfo(final BookShelfBean bookShelfBean) { + return getRetrofitObject(TAG).create(ILingdiankanshuApi.class).getBookInfo(bookShelfBean.getNoteUrl().replace(TAG, "")).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return analyBookInfo(s, bookShelfBean); + } + }); + } + + private Observable analyBookInfo(final String s, final BookShelfBean bookShelfBean) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + bookShelfBean.setTag(TAG); + bookShelfBean.setBookInfoBean(analyBookinfo(s, bookShelfBean.getNoteUrl())); + e.onNext(bookShelfBean); + e.onComplete(); + } + }); + } + + private BookInfoBean analyBookinfo(String s, String novelUrl) { + BookInfoBean bookInfoBean = new BookInfoBean(); + bookInfoBean.setNoteUrl(novelUrl); //id + bookInfoBean.setTag(TAG); + Document doc = Jsoup.parse(s); + Element resultE = doc.getElementsByClass("box_con").get(0); + bookInfoBean.setCoverUrl(resultE.getElementById("fmimg").getElementsByTag("img").get(0).attr("src")); + bookInfoBean.setName(resultE.getElementById("info").getElementsByTag("h1").get(0).text()); + String author = resultE.getElementById("info").getElementsByTag("p").get(0).text().toString().trim(); + author = author.replace(" ", "").replace("  ", "").replace("作者:", ""); + bookInfoBean.setAuthor(author); + + List contentEs = resultE.getElementById("intro").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ", "").replaceAll(" ", ""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + + bookInfoBean.setIntroduce(content.toString()); + bookInfoBean.setChapterUrl(novelUrl); + bookInfoBean.setOrigin("gxwztv.com"); + return bookInfoBean; + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public void getChapterList(final BookShelfBean bookShelfBean, final OnGetChapterListListener getChapterListListener) { + getRetrofitObject(TAG).create(ILingdiankanshuApi.class).getChapterList(bookShelfBean.getBookInfoBean().getChapterUrl().replace(TAG, "")).flatMap(new Function>>() { + @Override + public ObservableSource> apply(String s) throws Exception { + return analyChapterList(s, bookShelfBean); + } + }) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(WebChapterBean value) { + if (getChapterListListener != null) { + getChapterListListener.success(value.getData()); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (getChapterListListener != null) { + getChapterListListener.error(); + } + } + }); + } + + private Observable> analyChapterList(final String s, final BookShelfBean bookShelfBean) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + bookShelfBean.setTag(TAG); + WebChapterBean> temp = analyChapterlist(s, bookShelfBean.getNoteUrl()); + bookShelfBean.getBookInfoBean().setChapterlist(temp.getData()); + e.onNext(new WebChapterBean(bookShelfBean, temp.getNext())); + e.onComplete(); + } + }); + } + + private WebChapterBean> analyChapterlist(String s, String novelUrl) { + Document doc = Jsoup.parse(s); + Elements chapterlist = doc.getElementById("list").getElementsByTag("dd"); + List chapterBeans = new ArrayList(); + for (int i = 0; i < chapterlist.size(); i++) { + ChapterListBean temp = new ChapterListBean(); + temp.setDurChapterUrl(novelUrl + chapterlist.get(i).getElementsByTag("a").get(0).attr("href")); //id + temp.setDurChapterIndex(i); + temp.setDurChapterName(chapterlist.get(i).getElementsByTag("a").get(0).text()); + temp.setNoteUrl(novelUrl); + temp.setTag(TAG); + + chapterBeans.add(temp); + } + Boolean next = false; + return new WebChapterBean>(chapterBeans, next); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + @Override + public Observable getBookContent(final String durChapterUrl, final int durChapterIndex) { + return getRetrofitObject(TAG).create(ILingdiankanshuApi.class).getBookContent(durChapterUrl.replace(TAG, "")).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return analyBookContent(s, durChapterUrl, durChapterIndex); + } + }); + } + + private Observable analyBookContent(final String s, final String durChapterUrl, final int durChapterIndex) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + BookContentBean bookContentBean = new BookContentBean(); + bookContentBean.setDurChapterIndex(durChapterIndex); + bookContentBean.setDurChapterUrl(durChapterUrl); + bookContentBean.setTag(TAG); + try { + Document doc = Jsoup.parse(s); + List contentEs = doc.getElementById("content").textNodes(); + StringBuilder content = new StringBuilder(); + for (int i = 0; i < contentEs.size(); i++) { + String temp = contentEs.get(i).text().trim(); + temp = temp.replaceAll(" ", "").replaceAll(" ", ""); + if (temp.length() > 0) { + content.append("\u3000\u3000" + temp); + if (i < contentEs.size() - 1) { + content.append("\r\n"); + } + } + } + bookContentBean.setDurCapterContent(content.toString()); + bookContentBean.setRight(true); + } catch (Exception ex) { + ex.printStackTrace(); + ErrorAnalyContentManager.getInstance().writeNewErrorUrl(durChapterUrl); + bookContentBean.setDurCapterContent(durChapterUrl.substring(0, durChapterUrl.indexOf('/', 8)) + "站点暂时不支持解析,请反馈给Monke QQ:1105075896,半小时内解决,超级效率的程序员"); + bookContentBean.setRight(false); + } + e.onNext(bookContentBean); + e.onComplete(); + } + }); + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// +} diff --git a/app/src/main/java/com/monke/monkeybook/model/impl/WebBookModelImpl.java b/app/src/main/java/com/monke/monkeybook/model/impl/WebBookModelImpl.java new file mode 100644 index 0000000000..c8acb3df53 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/model/impl/WebBookModelImpl.java @@ -0,0 +1,130 @@ +package com.monke.monkeybook.model.impl; + +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.IWebBookModel; +import java.util.ArrayList; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; + +public class WebBookModelImpl implements IWebBookModel { + + public static WebBookModelImpl getInstance() { + return new WebBookModelImpl(); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 网络请求并解析书籍信息 + * return BookShelfBean + */ + @Override + public Observable getBookInfo(BookShelfBean bookShelfBean) { + if (bookShelfBean.getTag().equals(EasouBookModelImpl.TAG)) { + return EasouBookModelImpl.getInstance().getBookInfo(bookShelfBean); + } + else if(bookShelfBean.getTag().equals(GxwztvBookModelImpl.TAG)){ + return GxwztvBookModelImpl.getInstance().getBookInfo(bookShelfBean); + } + else if(bookShelfBean.getTag().equals(LingdiankanshuStationBookModelImpl.TAG)){ + return LingdiankanshuStationBookModelImpl.getInstance().getBookInfo(bookShelfBean); + } + else { + return null; + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 网络解析图书目录 + * return BookShelfBean + */ + @Override + public void getChapterList(final BookShelfBean bookShelfBean, OnGetChapterListListener getChapterListListener) { + if (bookShelfBean.getTag().equals(EasouBookModelImpl.TAG)) { + EasouBookModelImpl.getInstance().getChapterList(bookShelfBean, getChapterListListener); + } + else if(bookShelfBean.getTag().equals(GxwztvBookModelImpl.TAG)){ + GxwztvBookModelImpl.getInstance().getChapterList(bookShelfBean, getChapterListListener); + } + else if(bookShelfBean.getTag().equals(LingdiankanshuStationBookModelImpl.TAG)){ + LingdiankanshuStationBookModelImpl.getInstance().getChapterList(bookShelfBean, getChapterListListener); + } + else{ + if(getChapterListListener!=null) + getChapterListListener.success(bookShelfBean); + } + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * 章节缓存 + */ + @Override + public Observable getBookContent(String durChapterUrl, int durChapterIndex, String tag) { + if (tag.equals(EasouBookModelImpl.TAG)) { + return EasouBookModelImpl.getInstance().getBookContent(durChapterUrl, durChapterIndex); + } + else if(tag.equals(GxwztvBookModelImpl.TAG)){ + return GxwztvBookModelImpl.getInstance().getBookContent(durChapterUrl, durChapterIndex); + } + else if(tag.equals(LingdiankanshuStationBookModelImpl.TAG)){ + return LingdiankanshuStationBookModelImpl.getInstance().getBookContent(durChapterUrl, durChapterIndex); + } + else + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + e.onNext(new BookContentBean()); + e.onComplete(); + } + }); + } + + /** + * 其他站点集合搜索 + */ + @Override + public Observable> searchOtherBook(String content,int page,String tag){ + if(tag.equals(EasouBookModelImpl.TAG)){ + return EasouBookModelImpl.getInstance().searchBook(content, page, 0); + } + else if(tag.equals(GxwztvBookModelImpl.TAG)){ + return GxwztvBookModelImpl.getInstance().searchBook(content, page); + } + else if(tag.equals(LingdiankanshuStationBookModelImpl.TAG)){ + return LingdiankanshuStationBookModelImpl.getInstance().searchBook(content, page); + } + else{ + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + e.onNext(new ArrayList()); + e.onComplete(); + } + }); + } + } + + /** + * 搜索书籍 //专用 + */ + @Override + public Observable> searchBook(String content, int page,int rankKind) { + return EasouBookModelImpl.getInstance().searchBook(content, page, rankKind); + } + /** + * 获取分类书籍 + */ + @Override + public Observable> getKindBook(String url,int page) { + return GxwztvBookModelImpl.getInstance().getKindBook(url,page); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/IBookDetailPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/IBookDetailPresenter.java new file mode 100644 index 0000000000..12b1d47b2e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/IBookDetailPresenter.java @@ -0,0 +1,22 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; + +public interface IBookDetailPresenter extends IPresenter{ + + public int getOpenfrom(); + + public SearchBookBean getSearchBook(); + + public BookShelfBean getBookShelf(); + + public Boolean getInBookShelf(); + + public void getBookShelfInfo(); + + public void addToBookShelf(); + + public void removeFromBookShelf(); +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/IBookReadPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/IBookReadPresenter.java new file mode 100644 index 0000000000..2982d643b3 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/IBookReadPresenter.java @@ -0,0 +1,36 @@ +package com.monke.monkeybook.presenter; + +import android.app.Activity; +import android.content.Intent; + +import com.monke.basemvplib.IPresenter; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.presenter.impl.ReadBookPresenterImpl; +import com.monke.monkeybook.widget.contentswitchview.BookContentView; + +public interface IBookReadPresenter extends IPresenter{ + + public int getOpen_from(); + + public BookShelfBean getBookShelf(); + + public void initContent(); + + public void loadContent(BookContentView bookContentView,long bookTag, final int chapterIndex, final int page); + + public void updateProgress(int chapterIndex, int pageIndex); + + public void saveProgress(); + + public String getChapterTitle(int chapterIndex); + + public void setPageLineCount(int pageLineCount); + + public void addToShelf(final ReadBookPresenterImpl.OnAddListner addListner); + + public Boolean getAdd(); + + public void initData(Activity activity); + + public void openBookFromOther(Activity activity); +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/IChoiceBookPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/IChoiceBookPresenter.java new file mode 100644 index 0000000000..cfd2b875f0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/IChoiceBookPresenter.java @@ -0,0 +1,17 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; +import com.monke.monkeybook.bean.SearchBookBean; + +public interface IChoiceBookPresenter extends IPresenter{ + + public int getPage(); + + public void initPage(); + + public void toSearchBooks(String key); + + public void addBookToShelf(final SearchBookBean searchBookBean); + + public String getTitle(); +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/presenter/IImportBookPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/IImportBookPresenter.java new file mode 100644 index 0000000000..bc06a7ff9f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/IImportBookPresenter.java @@ -0,0 +1,12 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; + +import java.io.File; +import java.util.List; + +public interface IImportBookPresenter extends IPresenter{ + void searchLocationBook(); + + void importBooks(List books); +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/ILibraryPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/ILibraryPresenter.java new file mode 100644 index 0000000000..db81b2ef31 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/ILibraryPresenter.java @@ -0,0 +1,11 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; +import java.util.LinkedHashMap; + +public interface ILibraryPresenter extends IPresenter{ + + public LinkedHashMap getKinds(); + + public void getLibraryData(); +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/IMainPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/IMainPresenter.java new file mode 100644 index 0000000000..4187c69ba4 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/IMainPresenter.java @@ -0,0 +1,7 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; + +public interface IMainPresenter extends IPresenter{ + public void queryBookShelf(Boolean needRefresh); +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/ISearchPresenter.java b/app/src/main/java/com/monke/monkeybook/presenter/ISearchPresenter.java new file mode 100644 index 0000000000..a081ad389b --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/ISearchPresenter.java @@ -0,0 +1,29 @@ +package com.monke.monkeybook.presenter; + +import com.monke.basemvplib.IPresenter; +import com.monke.monkeybook.bean.SearchBookBean; + +public interface ISearchPresenter extends IPresenter{ + + public Boolean getHasSearch(); + + public void setHasSearch(Boolean hasSearch); + + public void insertSearchHistory(); + + public void querySearchHistory(); + + public void cleanSearchHistory(); + + public int getPage(); + + public void initPage(); + + public void toSearchBooks(String key); + + public void addBookToShelf(final SearchBookBean searchBookBean); + + public Boolean getInput(); + + public void setInput(Boolean input); +} 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 new file mode 100644 index 0000000000..45ce51d410 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/BookDetailPresenterImpl.java @@ -0,0 +1,249 @@ +package com.monke.monkeybook.presenter.impl; + +import android.content.Intent; +import android.support.annotation.NonNull; +import android.widget.Toast; +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.basemvplib.IView; +import com.monke.basemvplib.impl.BaseActivity; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.BitIntentDataManager; +import com.monke.monkeybook.MApplication; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.presenter.IBookDetailPresenter; +import com.monke.monkeybook.view.IBookDetailView; +import com.trello.rxlifecycle2.android.ActivityEvent; + +import java.util.ArrayList; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class BookDetailPresenterImpl extends BasePresenterImpl implements IBookDetailPresenter { + public final static int FROM_BOOKSHELF = 1; + public final static int FROM_SEARCH = 2; + + private int openfrom; + private SearchBookBean searchBook; + private BookShelfBean bookShelf; + private Boolean inBookShelf = false; + + public BookDetailPresenterImpl(Intent intent) { + openfrom = intent.getIntExtra("from", FROM_BOOKSHELF); + if (openfrom == FROM_BOOKSHELF) { + String key = intent.getStringExtra("data_key"); + bookShelf = (BookShelfBean) BitIntentDataManager.getInstance().getData(key); + BitIntentDataManager.getInstance().cleanData(key); + inBookShelf = true; + } else { + searchBook = intent.getParcelableExtra("data"); + inBookShelf = searchBook.getAdd(); + } + } + + public Boolean getInBookShelf() { + return inBookShelf; + } + + public void setInBookShelf(Boolean inBookShelf) { + this.inBookShelf = inBookShelf; + } + + public int getOpenfrom() { + return openfrom; + } + + public SearchBookBean getSearchBook() { + return searchBook; + } + + public BookShelfBean getBookShelf() { + return bookShelf; + } + + @Override + public void getBookShelfInfo() { + final BookShelfBean bookShelfResult = new BookShelfBean(); + bookShelfResult.setNoteUrl(searchBook.getNoteUrl()); + bookShelfResult.setFinalDate(System.currentTimeMillis()); + bookShelfResult.setDurChapter(0); + bookShelfResult.setDurChapterPage(0); + bookShelfResult.setTag(searchBook.getTag()); + + WebBookModelImpl.getInstance().getBookInfo(bookShelfResult) + .subscribeOn(Schedulers.newThread()) + .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + WebBookModelImpl.getInstance().getChapterList(value, new OnGetChapterListListener() { + @Override + public void success(BookShelfBean bookShelfBean) { + bookShelf = bookShelfBean; + mView.updateView(); + } + + @Override + public void error() { + bookShelf = null; + mView.getBookShelfError(); + } + }); + } + + @Override + public void onError(Throwable e) { + bookShelf = null; + mView.getBookShelfError(); + } + }); + } + + @Override + public void addToBookShelf() { + if (bookShelf != null) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplaceInTx(bookShelf.getBookInfoBean().getChapterlist()); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().insertOrReplace(bookShelf.getBookInfoBean()); + //网络数据获取成功 存入BookShelf表数据库 + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelf); + e.onNext(true); + e.onComplete(); + } + }).subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + if (value) { + RxBus.get().post(RxBusTag.HAD_ADD_BOOK, bookShelf); + } else { + Toast.makeText(MApplication.getInstance(), "放入书架失败!", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + Toast.makeText(MApplication.getInstance(), "放入书架失败!", Toast.LENGTH_SHORT).show(); + } + }); + } + } + + @Override + public void removeFromBookShelf() { + if (bookShelf != null) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().deleteByKey(bookShelf.getNoteUrl()); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().deleteByKey(bookShelf.getBookInfoBean().getNoteUrl()); + List keys = new ArrayList(); + if(bookShelf.getBookInfoBean().getChapterlist().size()>0){ + for(int i=0;ibindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + if (value) { + RxBus.get().post(RxBusTag.HAD_REMOVE_BOOK, bookShelf); + } else { + Toast.makeText(MApplication.getInstance(), "移出书架失败!", Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + Toast.makeText(MApplication.getInstance(), "移出书架失败!", Toast.LENGTH_SHORT).show(); + } + }); + } + } + + @Override + public void attachView(@NonNull IView iView) { + super.attachView(iView); + RxBus.get().register(this); + } + + @Override + public void detachView() { + RxBus.get().unregister(this); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_ADD_BOOK) + } + ) + public void hadAddBook(BookShelfBean value) { + if ((null != bookShelf && value.getNoteUrl().equals(bookShelf.getNoteUrl())) || (null != searchBook && value.getNoteUrl().equals(searchBook.getNoteUrl()))) { + inBookShelf = true; + if (null != searchBook) { + searchBook.setAdd(inBookShelf); + } + mView.updateView(); + } + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_REMOVE_BOOK) + } + ) + public void hadRemoveBook(BookShelfBean value) { + if ((null != bookShelf && value.getNoteUrl().equals(bookShelf.getNoteUrl())) || (null != searchBook && value.getNoteUrl().equals(searchBook.getNoteUrl()))) { + inBookShelf = false; + if (null != searchBook) { + searchBook.setAdd(false); + } + mView.updateView(); + } + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_ADD_BOOK), + } + ) + public void hadBook(BookShelfBean value) { + if ((null != bookShelf && value.getNoteUrl().equals(bookShelf.getNoteUrl())) || (null != searchBook && value.getNoteUrl().equals(searchBook.getNoteUrl()))) { + inBookShelf = true; + if (null != searchBook) { + searchBook.setAdd(true); + } + mView.updateView(); + } + } +} 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 new file mode 100644 index 0000000000..5f9217d2a2 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/ChoiceBookPresenterImpl.java @@ -0,0 +1,244 @@ +package com.monke.monkeybook.presenter.impl; + +import android.content.Intent; +import android.support.annotation.NonNull; +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.basemvplib.IView; +import com.monke.basemvplib.impl.BaseActivity; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.presenter.IChoiceBookPresenter; +import com.monke.monkeybook.utils.NetworkUtil; +import com.monke.monkeybook.view.IChoiceBookView; +import com.trello.rxlifecycle2.android.ActivityEvent; +import java.util.ArrayList; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class ChoiceBookPresenterImpl extends BasePresenterImpl implements IChoiceBookPresenter { + private String url = ""; + private String title; + + private int page = 1; + private long startThisSearchTime; + private List bookShelfs = new ArrayList<>(); //用来比对搜索的书籍是否已经添加进书架 + + public ChoiceBookPresenterImpl(final Intent intent) { + url = intent.getStringExtra("url"); + title = intent.getStringExtra("title"); + Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + List temp = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().list(); + if (temp == null) + temp = new ArrayList(); + e.onNext(temp); + } + }).subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + bookShelfs.addAll(value); + initPage(); + toSearchBooks(null); + mView.startRefreshAnim(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + @Override + public int getPage() { + return page; + } + + @Override + public void initPage() { + this.page = 1; + this.startThisSearchTime = System.currentTimeMillis(); + } + + @Override + public void toSearchBooks(String key) { + final long tempTime = startThisSearchTime; + searchBook(tempTime); + } + + private void searchBook(final long searchTime) { + WebBookModelImpl.getInstance().getKindBook(url, page) + .subscribeOn(Schedulers.newThread()) + .compose(((BaseActivity)mView.getContext()).>bindUntilEvent(ActivityEvent.DESTROY)) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + if (searchTime == startThisSearchTime) { + for (SearchBookBean temp : value) { + for (BookShelfBean bookShelfBean : bookShelfs) { + if (temp.getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + temp.setAdd(true); + break; + } + } + } + if (page == 1) { + mView.refreshSearchBook(value); + mView.refreshFinish(value.size()<=0?true:false); + } else { + mView.loadMoreSearchBook(value); + mView.loadMoreFinish(value.size()<=0?true:false); + } + page++; + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.searchBookError(); + } + }); + } + //////////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void addBookToShelf(final SearchBookBean searchBookBean) { + final BookShelfBean bookShelfResult = new BookShelfBean(); + bookShelfResult.setNoteUrl(searchBookBean.getNoteUrl()); + bookShelfResult.setFinalDate(0); + bookShelfResult.setDurChapter(0); + bookShelfResult.setDurChapterPage(0); + bookShelfResult.setTag(searchBookBean.getTag()); + WebBookModelImpl.getInstance().getBookInfo(bookShelfResult) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + WebBookModelImpl.getInstance().getChapterList(value, new OnGetChapterListListener() { + @Override + public void success(BookShelfBean bookShelfBean) { + saveBookToShelf(bookShelfBean); + } + + @Override + public void error() { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + + @Override + public void onError(Throwable e) { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + + @Override + public String getTitle() { + return title; + } + + private void saveBookToShelf(final BookShelfBean bookShelfBean){ + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplaceInTx(bookShelfBean.getBookInfoBean().getChapterlist()); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().insertOrReplace(bookShelfBean.getBookInfoBean()); + //网络数据获取成功 存入BookShelf表数据库 + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelfBean); + e.onNext(bookShelfBean); + e.onComplete(); + } + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .compose(((BaseActivity)mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + //成功 //发送RxBus + RxBus.get().post(RxBusTag.HAD_ADD_BOOK, value); + } + + @Override + public void onError(Throwable e) { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + //////////////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void attachView(@NonNull IView iView) { + super.attachView(iView); + RxBus.get().register(this); + } + + @Override + public void detachView() { + RxBus.get().unregister(this); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_ADD_BOOK) + } + ) + public void hadAddBook(BookShelfBean bookShelfBean) { + bookShelfs.add(bookShelfBean); + List datas = mView.getSearchBookAdapter().getSearchBooks(); + for (int i = 0; i < datas.size(); i++) { + if (datas.get(i).getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + datas.get(i).setAdd(true); + mView.updateSearchItem(i); + break; + } + } + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_REMOVE_BOOK) + } + ) + public void hadRemoveBook(BookShelfBean bookShelfBean) { + if(bookShelfs!=null){ + for(int i=0;i datas = mView.getSearchBookAdapter().getSearchBooks(); + for (int i = 0; i < datas.size(); i++) { + if (datas.get(i).getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + datas.get(i).setAdd(false); + mView.updateSearchItem(i); + break; + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/ImportBookPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/ImportBookPresenterImpl.java new file mode 100644 index 0000000000..569fa8a123 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/ImportBookPresenterImpl.java @@ -0,0 +1,110 @@ +package com.monke.monkeybook.presenter.impl; + +import android.os.Environment; +import com.hwangjr.rxbus.RxBus; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.LocBookShelfBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.model.impl.ImportBookModelImpl; +import com.monke.monkeybook.presenter.IImportBookPresenter; +import com.monke.monkeybook.view.IImportBookView; +import java.io.File; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.ObservableSource; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; + +public class ImportBookPresenterImpl extends BasePresenterImpl implements IImportBookPresenter { + + + public ImportBookPresenterImpl(){ + + } + @Override + public void searchLocationBook(){ + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + if (Environment.getExternalStorageState().equals( + Environment.MEDIA_MOUNTED)){ + searchBook(e,new File(Environment.getExternalStorageDirectory().getAbsolutePath())); + } + e.onComplete(); + } + }).observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(File value) { + mView.addNewBook(value); + } + + @Override + public void onComplete() { + mView.searchFinish(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + private void searchBook(ObservableEmitter e, File parentFile) { + if (null != parentFile && parentFile.listFiles().length > 0) { + File[] childFiles = parentFile.listFiles(); + for (int i = 0; i < childFiles.length; i++) { + if (childFiles[i].isFile() && childFiles[i].getName().substring(childFiles[i].getName().lastIndexOf(".") + 1).equalsIgnoreCase("txt") && childFiles[i].length() > 100*1024) { //100kb + e.onNext(childFiles[i]); + continue; + } + if (childFiles[i].isDirectory() && childFiles[i].listFiles().length > 0) { + searchBook(e, childFiles[i]); + } + } + } + } + + @Override + public void importBooks(List books){ + Observable.fromIterable(books).flatMap(new Function>() { + @Override + public ObservableSource apply(File file) throws Exception { + return ImportBookModelImpl.getInstance().importBook(file); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(LocBookShelfBean value) { + if(value.getNew()){ + RxBus.get().post(RxBusTag.HAD_ADD_BOOK,value.getBookShelfBean()); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.addError(); + } + + @Override + public void onComplete() { + mView.addSuccess(); + } + }); + } + + @Override + public void detachView() { + + } +} diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/LibraryPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/LibraryPresenterImpl.java new file mode 100644 index 0000000000..2a86eeb432 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/LibraryPresenterImpl.java @@ -0,0 +1,120 @@ +package com.monke.monkeybook.presenter.impl; + +import android.os.Handler; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.MApplication; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.LibraryBean; +import com.monke.monkeybook.cache.ACache; +import com.monke.monkeybook.model.impl.GxwztvBookModelImpl; +import com.monke.monkeybook.presenter.ILibraryPresenter; +import com.monke.monkeybook.view.ILibraryView; +import java.util.LinkedHashMap; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.ObservableSource; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; + +public class LibraryPresenterImpl extends BasePresenterImpl implements ILibraryPresenter { + public final static String LIBRARY_CACHE_KEY = "cache_library"; + private ACache mCache; + private Boolean isFirst = true; + + private final LinkedHashMap kinds = new LinkedHashMap<>(); + + public LibraryPresenterImpl() { + kinds.put("东方玄幻","http://www.gxwztv.com/xuanhuanxiaoshuo/"); + kinds.put("西方奇幻","http://www.gxwztv.com/qihuanxiaoshuo/"); + kinds.put("热血修真","http://www.gxwztv.com/xiuzhenxiaoshuo/"); + kinds.put("武侠仙侠","http://www.gxwztv.com/wuxiaxiaoshuo/"); + kinds.put("都市爽文","http://www.gxwztv.com/dushixiaoshuo/"); + kinds.put("言情暧昧","http://www.gxwztv.com/yanqingxiaoshuo/"); + kinds.put("灵异悬疑","http://www.gxwztv.com/lingyixiaoshuo/"); + kinds.put("运动竞技","http://www.gxwztv.com/jingjixiaoshuo/"); + kinds.put("历史架空","http://www.gxwztv.com/lishixiaoshuo/"); + kinds.put("审美","http://www.gxwztv.com/danmeixiaoshuo/"); + kinds.put("科幻迷航","http://www.gxwztv.com/kehuanxiaoshuo/"); + kinds.put("游戏人生","http://www.gxwztv.com/youxixiaoshuo/"); + kinds.put("军事斗争","http://www.gxwztv.com/junshixiaoshuo/"); + kinds.put("商战人生","http://www.gxwztv.com/shangzhanxiaoshuo/"); + kinds.put("校园爱情","http://www.gxwztv.com/xiaoyuanxiaoshuo/"); + kinds.put("官场仕途","http://www.gxwztv.com/guanchangxiaoshuo/"); + kinds.put("娱乐明星","http://www.gxwztv.com/zhichangxiaoshuo/"); + kinds.put("其他","http://www.gxwztv.com/qitaxiaoshuo/"); + + mCache = ACache.get(MApplication.getInstance()); + } + + @Override + public void detachView() { + + } + + @Override + public void getLibraryData() { + if (isFirst) { + isFirst = false; + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + String cache = mCache.getAsString(LIBRARY_CACHE_KEY); + e.onNext(cache); + e.onComplete(); + } + }).flatMap(new Function>() { + @Override + public ObservableSource apply(String s) throws Exception { + return GxwztvBookModelImpl.getInstance().analyLibraryData(s); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(LibraryBean value) { + //执行刷新界面 + mView.updateUI(value); + getLibraryNewData(); + } + + @Override + public void onError(Throwable e) { + getLibraryNewData(); + } + }); + }else{ + getLibraryNewData(); + } + } + + private void getLibraryNewData() { + GxwztvBookModelImpl.getInstance().getLibraryData(mCache).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(final LibraryBean value) { + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + mView.updateUI(value); + mView.finishRefresh(); + } + },1000); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.finishRefresh(); + } + }); + } + + @Override + public LinkedHashMap getKinds() { + return kinds; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/presenter/impl/MainPresenterImpl.java b/app/src/main/java/com/monke/monkeybook/presenter/impl/MainPresenterImpl.java new file mode 100644 index 0000000000..66e0b0ac49 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/MainPresenterImpl.java @@ -0,0 +1,153 @@ +package com.monke.monkeybook.presenter.impl; + +import android.support.annotation.NonNull; +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.basemvplib.IView; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookInfoBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.BookInfoBeanDao; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.ChapterListBeanDao; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.presenter.IMainPresenter; +import com.monke.monkeybook.utils.NetworkUtil; +import com.monke.monkeybook.view.IMainView; +import java.util.ArrayList; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class MainPresenterImpl extends BasePresenterImpl implements IMainPresenter { + + public void queryBookShelf(final Boolean needRefresh) { + if (needRefresh) + mView.activityRefreshView(); + Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + List bookShelfes = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().orderDesc(BookShelfBeanDao.Properties.FinalDate).list(); + for (int i = 0; i < bookShelfes.size(); i++) { + List temp = DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().queryBuilder().where(BookInfoBeanDao.Properties.NoteUrl.eq(bookShelfes.get(i).getNoteUrl())).limit(1).build().list(); + if (temp != null && temp.size() > 0) { + BookInfoBean bookInfoBean = temp.get(0); + bookInfoBean.setChapterlist(DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().queryBuilder().where(ChapterListBeanDao.Properties.NoteUrl.eq(bookShelfes.get(i).getNoteUrl())).orderAsc(ChapterListBeanDao.Properties.DurChapterIndex).build().list()); + bookShelfes.get(i).setBookInfoBean(bookInfoBean); + } else { + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().delete(bookShelfes.get(i)); + bookShelfes.remove(i); + i--; + } + } + e.onNext(bookShelfes == null ? new ArrayList() : bookShelfes); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + if (null != value) { + mView.refreshBookShelf(value); + if (needRefresh) { + startRefreshBook(value); + } else { + mView.refreshFinish(); + } + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.refreshError(NetworkUtil.getErrorTip(NetworkUtil.ERROR_CODE_ANALY)); + } + }); + } + + public void startRefreshBook(List value){ + if (value != null && value.size() > 0){ + mView.setRecyclerMaxProgress(value.size()); + refreshBookShelf(value,0); + }else{ + mView.refreshFinish(); + } + } + + private void refreshBookShelf(final List value, final int index) { + if (index<=value.size()-1) { + WebBookModelImpl.getInstance().getChapterList(value.get(index), new OnGetChapterListListener() { + @Override + public void success(BookShelfBean bookShelfBean) { + saveBookToShelf(value,index); + } + + @Override + public void error() { + mView.refreshError(NetworkUtil.getErrorTip(NetworkUtil.ERROR_CODE_NONET)); + } + }); + } else { + queryBookShelf(false); + } + } + + private void saveBookToShelf(final List datas, final int index){ + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplaceInTx(datas.get(index).getBookInfoBean().getChapterlist()); + e.onNext(datas.get(index)); + e.onComplete(); + } + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + mView.refreshRecyclerViewItemAdd(); + refreshBookShelf(datas,index+1); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.refreshError(NetworkUtil.getErrorTip(NetworkUtil.ERROR_CODE_NONET)); + } + }); + } + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void attachView(@NonNull IView iView) { + super.attachView(iView); + RxBus.get().register(this); + } + + @Override + public void detachView() { + RxBus.get().unregister(this); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_ADD_BOOK), + @Tag(RxBusTag.HAD_REMOVE_BOOK), + @Tag(RxBusTag.UPDATE_BOOK_PROGRESS) + } + ) + public void hadddOrRemoveBook(BookShelfBean bookShelfBean) { + queryBookShelf(false); + } +} 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 new file mode 100644 index 0000000000..ef046f2037 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/ReadBookPresenterImpl.java @@ -0,0 +1,438 @@ +package com.monke.monkeybook.presenter.impl; + +import android.Manifest; +import android.app.Activity; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.net.Uri; +import android.os.Build; +import android.provider.MediaStore; +import android.text.Layout; +import android.text.StaticLayout; +import android.text.TextPaint; +import android.widget.Toast; + +import com.hwangjr.rxbus.RxBus; +import com.monke.basemvplib.impl.BaseActivity; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.BitIntentDataManager; +import com.monke.monkeybook.MApplication; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.LocBookShelfBean; +import com.monke.monkeybook.bean.ReadBookContentBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.BookContentBeanDao; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.model.impl.ImportBookModelImpl; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.presenter.IBookReadPresenter; +import com.monke.monkeybook.utils.PremissionCheck; +import com.monke.monkeybook.view.IBookReadView; +import com.monke.monkeybook.widget.contentswitchview.BookContentView; +import com.trello.rxlifecycle2.android.ActivityEvent; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.functions.Function; +import io.reactivex.schedulers.Schedulers; + +public class ReadBookPresenterImpl extends BasePresenterImpl implements IBookReadPresenter { + + public final static int OPEN_FROM_OTHER = 0; + public final static int OPEN_FROM_APP = 1; + + private Boolean isAdd = false; //判断是否已经添加进书架 + private int open_from; + private BookShelfBean bookShelf; + + private int pageLineCount = 5; //假设5行一页 + + public ReadBookPresenterImpl() { + + } + + @Override + public void initData(Activity activity) { + Intent intent = activity.getIntent(); + open_from = intent.getIntExtra("from", OPEN_FROM_OTHER); + if (open_from == OPEN_FROM_APP) { + String key = intent.getStringExtra("data_key"); + bookShelf = (BookShelfBean) BitIntentDataManager.getInstance().getData(key); + if (!bookShelf.getTag().equals(BookShelfBean.LOCAL_TAG)) { + mView.showDownloadMenu(); + } + BitIntentDataManager.getInstance().cleanData(key); + checkInShelf(); + } else { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !PremissionCheck.checkPremission(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + //申请权限 + activity.requestPermissions( + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 0x11); + } else { + openBookFromOther(activity); + } + } + } + + @Override + public void openBookFromOther(Activity activity) { + //APP外部打开 + Uri uri = activity.getIntent().getData(); + mView.showLoadBook(); + getRealFilePath(activity, uri) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(String value) { + ImportBookModelImpl.getInstance().importBook(new File(value)) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(LocBookShelfBean value) { + if (value.getNew()) + RxBus.get().post(RxBusTag.HAD_ADD_BOOK, value); + bookShelf = value.getBookShelfBean(); + mView.dimissLoadBook(); + checkInShelf(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.dimissLoadBook(); + mView.loadLocationBookError(); + Toast.makeText(MApplication.getInstance(), "文本打开失败!", Toast.LENGTH_SHORT).show(); + } + }); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mView.dimissLoadBook(); + mView.loadLocationBookError(); + Toast.makeText(MApplication.getInstance(), "文本打开失败!", Toast.LENGTH_SHORT).show(); + } + }); + } + + @Override + public void detachView() { + } + + @Override + public int getOpen_from() { + return open_from; + } + + @Override + public BookShelfBean getBookShelf() { + return bookShelf; + } + + @Override + public void initContent() { + mView.initContentSuccess(bookShelf.getDurChapter(), bookShelf.getBookInfoBean().getChapterlist().size(), bookShelf.getDurChapterPage()); + } + + @Override + public void loadContent(final BookContentView bookContentView, final long bookTag, final int chapterIndex, int pageIndex) { + if (null != bookShelf && bookShelf.getBookInfoBean().getChapterlist().size() > 0) { + if (null != bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean() && null != bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getDurCapterContent()) { + if (bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineSize() == mView.getPaint().getTextSize() && bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().size() > 0) { + //已有数据 + int tempCount = (int) Math.ceil(bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().size() * 1.0 / pageLineCount) - 1; + + if (pageIndex == BookContentView.DURPAGEINDEXBEGIN) { + pageIndex = 0; + } else if (pageIndex == BookContentView.DURPAGEINDEXEND) { + pageIndex = tempCount; + } else { + if (pageIndex >= tempCount) { + pageIndex = tempCount; + } + } + + int start = pageIndex * pageLineCount; + int end = pageIndex == tempCount ? bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().size() : start + pageLineCount; + if (bookContentView != null && bookTag == bookContentView.getqTag()) { + bookContentView.updateData(bookTag, bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getDurChapterName() + , bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().subList(start, end) + , chapterIndex + , bookShelf.getBookInfoBean().getChapterlist().size() + , pageIndex + , tempCount + 1); + } + } else { + //有元数据 重新分行 + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().setLineSize(mView.getPaint().getTextSize()); + final int finalPageIndex = pageIndex; + SeparateParagraphtoLines(bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getDurCapterContent()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .compose(((BaseActivity) mView.getContext()).>bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().clear(); + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getBookContentBean().getLineContent().addAll(value); + loadContent(bookContentView, bookTag, chapterIndex, finalPageIndex); + } + + @Override + public void onError(Throwable e) { + if (bookContentView != null && bookTag == bookContentView.getqTag()) + bookContentView.loadError(); + } + }); + } + } else { + final int finalPageIndex1 = pageIndex; + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List tempList = DbHelper.getInstance().getmDaoSession().getBookContentBeanDao().queryBuilder().where(BookContentBeanDao.Properties.DurChapterUrl.eq(bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getDurChapterUrl())).build().list(); + e.onNext(new ReadBookContentBean(tempList == null ? new ArrayList() : tempList, finalPageIndex1)); + e.onComplete(); + } + }).observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .compose(((BaseActivity) mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(ReadBookContentBean tempList) { + if (tempList.getBookContentList() != null && tempList.getBookContentList().size() > 0 && tempList.getBookContentList().get(0).getDurCapterContent() != null) { + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).setBookContentBean(tempList.getBookContentList().get(0)); + loadContent(bookContentView, bookTag, chapterIndex, tempList.getPageIndex()); + } else { + final int finalPageIndex1 = tempList.getPageIndex(); + WebBookModelImpl.getInstance().getBookContent(bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getDurChapterUrl(), chapterIndex, bookShelf.getTag()).map(new Function() { + @Override + public BookContentBean apply(BookContentBean bookContentBean) throws Exception { + if (bookContentBean.getRight()) { + DbHelper.getInstance().getmDaoSession().getBookContentBeanDao().insertOrReplace(bookContentBean); + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).setHasCache(true); + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().update(bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex)); + } + return bookContentBean; + } + }) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .compose(((BaseActivity) mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookContentBean value) { + if (value.getDurChapterUrl() != null && value.getDurChapterUrl().length() > 0) { + bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).setBookContentBean(value); + if (bookTag == bookContentView.getqTag()) + loadContent(bookContentView, bookTag, chapterIndex, finalPageIndex1); + } else { + if (bookContentView != null && bookTag == bookContentView.getqTag()) + bookContentView.loadError(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (bookContentView != null && bookTag == bookContentView.getqTag()) + bookContentView.loadError(); + } + }); + } + } + + @Override + public void onError(Throwable e) { + + } + }); + } + } else { + if (bookContentView != null && bookTag == bookContentView.getqTag()) + bookContentView.loadError(); + } + } + + @Override + public void updateProgress(int chapterIndex, int pageIndex) { + bookShelf.setDurChapter(chapterIndex); + bookShelf.setDurChapterPage(pageIndex); + } + + @Override + public void saveProgress() { + if (bookShelf != null) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + bookShelf.setFinalDate(System.currentTimeMillis()); + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelf); + e.onNext(bookShelf); + e.onComplete(); + } + }).subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + RxBus.get().post(RxBusTag.UPDATE_BOOK_PROGRESS, bookShelf); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + } + + @Override + public String getChapterTitle(int chapterIndex) { + if (bookShelf.getBookInfoBean().getChapterlist().size() == 0) { + return "无章节"; + } else + return bookShelf.getBookInfoBean().getChapterlist().get(chapterIndex).getDurChapterName(); + } + + public Observable> SeparateParagraphtoLines(final String paragraphstr) { + return Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + TextPaint mPaint = (TextPaint) mView.getPaint(); + mPaint.setSubpixelText(true); + Layout tempLayout = new StaticLayout(paragraphstr, mPaint, mView.getContentWidth(), Layout.Alignment.ALIGN_NORMAL, 0, 0, false); + ; + List linesdata = new ArrayList(); + for (int i = 0; i < tempLayout.getLineCount(); i++) { + linesdata.add(paragraphstr.substring(tempLayout.getLineStart(i), tempLayout.getLineEnd(i))); + } + e.onNext(linesdata); + e.onComplete(); + } + }); + } + + @Override + public void setPageLineCount(int pageLineCount) { + this.pageLineCount = pageLineCount; + } + + private void checkInShelf() { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List temp = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().where(BookShelfBeanDao.Properties.NoteUrl.eq(bookShelf.getNoteUrl())).build().list(); + if (temp == null || temp.size() == 0) { + isAdd = false; + } else + isAdd = true; + e.onNext(isAdd); + e.onComplete(); + } + }).subscribeOn(Schedulers.io()) + .compose(((BaseActivity) mView.getContext()).bindUntilEvent(ActivityEvent.DESTROY)) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + mView.initPop(); + mView.setHpbReadProgressMax(bookShelf.getBookInfoBean().getChapterlist().size()); + mView.startLoadingBook(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + public interface OnAddListner { + public void addSuccess(); + } + + @Override + public void addToShelf(final OnAddListner addListner) { + if (bookShelf != null) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplaceInTx(bookShelf.getBookInfoBean().getChapterlist()); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().insertOrReplace(bookShelf.getBookInfoBean()); + //网络数据获取成功 存入BookShelf表数据库 + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelf); + RxBus.get().post(RxBusTag.HAD_ADD_BOOK, bookShelf); + isAdd = true; + e.onNext(true); + e.onComplete(); + } + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Object value) { + if (addListner != null) + addListner.addSuccess(); + } + + @Override + public void onError(Throwable e) { + + } + }); + } + } + + public Boolean getAdd() { + return isAdd; + } + + public Observable getRealFilePath(final Context context, final Uri uri) { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + String data = ""; + if (null != uri) { + final String scheme = uri.getScheme(); + if (scheme == null) + data = uri.getPath(); + else if (ContentResolver.SCHEME_FILE.equals(scheme)) { + data = uri.getPath(); + } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) { + Cursor cursor = context.getContentResolver().query(uri, new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null); + if (null != cursor) { + if (cursor.moveToFirst()) { + int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); + if (index > -1) { + data = cursor.getString(index); + } + } + cursor.close(); + } + + if ((data == null || data.length() <= 0) && uri.getPath() != null && uri.getPath().contains("/storage/emulated/")) { + data = uri.getPath().substring(uri.getPath().indexOf("/storage/emulated/")); + } + } + } + e.onNext(data == null ? "" : data); + e.onComplete(); + } + }); + } +} 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 new file mode 100644 index 0000000000..ef0cb9297c --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/presenter/impl/SearchPresenterImpl.java @@ -0,0 +1,435 @@ +package com.monke.monkeybook.presenter.impl; + +import android.support.annotation.NonNull; + +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.basemvplib.IView; +import com.monke.basemvplib.impl.BasePresenterImpl; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.SearchHistoryBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.dao.SearchHistoryBeanDao; +import com.monke.monkeybook.listener.OnGetChapterListListener; +import com.monke.monkeybook.model.impl.EasouBookModelImpl; +import com.monke.monkeybook.model.impl.GxwztvBookModelImpl; +import com.monke.monkeybook.model.impl.LingdiankanshuStationBookModelImpl; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.presenter.ISearchPresenter; +import com.monke.monkeybook.utils.NetworkUtil; +import com.monke.monkeybook.view.ISearchView; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class SearchPresenterImpl extends BasePresenterImpl implements ISearchPresenter { + public static final int BOOK = 2; + + private Boolean hasSearch = false; //判断是否搜索过 + + private int page = 1; + private List searchEngine; + private long startThisSearchTime; + private String durSearchKey; + + private List bookShelfs = new ArrayList<>(); //用来比对搜索的书籍是否已经添加进书架 + + private Boolean isInput = false; + + public SearchPresenterImpl() { + Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + List temp = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().list(); + if (temp == null) + temp = new ArrayList(); + e.onNext(temp); + e.onComplete(); + } + }).subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + bookShelfs.addAll(value); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + + searchEngine = new ArrayList<>(); + + Map gxwztvMap = new HashMap(); + gxwztvMap.put("tag", GxwztvBookModelImpl.TAG); + gxwztvMap.put("hasMore", true); + gxwztvMap.put("hasLoad", false); + searchEngine.add(gxwztvMap); + + Map lingdiankanshu = new HashMap(); + lingdiankanshu.put("tag", LingdiankanshuStationBookModelImpl.TAG); + lingdiankanshu.put("hasMore", true); + lingdiankanshu.put("hasLoad", false); + searchEngine.add(lingdiankanshu); + + Map easou = new HashMap(); + easou.put("tag", EasouBookModelImpl.TAG); + easou.put("hasMore", true); + easou.put("hasLoad", false); + searchEngine.add(easou); + } + + @Override + public Boolean getHasSearch() { + return hasSearch; + } + + @Override + public void setHasSearch(Boolean hasSearch) { + this.hasSearch = hasSearch; + } + + @Override + public void insertSearchHistory() { + final int type = SearchPresenterImpl.BOOK; + final String content = mView.getEdtContent().getText().toString().trim(); + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List datas = DbHelper.getInstance().getmDaoSession().getSearchHistoryBeanDao() + .queryBuilder() + .where(SearchHistoryBeanDao.Properties.Type.eq(type), SearchHistoryBeanDao.Properties.Content.eq(content)) + .limit(1) + .build().list(); + SearchHistoryBean searchHistoryBean = null; + if (null != datas && datas.size() > 0) { + searchHistoryBean = datas.get(0); + searchHistoryBean.setDate(System.currentTimeMillis()); + DbHelper.getInstance().getmDaoSession().getSearchHistoryBeanDao().update(searchHistoryBean); + } else { + searchHistoryBean = new SearchHistoryBean(type, content, System.currentTimeMillis()); + DbHelper.getInstance().getmDaoSession().getSearchHistoryBeanDao().insert(searchHistoryBean); + } + e.onNext(searchHistoryBean); + } + }).subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(SearchHistoryBean value) { + mView.insertSearchHistorySuccess(value); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + @Override + public void cleanSearchHistory() { + final int type = SearchPresenterImpl.BOOK; + final String content = mView.getEdtContent().getText().toString().trim(); + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + 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()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Integer value) { + if (value > 0) { + mView.querySearchHistorySuccess(null); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + @Override + public void querySearchHistory() { + final int type = SearchPresenterImpl.BOOK; + final String content = mView.getEdtContent().getText().toString().trim(); + Observable.create(new ObservableOnSubscribe>() { + @Override + public void subscribe(ObservableEmitter> e) throws Exception { + List datas = DbHelper.getInstance().getmDaoSession().getSearchHistoryBeanDao() + .queryBuilder() + .where(SearchHistoryBeanDao.Properties.Type.eq(type), SearchHistoryBeanDao.Properties.Content.like("%" + content + "%")) + .orderDesc(SearchHistoryBeanDao.Properties.Date) + .limit(20) + .build().list(); + e.onNext(datas); + } + }).subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + if (null != value) + mView.querySearchHistorySuccess(value); + } + + @Override + public void onError(Throwable e) { + + } + }); + } + + @Override + public int getPage() { + return page; + } + + @Override + public void initPage() { + this.page = 1; + } + + @Override + public void toSearchBooks(String key) { + if (key != null) { + durSearchKey = key; + this.startThisSearchTime = System.currentTimeMillis(); + for (int i = 0; i < searchEngine.size(); i++) { + searchEngine.get(i).put("hasMore", true); + searchEngine.get(i).put("hasLoad", false); + } + } + searchBook(durSearchKey, startThisSearchTime, 0); + } + + private void searchBook(final String content, final long searchTime, final int searchEngineIndex) { + if (searchTime == startThisSearchTime) { + Boolean hasMore = false; + for (Map temp : searchEngine) { + if ((Boolean) temp.get("hasMore")) { + hasMore = true; + break; + } + } + if (hasMore) { + if (searchEngineIndex < searchEngine.size()) { + if ((Boolean) searchEngine.get(searchEngineIndex).get("hasMore") && !(Boolean) searchEngine.get(searchEngineIndex).get("hasLoad")) { + WebBookModelImpl.getInstance().searchOtherBook(content, page, (String) searchEngine.get(searchEngineIndex).get("tag")) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver>() { + @Override + public void onNext(List value) { + if (searchTime == startThisSearchTime) { + searchEngine.get(searchEngineIndex).put("hasLoad", true); + if (value.size() == 0) { + searchEngine.get(searchEngineIndex).put("hasMore", false); + } else { + for (SearchBookBean temp : value) { + for (BookShelfBean bookShelfBean : bookShelfs) { + if (temp.getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + temp.setAdd(true); + break; + } + } + } + } + if (page == 1 && searchEngineIndex == 0) { + mView.refreshSearchBook(value); + } else { + if (value != null && value.size() > 0 && !mView.checkIsExist(value.get(0))) + mView.loadMoreSearchBook(value); + else { + searchEngine.get(searchEngineIndex).put("hasMore", false); + } + } + searchBook(content, searchTime, searchEngineIndex + 1); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if (searchTime == startThisSearchTime) { + searchEngine.get(searchEngineIndex).put("hasLoad", false); + mView.searchBookError(page == 1 && (searchEngineIndex == 0 || (searchEngineIndex > 0 && mView.getSearchBookAdapter().getItemcount() == 0))); + } + } + }); + } else { + searchBook(content, searchTime, searchEngineIndex + 1); + } + } else { + if (page == 1) { + mView.refreshFinish(false); + } else { + mView.loadMoreFinish(false); + } + this.page++; + for (Map item : searchEngine) { + item.put("hasLoad", false); + } + } + } else { + if (page == 1) { + mView.refreshFinish(true); + } else { + mView.loadMoreFinish(true); + } + this.page++; + for (Map item : searchEngine) { + item.put("hasLoad", false); + } + } + } + } + + //////////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void addBookToShelf(final SearchBookBean searchBookBean) { + final BookShelfBean bookShelfResult = new BookShelfBean(); + bookShelfResult.setNoteUrl(searchBookBean.getNoteUrl()); + bookShelfResult.setFinalDate(0); + bookShelfResult.setDurChapter(0); + bookShelfResult.setDurChapterPage(0); + bookShelfResult.setTag(searchBookBean.getTag()); + WebBookModelImpl.getInstance().getBookInfo(bookShelfResult) + .subscribeOn(Schedulers.newThread()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + WebBookModelImpl.getInstance().getChapterList(value, new OnGetChapterListListener() { + @Override + public void success(BookShelfBean bookShelfBean) { + saveBookToShelf(bookShelfBean); + } + + @Override + public void error() { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + + @Override + public void onError(Throwable e) { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + + private void saveBookToShelf(final BookShelfBean bookShelfBean) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().insertOrReplaceInTx(bookShelfBean.getBookInfoBean().getChapterlist()); + DbHelper.getInstance().getmDaoSession().getBookInfoBeanDao().insertOrReplace(bookShelfBean.getBookInfoBean()); + //网络数据获取成功 存入BookShelf表数据库 + DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().insertOrReplace(bookShelfBean); + e.onNext(bookShelfBean); + e.onComplete(); + } + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookShelfBean value) { + //成功 //发送RxBus + RxBus.get().post(RxBusTag.HAD_ADD_BOOK, value); + } + + @Override + public void onError(Throwable e) { + mView.addBookShelfFailed(NetworkUtil.ERROR_CODE_OUTTIME); + } + }); + } + //////////////////////////////////////////////////////////////////////////////////////////////////// + + @Override + public void attachView(@NonNull IView iView) { + super.attachView(iView); + RxBus.get().register(this); + } + + @Override + public void detachView() { + RxBus.get().unregister(this); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_ADD_BOOK) + } + ) + public void hadAddBook(BookShelfBean bookShelfBean) { + bookShelfs.add(bookShelfBean); + List datas = mView.getSearchBookAdapter().getSearchBooks(); + for (int i = 0; i < datas.size(); i++) { + if (datas.get(i).getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + datas.get(i).setAdd(true); + mView.updateSearchItem(i); + break; + } + } + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.HAD_REMOVE_BOOK) + } + ) + public void hadRemoveBook(BookShelfBean bookShelfBean) { + if(bookShelfs!=null){ + for(int i=0;i datas = mView.getSearchBookAdapter().getSearchBooks(); + for (int i = 0; i < datas.size(); i++) { + if (datas.get(i).getNoteUrl().equals(bookShelfBean.getNoteUrl())) { + datas.get(i).setAdd(false); + mView.updateSearchItem(i); + break; + } + } + } + + @Override + public Boolean getInput() { + return isInput; + } + + @Override + public void setInput(Boolean input) { + isInput = input; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/service/DownloadService.java b/app/src/main/java/com/monke/monkeybook/service/DownloadService.java new file mode 100644 index 0000000000..23a85b02f7 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/service/DownloadService.java @@ -0,0 +1,448 @@ +package com.monke.monkeybook.service; + +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.os.Handler; +import android.os.IBinder; +import android.os.Looper; +import android.support.annotation.Nullable; +import android.support.v4.app.NotificationCompat; +import android.widget.Toast; +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookContentBean; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.ChapterListBean; +import com.monke.monkeybook.bean.DownloadChapterBean; +import com.monke.monkeybook.bean.DownloadChapterListBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.BookContentBeanDao; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.dao.DownloadChapterBeanDao; +import com.monke.monkeybook.model.impl.WebBookModelImpl; +import com.monke.monkeybook.view.impl.MainActivity; + +import java.util.List; +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; + +public class DownloadService extends Service { + private NotificationManager notifyManager; + private int notifiId = 19931118; + private Boolean isStartDownload = false; + private Boolean isInit = false; + + @Override + public void onCreate() { + super.onCreate(); + + } + + @Override + public void onDestroy() { + super.onDestroy(); + RxBus.get().unregister(this); + isInit = true; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + if (!isInit) { + isInit = true; + notifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + RxBus.get().register(this); + } + return super.onStartCommand(intent, flags, startId); + } + + @Nullable + @Override + public IBinder onBind(Intent intent) { + return null; + } + + private void addNewTask(final List newData) { + isStartDownload = true; + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().insertOrReplaceInTx(newData); + e.onNext(true); + e.onComplete(); + } + }) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + if (!isDownloading) { + toDownload(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + private Boolean isDownloading = false; + public static final int reTryTimes = 1; + + private void toDownload() { + isDownloading = true; + if (isStartDownload) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List bookShelfBeanList = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().orderDesc(BookShelfBeanDao.Properties.FinalDate).list(); + if (bookShelfBeanList != null && bookShelfBeanList.size() > 0) { + for (BookShelfBean bookItem : bookShelfBeanList) { + if (!bookItem.getTag().equals(BookShelfBean.LOCAL_TAG)) { + List downloadChapterList = DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().queryBuilder().where(DownloadChapterBeanDao.Properties.NoteUrl.eq(bookItem.getNoteUrl())).orderAsc(DownloadChapterBeanDao.Properties.DurChapterIndex).limit(1).list(); + if (downloadChapterList != null && downloadChapterList.size() > 0) { + e.onNext(downloadChapterList.get(0)); + e.onComplete(); + return; + } + } + } + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } else { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } + e.onComplete(); + } + }) + .subscribeOn(AndroidSchedulers.mainThread()) + .observeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(DownloadChapterBean value) { + if (value.getNoteUrl() != null && value.getNoteUrl().length() > 0) { + downloading(value, 0); + } else { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new Object()); + e.onComplete(); + } + }) + .subscribeOn(AndroidSchedulers.mainThread()) + .observeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Object value) { + isDownloading = false; + finishDownload(); + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + isDownloading = false; + } + }); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + isDownloading = false; + } + }); + } else { + isPause(); + } + } + + private void downloading(final DownloadChapterBean data, final int durTime) { + if (durTime < reTryTimes && isStartDownload) { + isProgress(data); + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List result = DbHelper.getInstance().getmDaoSession().getBookContentBeanDao().queryBuilder().where(BookContentBeanDao.Properties.DurChapterUrl.eq(data.getDurChapterUrl())).list(); + if (result != null && result.size() > 0) { + e.onNext(result.get(0)); + } else { + e.onNext(new BookContentBean()); + } + e.onComplete(); + } + }).flatMap(new Function>() { + @Override + public ObservableSource apply(final BookContentBean bookContentBean) throws Exception { + if (bookContentBean.getDurChapterUrl() == null || bookContentBean.getDurChapterUrl().length() <= 0) { + return WebBookModelImpl.getInstance().getBookContent(data.getDurChapterUrl(), data.getDurChapterIndex(), data.getTag()).map(new Function() { + @Override + public BookContentBean apply(BookContentBean bookContentBean) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().delete(data); + if (bookContentBean.getRight()) { + DbHelper.getInstance().getmDaoSession().getBookContentBeanDao().insertOrReplace(bookContentBean); + DbHelper.getInstance().getmDaoSession().getChapterListBeanDao().update(new ChapterListBean(data.getNoteUrl(), data.getDurChapterIndex(), data.getDurChapterUrl(), data.getDurChapterName(), data.getTag(), true)); + } + return bookContentBean; + } + }); + } else { + return Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().delete(data); + e.onNext(bookContentBean); + e.onComplete(); + } + }); + } + } + }) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(BookContentBean value) { + if(isStartDownload){ + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + if(isStartDownload){ + toDownload(); + }else{ + isPause(); + } + } + },800); + }else{ + isPause(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + int time = durTime + 1; + downloading(data, time); + } + }); + } else { + if (isStartDownload) { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().delete(data); + e.onNext(true); + e.onComplete(); + } + }) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.newThread()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(Boolean value) { + if(isStartDownload){ + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + if(isStartDownload){ + toDownload(); + }else{ + isPause(); + } + } + },800); + }else{ + isPause(); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + if(!isStartDownload) + isPause(); + } + }); + } else + isPause(); + } + } + + public void startDownload() { + isStartDownload = true; + toDownload(); + } + + public void pauseDownload() { + isStartDownload = false; + notifyManager.cancelAll(); + } + + public void cancelDownload() { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new Object()); + e.onComplete(); + } + }) + .subscribeOn(AndroidSchedulers.mainThread()) + .observeOn(Schedulers.io()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(Object value) { + pauseDownload(); + } + + @Override + public void onError(Throwable e) { + + } + + @Override + public void onComplete() { + + } + }); + } + + private void isPause() { + isDownloading = false; + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List bookShelfBeanList = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().orderDesc(BookShelfBeanDao.Properties.FinalDate).list(); + if (bookShelfBeanList != null && bookShelfBeanList.size() > 0) { + for (BookShelfBean bookItem : bookShelfBeanList) { + if (!bookItem.getTag().equals(BookShelfBean.LOCAL_TAG)) { + List downloadChapterList = DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().queryBuilder().where(DownloadChapterBeanDao.Properties.NoteUrl.eq(bookItem.getNoteUrl())).orderAsc(DownloadChapterBeanDao.Properties.DurChapterIndex).limit(1).list(); + if (downloadChapterList != null && downloadChapterList.size() > 0) { + e.onNext(downloadChapterList.get(0)); + e.onComplete(); + return; + } + } + } + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } else { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } + e.onComplete(); + } + }).subscribeOn(AndroidSchedulers.mainThread()) + .observeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(DownloadChapterBean value) { + if (value.getNoteUrl() != null && value.getNoteUrl().length() > 0){ + RxBus.get().post(RxBusTag.PAUSE_DOWNLOAD_LISTENER, new Object()); + }else{ + RxBus.get().post(RxBusTag.FINISH_DOWNLOAD_LISTENER, new Object()); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + } + }); + } + + private void isProgress(DownloadChapterBean downloadChapterBean) { + RxBus.get().post(RxBusTag.PROGRESS_DOWNLOAD_LISTENER, downloadChapterBean); + + Intent mainIntent = new Intent(this, MainActivity.class); + PendingIntent mainPendingIntent = PendingIntent.getActivity(this, 0, mainIntent, PendingIntent.FLAG_UPDATE_CURRENT); + //创建 Notification.Builder 对象 + NotificationCompat.Builder builder = new NotificationCompat.Builder(this) + .setSmallIcon(R.mipmap.ic_launcher) + //点击通知后自动清除 + .setAutoCancel(true) + .setContentTitle("正在下载:"+downloadChapterBean.getBookName()) + .setContentText(downloadChapterBean.getDurChapterName()==null?" ":downloadChapterBean.getDurChapterName()) + .setContentIntent(mainPendingIntent); + //发送通知 + notifyManager.notify(notifiId, builder.build()); + } + + private void finishDownload() { + RxBus.get().post(RxBusTag.FINISH_DOWNLOAD_LISTENER, new Object()); + notifyManager.cancelAll(); + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + Toast.makeText(getApplicationContext(), "全部离线章节下载完成", Toast.LENGTH_SHORT).show(); + } + }); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.PAUSE_DOWNLOAD) + } + ) + public void pauseTask(Object o) { + pauseDownload(); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.START_DOWNLOAD) + } + ) + public void startTask(Object o) { + startDownload(); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.CANCEL_DOWNLOAD) + } + ) + public void cancelTask(Object o) { + cancelDownload(); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.ADD_DOWNLOAD_TASK) + } + ) + public void addTask(DownloadChapterListBean newData) { + addNewTask(newData.getData()); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/utils/BlurTransformation.java b/app/src/main/java/com/monke/monkeybook/utils/BlurTransformation.java new file mode 100644 index 0000000000..0ef4399da6 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/utils/BlurTransformation.java @@ -0,0 +1,95 @@ +package com.monke.monkeybook.utils; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.renderscript.Allocation; +import android.renderscript.Element; +import android.renderscript.RenderScript; +import android.renderscript.ScriptIntrinsicBlur; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; + +public class BlurTransformation extends BitmapTransformation { + private static int MAX_RADIUS = 25; + private static int DEFAULT_DOWN_SAMPLING = 1; + + private Context mContext; + private BitmapPool mBitmapPool; + + private int mRadius; + private int mSampling; + + public BlurTransformation(Context context) { + this(context, Glide.get(context).getBitmapPool(), MAX_RADIUS, DEFAULT_DOWN_SAMPLING); + } + + @Override + protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { + + int width = toTransform.getWidth(); + int height = toTransform.getHeight(); + int scaledWidth = width / mSampling; + int scaledHeight = height / mSampling; + + Bitmap bitmap = mBitmapPool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888); + if (bitmap == null) { + bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888); + } + + Canvas canvas = new Canvas(bitmap); + canvas.scale(1 / (float) mSampling, 1 / (float) mSampling); + Paint paint = new Paint(); + paint.setFlags(Paint.FILTER_BITMAP_FLAG); + canvas.drawBitmap(toTransform, 0, 0, paint); + + RenderScript rs = RenderScript.create(mContext); + Allocation input = Allocation.createFromBitmap(rs, bitmap, Allocation.MipmapControl.MIPMAP_NONE, + Allocation.USAGE_SCRIPT); + Allocation output = Allocation.createTyped(rs, input.getType()); + ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); + + blur.setInput(input); + blur.setRadius(mRadius); + blur.forEach(output); + output.copyTo(bitmap); + + rs.destroy(); + + return bitmap; + } + + public BlurTransformation(Context context, BitmapPool pool) { + this(context, pool, MAX_RADIUS, DEFAULT_DOWN_SAMPLING); + } + + public BlurTransformation(Context context, BitmapPool pool, int radius) { + this(context, pool, radius, DEFAULT_DOWN_SAMPLING); + } + + public BlurTransformation(Context context, int radius) { + this(context, Glide.get(context).getBitmapPool(), radius, DEFAULT_DOWN_SAMPLING); + } + + public BlurTransformation(Context context, BitmapPool pool, int radius, int sampling) { + super(context); + mContext = context; + mBitmapPool = pool; + mRadius = radius; + mSampling = sampling; + } + + public BlurTransformation(Context context, int radius, int sampling) { + super(context); + mContext = context; + mBitmapPool = Glide.get(context).getBitmapPool(); + mRadius = radius; + mSampling = sampling; + } + + @Override public String getId() { + return "BlurTransformation(radius=" + mRadius + ", sampling=" + mSampling + ")"; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/utils/DensityUtil.java b/app/src/main/java/com/monke/monkeybook/utils/DensityUtil.java new file mode 100644 index 0000000000..844c6a7344 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/utils/DensityUtil.java @@ -0,0 +1,89 @@ +package com.monke.monkeybook.utils; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Point; +import android.util.DisplayMetrics; +import android.util.TypedValue; +import android.view.Display; +import android.view.WindowManager; +import java.lang.reflect.Method; + +public class DensityUtil { + /** + * dp转px + * + * @param context + * @param + * @return + */ + public static int dp2px(Context context, float dpVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + dpVal, context.getResources().getDisplayMetrics()); + } + + /** + * sp转px + * + * @param context + * @param + * @return + */ + public static int sp2px(Context context, float spVal) + { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + spVal, context.getResources().getDisplayMetrics()); + } + + /** + * px转dp + * + * @param context + * @param pxVal + * @return + */ + public static float px2dp(Context context, float pxVal) + { + final float scale = context.getResources().getDisplayMetrics().density; + return (pxVal / scale); + } + + /** + * px转sp + * + * @param + * @param pxVal + * @return + */ + public static float px2sp(Context context, float pxVal) + { + return (pxVal / context.getResources().getDisplayMetrics().scaledDensity); + } + public static Point getDisplayPoint(Context context){ + WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + Display display = windowManager.getDefaultDisplay(); + DisplayMetrics displayMetrics = new DisplayMetrics(); + @SuppressWarnings("rawtypes") + Class c; + try { + c = Class.forName("android.view.Display"); + @SuppressWarnings("unchecked") + Method method = c.getMethod("getRealMetrics",DisplayMetrics.class); + method.invoke(display, displayMetrics); + return new Point(displayMetrics.widthPixels ,displayMetrics.heightPixels ); + }catch(Exception e){ + e.printStackTrace(); + } + DisplayMetrics dm = new DisplayMetrics(); + ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm); + return new Point(dm.widthPixels ,dm.heightPixels); + } + + public static int getWindowWidth(Context context){ + WindowManager wm = (WindowManager) context + .getSystemService(Context.WINDOW_SERVICE); + int width = wm.getDefaultDisplay().getWidth(); + return width; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/utils/NetworkUtil.java b/app/src/main/java/com/monke/monkeybook/utils/NetworkUtil.java new file mode 100644 index 0000000000..66d0613245 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/utils/NetworkUtil.java @@ -0,0 +1,43 @@ +package com.monke.monkeybook.utils; + +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import com.monke.monkeybook.MApplication; +import com.monke.monkeybook.R; +import java.util.HashMap; +import java.util.Map; + +public class NetworkUtil { + private static final Map errorMap = new HashMap<>(); + + public static final int SUCCESS = 10000; + public static final int ERROR_CODE_NONET = 10001; + public static final int ERROR_CODE_OUTTIME = 10002; + public static final int ERROR_CODE_ANALY = 10003; + + static{ + errorMap.put(ERROR_CODE_NONET, MApplication.getInstance().getString(R.string.net_error_10001)); + errorMap.put(ERROR_CODE_OUTTIME, MApplication.getInstance().getString(R.string.net_error_10002)); + errorMap.put(ERROR_CODE_ANALY, MApplication.getInstance().getString(R.string.net_error_10003)); + } + + public static String getErrorTip(int code) { + return errorMap.get(code); + } + + public static boolean isNetWorkAvailable() { + ConnectivityManager manager = (ConnectivityManager) MApplication.getInstance() + .getSystemService(Context.CONNECTIVITY_SERVICE); + if (manager != null) { + NetworkInfo info = manager.getActiveNetworkInfo(); + if (info != null && info.isConnected()) { + return true; + } else { + return false; + } + } else { + return false; + } + } +} diff --git a/app/src/main/java/com/monke/monkeybook/utils/NumberUtil.java b/app/src/main/java/com/monke/monkeybook/utils/NumberUtil.java new file mode 100644 index 0000000000..8f78a67e0b --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/utils/NumberUtil.java @@ -0,0 +1,62 @@ +package com.monke.monkeybook.utils; + +public class NumberUtil { + + /** + * 中文数字转阿拉伯数字 + */ + private static int chineseNumber2Int(String chineseNumber){ + int result = 0; + int temp = 1;//存放一个单位的数字如:十万 + int count = 0;//判断是否有chArr + char[] cnArr = new char[]{'一','二','三','四','五','六','七','八','九'}; + char[] chArr = new char[]{'十','百','千','万','亿'}; + for (int i = 0; i < chineseNumber.length(); i++) { + boolean b = true;//判断是否是chArr + char c = chineseNumber.charAt(i); + for (int j = 0; j < cnArr.length; j++) {//非单位,即数字 + if (c == cnArr[j]) { + if(0 != count){//添加下一个单位之前,先把上一个单位值添加到结果中 + result += temp; + temp = 1; + count = 0; + } + // 下标+1,就是对应的值 + temp = j + 1; + b = false; + break; + } + } + if(b){//单位{'十','百','千','万','亿'} + for (int j = 0; j < chArr.length; j++) { + if (c == chArr[j]) { + switch (j) { + case 0: + temp *= 10; + break; + case 1: + temp *= 100; + break; + case 2: + temp *= 1000; + break; + case 3: + temp *= 10000; + break; + case 4: + temp *= 100000000; + break; + default: + break; + } + count++; + } + } + } + if (i == chineseNumber.length() - 1) {//遍历到最后一个字符 + result += temp; + } + } + return result; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/utils/PremissionCheck.java b/app/src/main/java/com/monke/monkeybook/utils/PremissionCheck.java new file mode 100644 index 0000000000..8509c2501a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/utils/PremissionCheck.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2016 ZED, Inc. + * + * This code contain confidential information from ZED Technologies Co.,Ltd., + * which is intended only for the person or entity whose address is listed above. + * Any use of the information contained herein in any way (including, but not limited to, + * total or partial disclosure, reproduction, or dissemination) + * by persons other than the intended recipient(s) is prohibited + * + */ +package com.monke.monkeybook.utils; + +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.Build; +import android.support.v4.content.PermissionChecker; + +/** + *

版权所有:2016-深圳市得色科技有限公司

+ *

+ *

类描述:

+ *

创建人:章钦豪

+ *

创建时间:2017/1/16

+ *

修改人:

+ *

修改时间:

+ *

修改备注:

+ * + * @version V1.0 + */ +public class PremissionCheck { + public static Boolean checkPremission(Context context,String permission){ + boolean result = false; + if (getTargetSdkVersion(context) >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + result = context.checkSelfPermission(permission) + == PackageManager.PERMISSION_GRANTED; + } else { + // targetSdkVersion < Android M, we have to use PermissionChecker + result = PermissionChecker.checkSelfPermission(context, permission) + == PermissionChecker.PERMISSION_GRANTED; + } + return result; + } + + private static int getTargetSdkVersion(Context context) { + int version = 0; + try { + final PackageInfo info = context.getPackageManager().getPackageInfo( + context.getPackageName(), 0); + version = info.applicationInfo.targetSdkVersion; + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + return version; + } + public static void requestPermissionSetting(Context from) { + try { + Intent localIntent = new Intent(); + localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + if (Build.VERSION.SDK_INT >= 9) { + localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS"); + localIntent.setData(Uri.fromParts("package", from.getPackageName(), null)); + } else if (Build.VERSION.SDK_INT <= 8) { + localIntent.setAction(Intent.ACTION_VIEW); + localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails"); + localIntent.putExtra("com.android.settings.ApplicationPkgName", from.getPackageName()); + } + from.startActivity(localIntent); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/view/IBookDetailView.java b/app/src/main/java/com/monke/monkeybook/view/IBookDetailView.java new file mode 100644 index 0000000000..ced321949d --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/IBookDetailView.java @@ -0,0 +1,9 @@ +package com.monke.monkeybook.view; + +import com.monke.basemvplib.IView; + +public interface IBookDetailView extends IView{ + public void updateView(); + + public void getBookShelfError(); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/IBookReadView.java b/app/src/main/java/com/monke/monkeybook/view/IBookReadView.java new file mode 100644 index 0000000000..0fc4ab44ed --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/IBookReadView.java @@ -0,0 +1,27 @@ +package com.monke.monkeybook.view; + +import android.graphics.Paint; +import com.monke.basemvplib.IView; + +public interface IBookReadView extends IView{ + + public Paint getPaint(); + + public int getContentWidth(); + + public void initContentSuccess(int durChapterIndex, int chapterAll, int durPageIndex); + + public void startLoadingBook(); + + public void setHpbReadProgressMax(int count); + + public void initPop(); + + public void showLoadBook(); + + public void dimissLoadBook(); + + public void loadLocationBookError(); + + public void showDownloadMenu(); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/IChoiceBookView.java b/app/src/main/java/com/monke/monkeybook/view/IChoiceBookView.java new file mode 100644 index 0000000000..78641a1228 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/IChoiceBookView.java @@ -0,0 +1,29 @@ +package com.monke.monkeybook.view; + +import com.monke.basemvplib.IView; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.view.adapter.ChoiceBookAdapter; +import java.util.List; + +public interface IChoiceBookView extends IView{ + + public void refreshSearchBook(List books); + + public void loadMoreSearchBook(List books); + + public void refreshFinish(Boolean isAll); + + public void loadMoreFinish(Boolean isAll); + + public void searchBookError(); + + public void addBookShelfSuccess(List searchBooks); + + public void addBookShelfFailed(int code); + + public ChoiceBookAdapter getSearchBookAdapter(); + + public void updateSearchItem(int index); + + public void startRefreshAnim(); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/IImportBookView.java b/app/src/main/java/com/monke/monkeybook/view/IImportBookView.java new file mode 100644 index 0000000000..1c69df4cb1 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/IImportBookView.java @@ -0,0 +1,15 @@ +package com.monke.monkeybook.view; + +import com.monke.basemvplib.IView; +import java.io.File; + +public interface IImportBookView extends IView{ + + public void addNewBook(File newFile); + + public void searchFinish(); + + public void addSuccess(); + + public void addError(); +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/ILibraryView.java b/app/src/main/java/com/monke/monkeybook/view/ILibraryView.java new file mode 100644 index 0000000000..5348d8788a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/ILibraryView.java @@ -0,0 +1,10 @@ +package com.monke.monkeybook.view; + +import com.monke.basemvplib.IView; +import com.monke.monkeybook.bean.LibraryBean; + +public interface ILibraryView extends IView{ + + public void updateUI(LibraryBean library); + public void finishRefresh(); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/IMainView.java b/app/src/main/java/com/monke/monkeybook/view/IMainView.java new file mode 100644 index 0000000000..6e2656fd5a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/IMainView.java @@ -0,0 +1,24 @@ +package com.monke.monkeybook.view; + +import com.monke.basemvplib.IView; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.view.adapter.BookShelfAdapter; + +import java.util.List; + +public interface IMainView extends IView{ + + public void refreshBookShelf(List bookShelfBeanList); + + public void activityRefreshView(); + + public void refreshFinish(); + + public void refreshError(String error); + + public List getBookShelfAdapterDatas(); + + public void refreshRecyclerViewItemAdd(); + + public void setRecyclerMaxProgress(int x); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/ISearchView.java b/app/src/main/java/com/monke/monkeybook/view/ISearchView.java new file mode 100644 index 0000000000..67f9aacfd2 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/ISearchView.java @@ -0,0 +1,37 @@ +package com.monke.monkeybook.view; + +import android.widget.EditText; + +import com.monke.basemvplib.IView; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.SearchHistoryBean; +import com.monke.monkeybook.view.adapter.SearchBookAdapter; + +import java.util.List; + +public interface ISearchView extends IView{ + + public void insertSearchHistorySuccess(SearchHistoryBean searchHistoryBean); + + public void querySearchHistorySuccess(List datas); + + public void refreshSearchBook(List books); + + public void loadMoreSearchBook(List books); + + public void refreshFinish(Boolean isAll); + + public void loadMoreFinish(Boolean isAll); + + public void searchBookError(Boolean isRefresh); + + public EditText getEdtContent(); + + public void addBookShelfFailed(int code); + + public SearchBookAdapter getSearchBookAdapter(); + + public void updateSearchItem(int index); + + public Boolean checkIsExist(SearchBookBean searchBookBean); +} diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/BookShelfAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/BookShelfAdapter.java new file mode 100644 index 0000000000..0073beae8f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/BookShelfAdapter.java @@ -0,0 +1,421 @@ +package com.monke.monkeybook.view.adapter; + +import android.os.Handler; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.widget.refreshview.RefreshRecyclerViewAdapter; +import com.monke.mprogressbar.MHorProgressBar; +import com.monke.mprogressbar.OnProgressListener; +import java.util.ArrayList; +import java.util.List; +import me.grantland.widget.AutofitTextView; + +public class BookShelfAdapter extends RefreshRecyclerViewAdapter { + private final int TYPE_LASTEST = 1; + private final int TYPE_OTHER = 2; + + private final long DURANIMITEM = 130; //item动画启动间隔 + + private List books; + + private Boolean needAnim = true; + + private OnItemClickListener itemClickListener; + + public interface OnItemClickListener { + public void toSearch(); + + public void onClick(BookShelfBean bookShelfBean, int index); + + public void onLongClick(View view, BookShelfBean bookShelfBean, int index); + } + + public BookShelfAdapter() { + super(false); + books = new ArrayList<>(); + } + + @Override + public int getItemcount() { + if (books.size() == 0) { + return 1; + } else { + if (books.size() % 3 == 0) { + return 1 + books.size() / 3; + } else { + return 1 + (books.size() / 3 + 1); + } + } + } + + public int getRealItemCount() { + return books.size(); + } + + @Override + public int getItemViewtype(int position) { + if (position == 0) { + return TYPE_LASTEST; + } else { + return TYPE_OTHER; + } + } + + @Override + public RecyclerView.ViewHolder onCreateViewholder(ViewGroup parent, int viewType) { + if (viewType == TYPE_LASTEST) { + return new LastestViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_bookshelf_lastest, parent, false)); + } else { + return new OtherViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_bookshelf_other, parent, false)); + } + } + + @Override + public void onBindViewholder(RecyclerView.ViewHolder holder, int position) { + if (holder.getItemViewType() == TYPE_LASTEST) { + bindLastestViewHolder((LastestViewHolder) holder, position); + } else { + bindOtherViewHolder((OtherViewHolder) holder, position - 1); + } + } + + private void bindOtherViewHolder(final OtherViewHolder holder, int index) { + final int index_1 = index * 3; + if (needAnim) { + final Animation animation = AnimationUtils.loadAnimation(holder.flContent_1.getContext(), R.anim.anim_bookshelf_item); + animation.setAnimationListener(new AnimatontStartListener() { + @Override + void onAnimStart(Animation animation) { + needAnim = false; + holder.flContent_1.setVisibility(View.VISIBLE); + } + }); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + if (null != holder) + holder.flContent_1.startAnimation(animation); + } + }, index_1 * DURANIMITEM); + } else { + holder.flContent_1.setVisibility(View.VISIBLE); + } + Glide.with(holder.ivCover_1.getContext()).load(books.get(index_1).getBookInfoBean().getCoverUrl()).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(holder.ivCover_1); + holder.tvName_1.setText(books.get(index_1).getBookInfoBean().getName()); + + holder.ibContent_1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.onClick(books.get(index_1), index_1); + } + }); + holder.ibContent_1.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + if (itemClickListener != null) { + itemClickListener.onLongClick(holder.ivCover_1, books.get(index_1), index_1); + return true; + } else + return false; + } + }); + + final int index_2 = index_1 + 1; + if (index_2 < books.size()) { + if (needAnim) { + final Animation animation = AnimationUtils.loadAnimation(holder.flContent_2.getContext(), R.anim.anim_bookshelf_item); + animation.setAnimationListener(new AnimatontStartListener() { + @Override + void onAnimStart(Animation animation) { + needAnim = false; + holder.flContent_2.setVisibility(View.VISIBLE); + } + }); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + if (null != holder) + holder.flContent_2.startAnimation(animation); + } + }, index_2 * DURANIMITEM); + } else { + holder.flContent_2.setVisibility(View.VISIBLE); + } + Glide.with(holder.ivCover_2.getContext()).load(books.get(index_2).getBookInfoBean().getCoverUrl()).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(holder.ivCover_2); + holder.tvName_2.setText(books.get(index_2).getBookInfoBean().getName()); + + holder.ibContent_2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.onClick(books.get(index_2), index_2); + } + }); + holder.ibContent_2.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + if (itemClickListener != null) { + if (itemClickListener != null) + itemClickListener.onLongClick(holder.ivCover_2, books.get(index_2), index_2); + return true; + } else + return false; + } + }); + + final int index_3 = index_2 + 1; + if (index_3 < books.size()) { + if (needAnim) { + final Animation animation = AnimationUtils.loadAnimation(holder.flContent_3.getContext(), R.anim.anim_bookshelf_item); + animation.setAnimationListener(new AnimatontStartListener() { + @Override + void onAnimStart(Animation animation) { + needAnim = false; + holder.flContent_3.setVisibility(View.VISIBLE); + } + }); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + if (null != holder) + holder.flContent_3.startAnimation(animation); + } + }, index_3 * DURANIMITEM); + } else { + holder.flContent_3.setVisibility(View.VISIBLE); + } + Glide.with(holder.ivCover_3.getContext()).load(books.get(index_3).getBookInfoBean().getCoverUrl()).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(holder.ivCover_3); + holder.tvName_3.setText(books.get(index_3).getBookInfoBean().getName()); + + holder.ibContent_3.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.onClick(books.get(index_3), index_3); + } + }); + holder.ibContent_3.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + if (itemClickListener != null) { + if (itemClickListener != null) + itemClickListener.onLongClick(holder.ivCover_3, books.get(index_3), index_3); + return true; + } else + return false; + } + }); + }else{ + holder.flContent_3.setVisibility(View.INVISIBLE); + } + }else{ + holder.flContent_2.setVisibility(View.INVISIBLE); + holder.flContent_3.setVisibility(View.INVISIBLE); + } + } + + private void bindLastestViewHolder(final LastestViewHolder holder, final int index) { + if (books.size() == 0) { + holder.tvWatch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (null != itemClickListener) { + itemClickListener.toSearch(); + } + } + }); + holder.ivCover.setImageResource(R.drawable.img_cover_default); + holder.flLastestTip.setVisibility(View.INVISIBLE); + holder.tvName.setText("最近阅读的书在这里"); + holder.tvDurprogress.setText(""); + holder.llDurcursor.setVisibility(View.INVISIBLE); + holder.mpbDurprogress.setVisibility(View.INVISIBLE); + holder.mpbDurprogress.setProgressListener(null); + holder.tvWatch.setText("去选书"); + } else { + Glide.with(holder.ivCover.getContext()).load(books.get(index).getBookInfoBean().getCoverUrl()).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(holder.ivCover); + + holder.flLastestTip.setVisibility(View.VISIBLE); + + holder.tvName.setText(String.format(holder.tvName.getContext().getString(R.string.tv_book_name), books.get(index).getBookInfoBean().getName())); + + if (null != books.get(index).getBookInfoBean() && null != books.get(index).getBookInfoBean().getChapterlist() && books.get(index).getBookInfoBean().getChapterlist().size() > books.get(index).getDurChapter()) { + holder.tvDurprogress.setText(String.format(holder.tvDurprogress.getContext().getString(R.string.tv_read_durprogress), books.get(index).getBookInfoBean().getChapterlist().get(books.get(index).getDurChapter()).getDurChapterName())); + } + holder.llDurcursor.setVisibility(View.VISIBLE); + holder.mpbDurprogress.setVisibility(View.VISIBLE); + holder.mpbDurprogress.setMaxProgress(books.get(index).getBookInfoBean().getChapterlist().size()); + float speed = books.get(index).getBookInfoBean().getChapterlist().size()*1.0f/100; + + holder.mpbDurprogress.setSpeed(speed<=0?1:speed); + holder.mpbDurprogress.setProgressListener(new OnProgressListener() { + @Override + public void moveStartProgress(float dur) { + + } + + @Override + public void durProgressChange(float dur) { + float rate = dur / holder.mpbDurprogress.getMaxProgress(); + holder.llDurcursor.setPadding((int) (holder.mpbDurprogress.getMeasuredWidth() * rate), 0, 0, 0); + } + + @Override + public void moveStopProgress(float dur) { + + } + + @Override + public void setDurProgress(float dur) { + + } + }); + if (needAnim) { + holder.mpbDurprogress.setDurProgressWithAnim(books.get(index).getDurChapter()); + } else { + holder.mpbDurprogress.setDurProgress(books.get(index).getDurChapter()); + } + holder.tvWatch.setText("继续阅读"); + holder.tvWatch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (null != itemClickListener) { + itemClickListener.onClick(books.get(index), index); + } + } + }); + } + } + + public void setItemClickListener(OnItemClickListener itemClickListener) { + this.itemClickListener = itemClickListener; + } + + public Boolean getNeedAnim() { + return needAnim; + } + + public void setNeedAnim(Boolean needAnim) { + this.needAnim = needAnim; + } + + class LastestViewHolder extends RecyclerView.ViewHolder { + ImageView ivCover; + FrameLayout flLastestTip; + AutofitTextView tvName; + AutofitTextView tvDurprogress; + LinearLayout llDurcursor; + MHorProgressBar mpbDurprogress; + TextView tvWatch; + + public LastestViewHolder(View itemView) { + super(itemView); + ivCover = (ImageView) itemView.findViewById(R.id.iv_cover); + flLastestTip = (FrameLayout) itemView.findViewById(R.id.fl_lastest_tip); + tvName = (AutofitTextView) itemView.findViewById(R.id.tv_name); + tvDurprogress = (AutofitTextView) itemView.findViewById(R.id.tv_durprogress); + llDurcursor = (LinearLayout) itemView.findViewById(R.id.ll_durcursor); + mpbDurprogress = (MHorProgressBar) itemView.findViewById(R.id.mpb_durprogress); + tvWatch = (TextView) itemView.findViewById(R.id.tv_watch); + } + } + + class OtherViewHolder extends RecyclerView.ViewHolder { + FrameLayout flContent_1; + ImageView ivCover_1; + AutofitTextView tvName_1; + ImageButton ibContent_1; + + FrameLayout flContent_2; + ImageView ivCover_2; + AutofitTextView tvName_2; + ImageButton ibContent_2; + + FrameLayout flContent_3; + ImageView ivCover_3; + AutofitTextView tvName_3; + ImageButton ibContent_3; + + public OtherViewHolder(View itemView) { + super(itemView); + flContent_1 = (FrameLayout) itemView.findViewById(R.id.fl_content_1); + ivCover_1 = (ImageView) itemView.findViewById(R.id.iv_cover_1); + tvName_1 = (AutofitTextView) itemView.findViewById(R.id.tv_name_1); + ibContent_1 = (ImageButton) itemView.findViewById(R.id.ib_content_1); + + flContent_2 = (FrameLayout) itemView.findViewById(R.id.fl_content_2); + ivCover_2 = (ImageView) itemView.findViewById(R.id.iv_cover_2); + tvName_2 = (AutofitTextView) itemView.findViewById(R.id.tv_name_2); + ibContent_2 = (ImageButton) itemView.findViewById(R.id.ib_content_2); + + flContent_3 = (FrameLayout) itemView.findViewById(R.id.fl_content_3); + ivCover_3 = (ImageView) itemView.findViewById(R.id.iv_cover_3); + tvName_3 = (AutofitTextView) itemView.findViewById(R.id.tv_name_3); + ibContent_3 = (ImageButton) itemView.findViewById(R.id.ib_content_3); + } + } + + abstract class AnimatontStartListener implements Animation.AnimationListener { + + @Override + public void onAnimationStart(Animation animation) { + onAnimStart(animation); + } + + @Override + public void onAnimationEnd(Animation animation) { + + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + + abstract void onAnimStart(Animation animation); + } + + public synchronized void replaceAll(List newDatas) { + books.clear(); + if (null != newDatas && newDatas.size() > 0) { + books.addAll(newDatas); + } + order(); + + notifyDataSetChanged(); + } + + private void order() { + if (books != null && books.size() > 0) { + for (int i = 0; i < books.size(); i++) { + int temp = i; + for (int j = i + 1; j < books.size(); j++) { + if (books.get(temp).getFinalDate() < books.get(j).getFinalDate()) { + temp = j; + } + } + BookShelfBean tempBookShelfBean = books.get(i); + books.set(i, books.get(temp)); + books.set(temp, tempBookShelfBean); + } + } + } + + public List getBooks() { + return books; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/ChapterListAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/ChapterListAdapter.java new file mode 100644 index 0000000000..5bd2b80e46 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/ChapterListAdapter.java @@ -0,0 +1,93 @@ +package com.monke.monkeybook.view.adapter; + +import android.graphics.Color; +import android.os.Handler; +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.widget.ChapterListView; + +public class ChapterListAdapter extends RecyclerView.Adapter { + private BookShelfBean bookShelfBean; + private ChapterListView.OnItemClickListener itemClickListener; + private int index = 0; + private Boolean isAsc = true; + + public ChapterListAdapter(BookShelfBean bookShelfBean, @NonNull ChapterListView.OnItemClickListener itemClickListener) { + this.bookShelfBean = bookShelfBean; + this.itemClickListener = itemClickListener; + } + + @Override + public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) { + return new Viewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.view_adapter_chapterlist, parent, false)); + } + + @Override + public void onBindViewHolder(Viewholder holder, final int posiTion) { + if (posiTion == getItemCount() - 1) { + holder.vLine.setVisibility(View.INVISIBLE); + } else + holder.vLine.setVisibility(View.VISIBLE); + + final int position; + if (isAsc) { + position = posiTion; + } else { + position = getItemCount() - 1 - posiTion; + } + holder.tvName.setText(bookShelfBean.getBookInfoBean().getChapterlist().get(position).getDurChapterName()); + holder.flContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + setIndex(position); + itemClickListener.itemClick(position); + } + }); + if (position == index) { + holder.flContent.setBackgroundColor(Color.parseColor("#cfcfcf")); + holder.flContent.setClickable(false); + } else { + holder.flContent.setBackgroundResource(R.drawable.bg_ib_pre2); + holder.flContent.setClickable(true); + } + } + + @Override + public int getItemCount() { + if (bookShelfBean == null) + return 0; + else + return bookShelfBean.getBookInfoBean().getChapterlist().size(); + } + + public class Viewholder extends RecyclerView.ViewHolder { + private FrameLayout flContent; + private TextView tvName; + private View vLine; + + public Viewholder(View itemView) { + super(itemView); + flContent = (FrameLayout) itemView.findViewById(R.id.fl_content); + tvName = (TextView) itemView.findViewById(R.id.tv_name); + vLine = itemView.findViewById(R.id.v_line); + } + } + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + notifyItemChanged(this.index); + this.index = index; + notifyItemChanged(this.index); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/ChoiceBookAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/ChoiceBookAdapter.java new file mode 100644 index 0000000000..f07ce6e6c0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/ChoiceBookAdapter.java @@ -0,0 +1,177 @@ +package com.monke.monkeybook.view.adapter; + +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.widget.refreshview.RefreshRecyclerViewAdapter; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +public class ChoiceBookAdapter extends RefreshRecyclerViewAdapter { + private List searchBooks; + + public interface OnItemClickListener { + public void clickAddShelf(View clickView, int position, SearchBookBean searchBookBean); + + public void clickItem(View animView, int position, SearchBookBean searchBookBean); + } + + private OnItemClickListener itemClickListener; + + public ChoiceBookAdapter() { + super(true); + searchBooks = new ArrayList<>(); + } + + @Override + public RecyclerView.ViewHolder onCreateViewholder(ViewGroup parent, int viewType) { + return new Viewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_searchbook_item, parent, false)); + } + + @Override + public void onBindViewholder(final RecyclerView.ViewHolder holder, final int position) { + final int realposition = position; + Glide.with(((Viewholder) holder).ivCover.getContext()) + .load(searchBooks.get(realposition).getCoverUrl()) + .diskCacheStrategy(DiskCacheStrategy.RESULT) + .fitCenter() + .dontAnimate() + .placeholder(R.drawable.img_cover_default) + .into(((Viewholder) holder).ivCover); + ((Viewholder) holder).tvName.setText(searchBooks.get(realposition).getName()); + ((Viewholder) holder).tvAuthor.setText(searchBooks.get(realposition).getAuthor()); + String state = searchBooks.get(position).getState(); + if (state == null || state.length() == 0) { + ((Viewholder) holder).tvState.setVisibility(View.GONE); + } else { + ((Viewholder) holder).tvState.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvState.setText(state); + } + long words = searchBooks.get(realposition).getWords(); + if (words <= 0) { + ((Viewholder) holder).tvWords.setVisibility(View.GONE); + } else { + String wordsS = Long.toString(words) + "字"; + if (words > 10000) { + DecimalFormat df = new DecimalFormat("#.#"); + wordsS = df.format(words * 1.0f / 10000f) + "万字"; + } + ((Viewholder) holder).tvWords.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvWords.setText(wordsS); + } + String kind = searchBooks.get(realposition).getKind(); + if (kind == null || kind.length() <= 0) { + ((Viewholder) holder).tvKind.setVisibility(View.GONE); + } else { + ((Viewholder) holder).tvKind.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvKind.setText(kind); + } + if (searchBooks.get(realposition).getLastChapter() != null && searchBooks.get(realposition).getLastChapter().length() > 0) + ((Viewholder) holder).tvLastest.setText(searchBooks.get(realposition).getLastChapter()); + else if (searchBooks.get(realposition).getDesc() != null && searchBooks.get(realposition).getDesc().length() > 0) { + ((Viewholder) holder).tvLastest.setText(searchBooks.get(realposition).getDesc()); + } else + ((Viewholder) holder).tvLastest.setText(""); + if (searchBooks.get(realposition).getOrigin() != null && searchBooks.get(realposition).getOrigin().length() > 0) { + ((Viewholder) holder).tvOrigin.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvOrigin.setText("来源:" + searchBooks.get(realposition).getOrigin()); + } else { + ((Viewholder) holder).tvOrigin.setVisibility(View.GONE); + } + if (searchBooks.get(realposition).getAdd()) { + ((Viewholder) holder).tvAddShelf.setText("已添加"); + ((Viewholder) holder).tvAddShelf.setEnabled(false); + } else { + ((Viewholder) holder).tvAddShelf.setText("+添加"); + ((Viewholder) holder).tvAddShelf.setEnabled(true); + } + + ((Viewholder) holder).flContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.clickItem(((Viewholder) holder).ivCover, realposition, searchBooks.get(realposition)); + } + }); + ((Viewholder) holder).tvAddShelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.clickAddShelf(((Viewholder) holder).tvAddShelf, realposition, searchBooks.get(realposition)); + } + }); + } + + @Override + public int getItemViewtype(int position) { + return 0; + } + + @Override + public int getItemcount() { + return searchBooks.size(); + } + + class Viewholder extends RecyclerView.ViewHolder { + FrameLayout flContent; + ImageView ivCover; + TextView tvName; + TextView tvAuthor; + TextView tvState; + TextView tvWords; + TextView tvKind; + TextView tvLastest; + TextView tvAddShelf; + TextView tvOrigin; + + public Viewholder(View itemView) { + super(itemView); + flContent = (FrameLayout) itemView.findViewById(R.id.fl_content); + ivCover = (ImageView) itemView.findViewById(R.id.iv_cover); + tvName = (TextView) itemView.findViewById(R.id.tv_name); + tvAuthor = (TextView) itemView.findViewById(R.id.tv_author); + tvState = (TextView) itemView.findViewById(R.id.tv_state); + tvWords = (TextView) itemView.findViewById(R.id.tv_words); + tvLastest = (TextView) itemView.findViewById(R.id.tv_lastest); + tvAddShelf = (TextView) itemView.findViewById(R.id.tv_addshelf); + tvKind = (TextView) itemView.findViewById(R.id.tv_kind); + tvOrigin = (TextView) itemView.findViewById(R.id.tv_origin); + } + } + + public void setItemClickListener(OnItemClickListener itemClickListener) { + this.itemClickListener = itemClickListener; + } + + public void addAll(List newData) { + if (newData != null && newData.size() > 0) { + int position = getItemcount(); + if (newData != null && newData.size() > 0) { + searchBooks.addAll(newData); + } + notifyItemInserted(position); + notifyItemRangeChanged(position, newData.size()); + } + } + + public void replaceAll(List newData) { + searchBooks.clear(); + if (newData != null && newData.size() > 0) { + searchBooks.addAll(newData); + } + notifyDataSetChanged(); + } + + public List getSearchBooks() { + return searchBooks; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/ImportBookAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/ImportBookAdapter.java new file mode 100644 index 0000000000..7c55a87ab0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/ImportBookAdapter.java @@ -0,0 +1,125 @@ +package com.monke.monkeybook.view.adapter; + +import android.os.Environment; +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.widget.checkbox.SmoothCheckBox; +import java.io.File; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +public class ImportBookAdapter extends RecyclerView.Adapter{ + private List datas; + private List selectDatas; + + public interface OnCheckBookListener{ + public void checkBook(int count); + } + + private OnCheckBookListener checkBookListener; + public ImportBookAdapter(@NonNull OnCheckBookListener checkBookListener){ + datas = new ArrayList<>(); + selectDatas = new ArrayList<>(); + this.checkBookListener = checkBookListener; + } + + @Override + public Viewholder onCreateViewHolder(ViewGroup parent, int viewType) { + return new Viewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.view_adapter_importbook,parent,false)); + } + + @Override + public void onBindViewHolder(final Viewholder holder, final int position) { + holder.tvNmae.setText(datas.get(position).getName()); + holder.tvSize.setText(convertByte(datas.get(position).length())); + holder.tvLoc.setText(datas.get(position).getAbsolutePath().replace(Environment.getExternalStorageDirectory().getAbsolutePath(),"存储空间")); + + holder.scbSelect.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) { + if(isChecked){ + selectDatas.add(datas.get(position)); + }else{ + selectDatas.remove(datas.get(position)); + } + checkBookListener.checkBook(selectDatas.size()); + } + }); + if(canCheck){ + holder.scbSelect.setVisibility(View.VISIBLE); + holder.llContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + holder.scbSelect.setChecked(!holder.scbSelect.isChecked(),true); + } + }); + }else{ + holder.scbSelect.setVisibility(View.INVISIBLE); + holder.llContent.setOnClickListener(null); + } + } + + public void addData(File newItem){ + int position = datas.size(); + datas.add(newItem); + notifyItemInserted(position); + notifyItemRangeChanged(position, 1); + } + + private Boolean canCheck = false; + public void setCanCheck(Boolean canCheck){ + this.canCheck = canCheck; + notifyDataSetChanged(); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + class Viewholder extends RecyclerView.ViewHolder { + LinearLayout llContent; + TextView tvNmae; + TextView tvSize; + TextView tvLoc; + SmoothCheckBox scbSelect; + + public Viewholder(View itemView) { + super(itemView); + llContent = (LinearLayout) itemView.findViewById(R.id.ll_content); + tvNmae = (TextView) itemView.findViewById(R.id.tv_name); + tvSize = (TextView) itemView.findViewById(R.id.tv_size); + scbSelect = (SmoothCheckBox) itemView.findViewById(R.id.scb_select); + tvLoc = (TextView) itemView.findViewById(R.id.tv_loc); + } + } + + public static String convertByte(long size) { + DecimalFormat df = new DecimalFormat("###.#"); + float f; + if (size < 1024) { + f = size / 1.0f; + return (df.format(new Float(f).doubleValue()) + "B"); + } else if (size < 1024 * 1024) { + f = (float) ((float) size / (float) 1024); + return (df.format(new Float(f).doubleValue()) + "KB"); + } else if (size < 1024 * 1024 * 1024) { + f = (float) ((float) size / (float) (1024 * 1024)); + return (df.format(new Float(f).doubleValue()) + "MB"); + } else { + f = (float) ((float) size / (float) (1024 * 1024 * 1024)); + return (df.format(new Float(f).doubleValue()) + "GB"); + } + } + + public List getSelectDatas() { + return selectDatas; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/SearchBookAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/SearchBookAdapter.java new file mode 100644 index 0000000000..fe52fdacb0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/SearchBookAdapter.java @@ -0,0 +1,180 @@ +package com.monke.monkeybook.view.adapter; + +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.widget.refreshview.RefreshRecyclerViewAdapter; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.List; + +public class SearchBookAdapter extends RefreshRecyclerViewAdapter { + private List searchBooks; + + public interface OnItemClickListener { + public void clickAddShelf(View clickView, int position, SearchBookBean searchBookBean); + + public void clickItem(View animView, int position, SearchBookBean searchBookBean); + } + + private OnItemClickListener itemClickListener; + + public SearchBookAdapter() { + super(true); + searchBooks = new ArrayList<>(); + } + + @Override + public RecyclerView.ViewHolder onCreateViewholder(ViewGroup parent, int viewType) { + return new Viewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_searchbook_item, parent, false)); + } + + @Override + public void onBindViewholder(final RecyclerView.ViewHolder holder, final int position) { + Glide.with(((Viewholder) holder).ivCover.getContext()) + .load(searchBooks.get(position).getCoverUrl()) + .diskCacheStrategy(DiskCacheStrategy.RESULT) + .centerCrop() + .dontAnimate() + .placeholder(R.drawable.img_cover_default) + .into(((Viewholder) holder).ivCover); + ((Viewholder) holder).tvName.setText(searchBooks.get(position).getName()); + ((Viewholder) holder).tvAuthor.setText(searchBooks.get(position).getAuthor()); + String state = searchBooks.get(position).getState(); + if (state == null || state.length() == 0) { + ((Viewholder) holder).tvState.setVisibility(View.GONE); + } else { + ((Viewholder) holder).tvState.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvState.setText(state); + } + long words = searchBooks.get(position).getWords(); + if (words <= 0) { + ((Viewholder) holder).tvWords.setVisibility(View.GONE); + } else { + String wordsS = Long.toString(words) + "字"; + if (words > 10000) { + DecimalFormat df = new DecimalFormat("#.#"); + wordsS = df.format(words * 1.0f / 10000f) + "万字"; + } + ((Viewholder) holder).tvWords.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvWords.setText(wordsS); + } + String kind = searchBooks.get(position).getKind(); + if (kind == null || kind.length() <= 0) { + ((Viewholder) holder).tvKind.setVisibility(View.GONE); + } else { + ((Viewholder) holder).tvKind.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvKind.setText(kind); + } + if (searchBooks.get(position).getLastChapter() != null && searchBooks.get(position).getLastChapter().length() > 0) + ((Viewholder) holder).tvLastest.setText(searchBooks.get(position).getLastChapter()); + else if (searchBooks.get(position).getDesc() != null && searchBooks.get(position).getDesc().length() > 0) { + ((Viewholder) holder).tvLastest.setText(searchBooks.get(position).getDesc()); + } else + ((Viewholder) holder).tvLastest.setText(""); + if (searchBooks.get(position).getOrigin() != null && searchBooks.get(position).getOrigin().length() > 0) { + ((Viewholder) holder).tvOrigin.setVisibility(View.VISIBLE); + ((Viewholder) holder).tvOrigin.setText("来源:" + searchBooks.get(position).getOrigin()); + } else { + ((Viewholder) holder).tvOrigin.setVisibility(View.GONE); + } + if (searchBooks.get(position).getAdd()) { + ((Viewholder) holder).tvAddShelf.setText("已添加"); + ((Viewholder) holder).tvAddShelf.setEnabled(false); + } else { + ((Viewholder) holder).tvAddShelf.setText("+添加"); + ((Viewholder) holder).tvAddShelf.setEnabled(true); + } + + ((Viewholder) holder).flContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.clickItem(((Viewholder) holder).ivCover, position, searchBooks.get(position)); + } + }); + ((Viewholder) holder).tvAddShelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemClickListener != null) + itemClickListener.clickAddShelf(((Viewholder) holder).tvAddShelf, position, searchBooks.get(position)); + } + }); + } + + @Override + public int getItemViewtype(int position) { + return 0; + } + + @Override + public int getItemcount() { + return searchBooks.size(); + } + + class Viewholder extends RecyclerView.ViewHolder { + FrameLayout flContent; + ImageView ivCover; + TextView tvName; + TextView tvAuthor; + TextView tvState; + TextView tvWords; + TextView tvKind; + TextView tvLastest; + TextView tvAddShelf; + TextView tvOrigin; + + public Viewholder(View itemView) { + super(itemView); + flContent = (FrameLayout) itemView.findViewById(R.id.fl_content); + ivCover = (ImageView) itemView.findViewById(R.id.iv_cover); + tvName = (TextView) itemView.findViewById(R.id.tv_name); + tvAuthor = (TextView) itemView.findViewById(R.id.tv_author); + tvState = (TextView) itemView.findViewById(R.id.tv_state); + tvWords = (TextView) itemView.findViewById(R.id.tv_words); + tvLastest = (TextView) itemView.findViewById(R.id.tv_lastest); + tvAddShelf = (TextView) itemView.findViewById(R.id.tv_addshelf); + tvKind = (TextView) itemView.findViewById(R.id.tv_kind); + tvOrigin = (TextView) itemView.findViewById(R.id.tv_origin); + } + } + + public void setItemClickListener(OnItemClickListener itemClickListener) { + this.itemClickListener = itemClickListener; + } + + public void addAll(List newData) { + if (newData != null && newData.size() > 0) { + int position = getItemcount(); + if (newData != null && newData.size() > 0) { + searchBooks.addAll(newData); + } + notifyItemInserted(position); + notifyItemRangeChanged(position, newData.size()); + } + } + + public void replaceAll(List newData) { + searchBooks.clear(); + if (newData != null && newData.size() > 0) { + searchBooks.addAll(newData); + } + notifyDataSetChanged(); + } + + public List getSearchBooks() { + return searchBooks; + } + + public void setSearchBooks(List searchBooks) { + this.searchBooks = searchBooks; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/adapter/SearchHistoryAdapter.java b/app/src/main/java/com/monke/monkeybook/view/adapter/SearchHistoryAdapter.java new file mode 100644 index 0000000000..1419c115e0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/adapter/SearchHistoryAdapter.java @@ -0,0 +1,53 @@ +package com.monke.monkeybook.view.adapter; + +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.SearchHistoryBean; +import com.monke.monkeybook.widget.flowlayout.FlowLayout; +import com.monke.monkeybook.widget.flowlayout.TagAdapter; +import java.util.ArrayList; + +public class SearchHistoryAdapter extends TagAdapter { + public SearchHistoryAdapter() { + super(new ArrayList()); + } + + public interface OnItemClickListener{ + public void itemClick(SearchHistoryBean searchHistoryBean); + } + private SearchHistoryAdapter.OnItemClickListener onItemClickListener; + + public OnItemClickListener getListener() { + return onItemClickListener; + } + + public void setOnItemClickListener(OnItemClickListener listener) { + this.onItemClickListener = listener; + } + + @Override + public View getView(FlowLayout parent, int position, final SearchHistoryBean searchHistoryBean) { + TextView tv = (TextView) LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_searchhistory_item, + parent, false); + tv.setText(searchHistoryBean.getContent()); + tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(null != onItemClickListener){ + onItemClickListener.itemClick(searchHistoryBean); + } + } + }); + return tv; + } + + public SearchHistoryBean getItemData(int position){ + return mTagDatas.get(position); + } + + public int getDataSize(){ + return mTagDatas.size(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/BookDetailActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/BookDetailActivity.java new file mode 100644 index 0000000000..5b76b3eebe --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/BookDetailActivity.java @@ -0,0 +1,250 @@ +package com.monke.monkeybook.view.impl; + +import android.content.Intent; +import android.os.Build; +import android.text.method.ScrollingMovementMethod; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.monke.monkeybook.BitIntentDataManager; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.presenter.IBookDetailPresenter; +import com.monke.monkeybook.presenter.impl.BookDetailPresenterImpl; +import com.monke.monkeybook.presenter.impl.ReadBookPresenterImpl; +import com.monke.monkeybook.utils.BlurTransformation; +import com.monke.monkeybook.view.IBookDetailView; + +public class BookDetailActivity extends MBaseActivity implements IBookDetailView { + + private FrameLayout iflContent; + private ImageView ivBlurCover; + private ImageView ivCover; + private TextView tvName; + private TextView tvAuthor; + private TextView tvOrigin; + private TextView tvChapter; + private TextView tvIntro; + private TextView tvShelf; + private TextView tvRead; + private TextView tvLoading; + + private Animation animHideLoading; + private Animation animShowInfo; + + @Override + protected IBookDetailPresenter initInjector() { + return new BookDetailPresenterImpl(getIntent()); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_detail); + } + + @Override + protected void initData() { + animShowInfo = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); + animHideLoading = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); + animHideLoading.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + + } + + @Override + public void onAnimationEnd(Animation animation) { + tvLoading.setVisibility(View.GONE); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + } + + + @Override + protected void bindView() { + iflContent = (FrameLayout) findViewById(R.id.ifl_content); + ivBlurCover = (ImageView) findViewById(R.id.iv_blur_cover); + ivCover = (ImageView) findViewById(R.id.iv_cover); + tvName = (TextView) findViewById(R.id.tv_name); + tvAuthor = (TextView) findViewById(R.id.tv_author); + tvOrigin = (TextView) findViewById(R.id.tv_origin); + tvChapter = (TextView) findViewById(R.id.tv_chapter); + tvIntro = (TextView) findViewById(R.id.tv_intro); + tvShelf = (TextView) findViewById(R.id.tv_shelf); + tvRead = (TextView) findViewById(R.id.tv_read); + tvLoading = (TextView) findViewById(R.id.tv_loading); + + tvIntro.setMovementMethod(ScrollingMovementMethod.getInstance()); + initView(); + + updateView(); + } + + @Override + public void updateView() { + if (null != mPresenter.getBookShelf()) { + if (mPresenter.getInBookShelf()) { + if (mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size() > 0) + tvChapter.setText(String.format(getString(R.string.tv_read_durprogress), mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(mPresenter.getBookShelf().getDurChapter()).getDurChapterName())); + else + tvChapter.setText("无章节"); + tvShelf.setText("移出书架"); + tvRead.setText("继续阅读"); + tvShelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //从书架移出 + mPresenter.removeFromBookShelf(); + } + }); + } else { + if (mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size() == 0) { + tvChapter.setText("无章节"); + } else { + tvChapter.setText(String.format(getString(R.string.tv_searchbook_lastest), mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size() - 1).getDurChapterName())); + } + tvShelf.setText("放入书架"); + tvRead.setText("开始阅读"); + tvShelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //放入书架 + mPresenter.addToBookShelf(); + } + }); + } + if (tvIntro.getText().toString().trim().length() == 0) { + tvIntro.setText(mPresenter.getBookShelf().getBookInfoBean().getIntroduce()); + } + if (tvIntro.getVisibility() != View.VISIBLE) { + tvIntro.setVisibility(View.VISIBLE); + tvIntro.startAnimation(animShowInfo); + tvLoading.startAnimation(animHideLoading); + } + if (mPresenter.getBookShelf().getBookInfoBean().getOrigin() != null && mPresenter.getBookShelf().getBookInfoBean().getOrigin().length() > 0) { + tvOrigin.setVisibility(View.VISIBLE); + tvOrigin.setText("来源:" + mPresenter.getBookShelf().getBookInfoBean().getOrigin()); + } else { + tvOrigin.setVisibility(View.GONE); + } + } else { + tvChapter.setText(String.format(getString(R.string.tv_searchbook_lastest), mPresenter.getSearchBook().getLastChapter())); + tvShelf.setText("放入书架"); + tvRead.setText("开始阅读"); + tvRead.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //放入书架 + } + }); + tvIntro.setVisibility(View.INVISIBLE); + tvLoading.setVisibility(View.VISIBLE); + tvLoading.setText("加载中..."); + } + tvLoading.setOnClickListener(null); + } + + @Override + public void getBookShelfError() { + tvLoading.setVisibility(View.VISIBLE); + tvLoading.setText("加载失败,点击重试"); + tvLoading.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + tvLoading.setText("加载中..."); + tvLoading.setOnClickListener(null); + mPresenter.getBookShelfInfo(); + } + }); + } + + @Override + protected void firstRequest() { + super.firstRequest(); + if (mPresenter.getOpenfrom() == BookDetailPresenterImpl.FROM_SEARCH && mPresenter.getBookShelf() == null) { + //网络请求 + mPresenter.getBookShelfInfo(); + } + } + + private void initView() { + String coverUrl; + String name; + String author; + if (mPresenter.getOpenfrom() == BookDetailPresenterImpl.FROM_BOOKSHELF) { + coverUrl = mPresenter.getBookShelf().getBookInfoBean().getCoverUrl(); + name = mPresenter.getBookShelf().getBookInfoBean().getName(); + author = mPresenter.getBookShelf().getBookInfoBean().getAuthor(); + if (mPresenter.getBookShelf().getBookInfoBean().getOrigin() != null && mPresenter.getBookShelf().getBookInfoBean().getOrigin().length() > 0) { + tvOrigin.setVisibility(View.VISIBLE); + tvOrigin.setText("来源:" + mPresenter.getBookShelf().getBookInfoBean().getOrigin()); + } else { + tvOrigin.setVisibility(View.GONE); + } + } else { + coverUrl = mPresenter.getSearchBook().getCoverUrl(); + name = mPresenter.getSearchBook().getName(); + author = mPresenter.getSearchBook().getAuthor(); + if (mPresenter.getSearchBook().getOrigin() != null && mPresenter.getSearchBook().getOrigin().length() > 0) { + tvOrigin.setVisibility(View.VISIBLE); + tvOrigin.setText("来源:" + mPresenter.getSearchBook().getOrigin()); + } else { + tvOrigin.setVisibility(View.GONE); + } + } + + Glide.with(this).load(coverUrl).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(ivCover); + Glide.with(this).load(coverUrl).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().bitmapTransform(new BlurTransformation(this, 6)).into(ivBlurCover); + tvName.setText(name); + tvAuthor.setText(author); + } + + @Override + protected void bindEvent() { + iflContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + finishAfterTransition(); + } else { + finish(); + } + } + }); + + tvRead.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //进入阅读 + Intent intent = new Intent(BookDetailActivity.this, ReadBookActivity.class); + intent.putExtra("from", ReadBookPresenterImpl.OPEN_FROM_APP); + String key = String.valueOf(System.currentTimeMillis()); + intent.putExtra("data_key", key); + try { + BitIntentDataManager.getInstance().putData(key, mPresenter.getBookShelf().clone()); + } catch (CloneNotSupportedException e) { + BitIntentDataManager.getInstance().putData(key, mPresenter.getBookShelf()); + e.printStackTrace(); + } + startActivityByAnim(intent, android.R.anim.fade_in, android.R.anim.fade_out); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + finishAfterTransition(); + } else { + finish(); + } + } + }); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/ChoiceBookActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/ChoiceBookActivity.java new file mode 100644 index 0000000000..379ee62a70 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/ChoiceBookActivity.java @@ -0,0 +1,198 @@ +package com.monke.monkeybook.view.impl; + +import android.content.Context; +import android.content.Intent; +import android.support.v7.widget.LinearLayoutManager; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageButton; +import android.widget.TextView; +import android.widget.Toast; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.presenter.IChoiceBookPresenter; +import com.monke.monkeybook.presenter.impl.BookDetailPresenterImpl; +import com.monke.monkeybook.presenter.impl.ChoiceBookPresenterImpl; +import com.monke.monkeybook.utils.NetworkUtil; +import com.monke.monkeybook.view.adapter.ChoiceBookAdapter; +import com.monke.monkeybook.view.IChoiceBookView; +import com.monke.monkeybook.widget.refreshview.BaseRefreshListener; +import com.monke.monkeybook.widget.refreshview.OnLoadMoreListener; +import com.monke.monkeybook.widget.refreshview.RefreshRecyclerView; +import java.util.List; + +public class ChoiceBookActivity extends MBaseActivity implements IChoiceBookView { + private ImageButton ivReturn; + private TextView tvTitle; + private RefreshRecyclerView rfRvSearchBooks; + private ChoiceBookAdapter searchBookAdapter; + + public static void startChoiceBookActivity(Context context,String title,String url){ + Intent intent = new Intent(context,ChoiceBookActivity.class); + intent.putExtra("url",url); + intent.putExtra("title",title); + context.startActivity(intent); + } + + @Override + protected IChoiceBookPresenter initInjector() { + return new ChoiceBookPresenterImpl(getIntent()); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_bookchoice); + } + + @Override + protected void initData() { + searchBookAdapter = new ChoiceBookAdapter(); + } + + @Override + protected void bindView() { + ivReturn = (ImageButton) findViewById(R.id.iv_return); + tvTitle = (TextView) findViewById(R.id.tv_title); + tvTitle.setText(mPresenter.getTitle()); + rfRvSearchBooks = (RefreshRecyclerView) findViewById(R.id.rfRv_search_books); + rfRvSearchBooks.setRefreshRecyclerViewAdapter(searchBookAdapter, new LinearLayoutManager(this)); + + View viewRefreshError = LayoutInflater.from(this).inflate(R.layout.view_searchbook_refresherror, null); + viewRefreshError.findViewById(R.id.tv_refresh_again).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + searchBookAdapter.replaceAll(null); + //刷新失败 ,重试 + mPresenter.initPage(); + mPresenter.toSearchBooks(null); + startRefreshAnim(); + } + }); + rfRvSearchBooks.setNoDataAndrRefreshErrorView(LayoutInflater.from(this).inflate(R.layout.view_searchbook_nodata, null), + viewRefreshError); + } + + @Override + protected void bindEvent() { + ivReturn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + searchBookAdapter.setItemClickListener(new ChoiceBookAdapter.OnItemClickListener() { + @Override + public void clickAddShelf(View clickView, int position, SearchBookBean searchBookBean) { + mPresenter.addBookToShelf(searchBookBean); + } + + @Override + public void clickItem(View animView, int position, SearchBookBean searchBookBean) { + Intent intent = new Intent(ChoiceBookActivity.this, BookDetailActivity.class); + intent.putExtra("from", BookDetailPresenterImpl.FROM_SEARCH); + intent.putExtra("data", searchBookBean); + startActivityByAnim(intent, animView, "img_cover", android.R.anim.fade_in, android.R.anim.fade_out); + } + }); + + rfRvSearchBooks.setBaseRefreshListener(new BaseRefreshListener() { + @Override + public void startRefresh() { + mPresenter.initPage(); + mPresenter.toSearchBooks(null); + startRefreshAnim(); + } + }); + rfRvSearchBooks.setLoadMoreListener(new OnLoadMoreListener() { + @Override + public void startLoadmore() { + mPresenter.toSearchBooks(null); + } + + @Override + public void loadMoreErrorTryAgain() { + mPresenter.toSearchBooks(null); + } + }); + } + + @Override + public void refreshSearchBook(List books) { + searchBookAdapter.replaceAll(books); + } + + @Override + public void refreshFinish(Boolean isAll) { + rfRvSearchBooks.finishRefresh(isAll, true); + } + + @Override + public void loadMoreFinish(Boolean isAll) { + rfRvSearchBooks.finishLoadMore(isAll, true); + } + + @Override + public void loadMoreSearchBook(final List books) { + searchBookAdapter.addAll(books); + } + + @Override + public void searchBookError() { + if (mPresenter.getPage() > 1) { + rfRvSearchBooks.loadMoreError(); + } else { + //刷新失败 + rfRvSearchBooks.refreshError(); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + @Override + public void addBookShelfSuccess(List datas) { + searchBookAdapter.notifyDataSetChanged(); + } + + @Override + public void addBookShelfFailed(int code) { + Toast.makeText(this, NetworkUtil.getErrorTip(code), Toast.LENGTH_SHORT).show(); + } + + @Override + public ChoiceBookAdapter getSearchBookAdapter() { + return searchBookAdapter; + } + + @Override + public void updateSearchItem(int index) { + int tempIndex = index; + if (tempIndex < searchBookAdapter.getItemcount()) { + int startIndex = ((LinearLayoutManager) rfRvSearchBooks.getRecyclerView().getLayoutManager()).findFirstVisibleItemPosition(); + TextView tvAddShelf = (TextView) ((ViewGroup) rfRvSearchBooks.getRecyclerView()).getChildAt(tempIndex - startIndex).findViewById(R.id.tv_addshelf); + if (tvAddShelf != null) { + if (searchBookAdapter.getSearchBooks().get(index).getAdd()) { + tvAddShelf.setText("已添加"); + tvAddShelf.setEnabled(false); + } else { + tvAddShelf.setText("+添加"); + tvAddShelf.setEnabled(true); + } + } + } + } + + @Override + public void startRefreshAnim() { + rfRvSearchBooks.startRefresh(); + } + + @Override + protected void firstRequest() { + super.firstRequest(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/ImportBookActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/ImportBookActivity.java new file mode 100644 index 0000000000..4df65f1b09 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/ImportBookActivity.java @@ -0,0 +1,220 @@ +package com.monke.monkeybook.view.impl; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.content.pm.PackageManager; +import android.os.Build; +import android.support.annotation.NonNull; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.KeyEvent; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.presenter.IImportBookPresenter; +import com.monke.monkeybook.presenter.impl.ImportBookPresenterImpl; +import com.monke.monkeybook.utils.PremissionCheck; +import com.monke.monkeybook.view.IImportBookView; +import com.monke.monkeybook.view.adapter.ImportBookAdapter; +import com.monke.monkeybook.widget.modialog.MoProgressHUD; +import com.victor.loading.rotate.RotateLoading; +import java.io.File; + +public class ImportBookActivity extends MBaseActivity implements IImportBookView { + private LinearLayout llContent; + private ImageButton ivReturn; + private TextView tvScan; + + private RotateLoading rlLoading; + private TextView tvCount; + + private TextView tvAddshelf; + + private RecyclerView rcvBooks; + + private ImportBookAdapter importBookAdapter; + + private Animation animIn; + private Animation animOut; + + private MoProgressHUD moProgressHUD; + @Override + protected IImportBookPresenter initInjector() { + return new ImportBookPresenterImpl(); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_importbook); + } + + @Override + protected void initData() { + animIn = AnimationUtils.loadAnimation(this, R.anim.anim_act_importbook_in); + animOut = AnimationUtils.loadAnimation(this, R.anim.anim_act_importbook_out); + + importBookAdapter = new ImportBookAdapter(new ImportBookAdapter.OnCheckBookListener() { + @Override + public void checkBook(int count) { + tvAddshelf.setVisibility(count == 0 ? View.INVISIBLE : View.VISIBLE); + } + }); + } + + @Override + protected void bindView() { + moProgressHUD = new MoProgressHUD(this); + + llContent = (LinearLayout) findViewById(R.id.ll_content); + ivReturn = (ImageButton) findViewById(R.id.iv_return); + tvScan = (TextView) findViewById(R.id.tv_scan); + + rlLoading = (RotateLoading) findViewById(R.id.rl_loading); + tvCount = (TextView) findViewById(R.id.tv_count); + + tvAddshelf = (TextView) findViewById(R.id.tv_addshelf); + + rcvBooks = (RecyclerView) findViewById(R.id.rcv_books); + rcvBooks.setAdapter(importBookAdapter); + rcvBooks.setLayoutManager(new LinearLayoutManager(this)); + } + + @Override + protected void bindEvent() { + tvScan.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !PremissionCheck.checkPremission(ImportBookActivity.this, + Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + //申请权限 + ImportBookActivity.this.requestPermissions( + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + 0x11); + } else { + mPresenter.searchLocationBook(); + tvScan.setVisibility(View.INVISIBLE); + rlLoading.start(); + } + } + }); + animOut.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + + } + + @Override + public void onAnimationEnd(Animation animation) { + ImportBookActivity.super.finish(); + overridePendingTransition(0, 0); + isExiting = false; + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + ivReturn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + + tvAddshelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //添加书籍 + moProgressHUD.showLoading("放入书架中..."); + mPresenter.importBooks(importBookAdapter.getSelectDatas()); + } + }); + } + + @Override + protected void firstRequest() { + llContent.startAnimation(animIn); + } + + private Boolean isExiting = false; + + @Override + public void finish() { + if (!isExiting) { + if(moProgressHUD.isShow()){ + moProgressHUD.dismiss(); + } + isExiting = true; + llContent.startAnimation(animOut); + } + } + + @Override + public void addNewBook(File newFile) { + importBookAdapter.addData(newFile); + tvCount.setText(String.format(getString(R.string.tv_importbook_count), String.valueOf(importBookAdapter.getItemCount()))); + } + + @Override + public void searchFinish() { + rlLoading.stop(); + rlLoading.setVisibility(View.INVISIBLE); + importBookAdapter.setCanCheck(true); + } + + @Override + public void addSuccess() { + moProgressHUD.dismiss(); + Toast.makeText(this,"添加书籍成功",Toast.LENGTH_SHORT).show(); + } + + @Override + public void addError() { + moProgressHUD.showInfo("放入书架失败!"); + } + + @SuppressLint("NewApi") + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + if(requestCode == 0x11){ + if (grantResults != null && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED && PremissionCheck.checkPremission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + mPresenter.searchLocationBook(); + tvScan.setVisibility(View.INVISIBLE); + rlLoading.start(); + }else{ + if (!this.shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)){ + moProgressHUD.showTwoButton("去系统设置打开SD卡读写权限?", "取消", new View.OnClickListener() { + @Override + public void onClick(View v) { + moProgressHUD.dismiss(); + } + }, "设置", new View.OnClickListener() { + @Override + public void onClick(View v) { + moProgressHUD.dismiss(); + PremissionCheck.requestPermissionSetting(ImportBookActivity.this); + } + }); + }else{ + Toast.makeText(this, "未获取SD卡读取权限", Toast.LENGTH_SHORT).show(); + } + } + } + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + Boolean a = moProgressHUD.onKeyDown(keyCode,event); + if(a) + return a; + return super.onKeyDown(keyCode, event); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/LibraryActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/LibraryActivity.java new file mode 100644 index 0000000000..0360dfd551 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/LibraryActivity.java @@ -0,0 +1,232 @@ +package com.monke.monkeybook.view.impl; + +import android.content.Intent; +import android.view.Gravity; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.bean.LibraryBean; +import com.monke.monkeybook.bean.LibraryNewBookBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.presenter.ILibraryPresenter; +import com.monke.monkeybook.presenter.impl.BookDetailPresenterImpl; +import com.monke.monkeybook.presenter.impl.LibraryPresenterImpl; +import com.monke.monkeybook.utils.DensityUtil; +import com.monke.monkeybook.view.ILibraryView; +import com.monke.monkeybook.widget.libraryview.LibraryNewBooksView; +import com.monke.monkeybook.widget.libraryview.LibraryKindBookListView; +import com.monke.monkeybook.widget.refreshview.BaseRefreshListener; +import com.monke.monkeybook.widget.refreshview.RefreshProgressBar; +import com.monke.monkeybook.widget.refreshview.RefreshScrollView; +import java.util.Iterator; +import java.util.Map; + +public class LibraryActivity extends MBaseActivity implements ILibraryView { + private RefreshScrollView rscvContent; + private RefreshProgressBar rpbProgress; + + private LinearLayout llContent; + private ImageButton ibReturn; + private FrameLayout flSearch; + + private Animation animIn; + private Animation animOut; + + private LinearLayout kindLl; + + private LibraryNewBooksView lavHotauthor; + private LibraryKindBookListView lkbvKindbooklist; + + @Override + protected ILibraryPresenter initInjector() { + return new LibraryPresenterImpl(); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_library); + } + + @Override + protected void firstRequest() { + llContent.startAnimation(animIn); + } + + @Override + protected void initData() { + animIn = AnimationUtils.loadAnimation(this, R.anim.anim_act_importbook_in); + animOut = AnimationUtils.loadAnimation(this, R.anim.anim_act_importbook_out); + } + + @Override + protected void bindView() { + rscvContent = (RefreshScrollView) findViewById(R.id.rscv_content); + rpbProgress = (RefreshProgressBar) findViewById(R.id.rpb_progress); + rscvContent.setRpb(rpbProgress); + + llContent = (LinearLayout) findViewById(R.id.ll_content); + ibReturn = (ImageButton) findViewById(R.id.ib_return); + flSearch = (FrameLayout) findViewById(R.id.fl_search); + + kindLl = (LinearLayout) findViewById(R.id.kind_ll); + initKind(); + + lavHotauthor = (LibraryNewBooksView) findViewById(R.id.lav_hotauthor); + lkbvKindbooklist = (LibraryKindBookListView) findViewById(R.id.lkbv_kindbooklist); + } + + private void initKind() { + int columnCout = 4; + Iterator iterator = mPresenter.getKinds().entrySet().iterator(); + int temp = 0; + LinearLayout.LayoutParams l = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); + LinearLayout linearLayout = null; + LinearLayout.LayoutParams tvLp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); + tvLp.weight = 1; + while (iterator.hasNext()) { + final Map.Entry resultTemp = (Map.Entry) iterator.next(); + if (temp % columnCout == 0) { + linearLayout = new LinearLayout(this); + linearLayout.setLayoutParams(l); + linearLayout.setOrientation(LinearLayout.HORIZONTAL); + kindLl.addView(linearLayout); + } + TextView textView = new TextView(this); + textView.setLayoutParams(tvLp); + textView.setText(resultTemp.getKey()); + textView.setGravity(Gravity.CENTER); + textView.setTextSize(14); + textView.setPadding(0, DensityUtil.dp2px(this, 5), 0, DensityUtil.dp2px(this, 5)); + textView.setLines(1); + textView.setTextColor(getResources().getColorStateList(R.color.selector_kind_tv_color)); + textView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ChoiceBookActivity.startChoiceBookActivity(LibraryActivity.this, resultTemp.getKey(),resultTemp.getValue()); + } + }); + linearLayout.addView(textView); + temp++; + } + int viewCount = mPresenter.getKinds().size() % columnCout == 0?0:(columnCout-mPresenter.getKinds().size() % columnCout); + for(int i=0;i implements IMainView { + private ImageButton ibMoney; + private ImageButton ibLibrary; + private ImageButton ibAdd; + private ImageButton ibDownload; + + private RefreshRecyclerView rfRvShelf; + private BookShelfAdapter bookShelfAdapter; + + private FrameLayout flWarn; + private ImageView ivWarnClose; + + private DownloadListPop downloadListPop; + + @Override + protected IMainPresenter initInjector() { + return new MainPresenterImpl(); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_main); + } + + @Override + protected void initData() { + bookShelfAdapter = new BookShelfAdapter(); + } + + @Override + protected void bindView() { + downloadListPop = new DownloadListPop(this); + + rfRvShelf = (RefreshRecyclerView) findViewById(R.id.rf_rv_shelf); + + ibMoney = (ImageButton) findViewById(R.id.ib_money); + ibLibrary = (ImageButton) findViewById(R.id.ib_library); + ibAdd = (ImageButton) findViewById(R.id.ib_add); + ibDownload = (ImageButton) findViewById(R.id.ib_download); + + rfRvShelf.setRefreshRecyclerViewAdapter(bookShelfAdapter, new LinearLayoutManager(this)); + + flWarn = (FrameLayout) findViewById(R.id.fl_warn); + ivWarnClose = (ImageView) findViewById(R.id.iv_warn_close); + } + + @Override + protected void bindEvent() { + bindRvShelfEvent(); + ibDownload.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + downloadListPop.showAsDropDown(ibDownload); + } + }); + ibMoney.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //点击打赏 + } + }); + ibLibrary.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivityByAnim(new Intent(MainActivity.this, LibraryActivity.class), 0, 0); + } + }); + ibAdd.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //点击更多 + startActivityByAnim(new Intent(MainActivity.this, ImportBookActivity.class), 0, 0); + } + }); + bookShelfAdapter.setItemClickListener(new BookShelfAdapter.OnItemClickListener() { + @Override + public void toSearch() { + //点击去选书 + startActivityByAnim(new Intent(MainActivity.this, LibraryActivity.class), 0, 0); + } + + @Override + public void onClick(BookShelfBean bookShelfBean, int index) { + Intent intent = new Intent(MainActivity.this, ReadBookActivity.class); + intent.putExtra("from", ReadBookPresenterImpl.OPEN_FROM_APP); + String key = String.valueOf(System.currentTimeMillis()); + intent.putExtra("data_key", key); + try { + BitIntentDataManager.getInstance().putData(key, bookShelfBean.clone()); + } catch (CloneNotSupportedException e) { + BitIntentDataManager.getInstance().putData(key, bookShelfBean); + e.printStackTrace(); + } + startActivityByAnim(intent, android.R.anim.fade_in, android.R.anim.fade_out); + } + + @Override + public void onLongClick(View animView, BookShelfBean bookShelfBean, int index) { + Intent intent = new Intent(MainActivity.this, BookDetailActivity.class); + intent.putExtra("from", BookDetailPresenterImpl.FROM_BOOKSHELF); + String key = String.valueOf(System.currentTimeMillis()); + intent.putExtra("data_key", key); + BitIntentDataManager.getInstance().putData(key, bookShelfBean); + startActivityByAnim(intent, animView, "img_cover", android.R.anim.fade_in, android.R.anim.fade_out); + } + }); + + ivWarnClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + flWarn.setVisibility(View.GONE); + } + }); + } + + private void bindRvShelfEvent() { + rfRvShelf.setBaseRefreshListener(new OnRefreshWithProgressListener() { + @Override + public int getMaxProgress() { + return bookShelfAdapter.getBooks().size(); + } + + @Override + public void startRefresh() { + mPresenter.queryBookShelf(true); + } + }); + } + + @Override + protected void firstRequest() { + //通过百度API 判断是否有更新 + try{ + BDAutoUpdateSDK.uiUpdateAction(this, new UICheckUpdateCallback() { + @Override + public void onNoUpdateFound() { + + } + + @Override + public void onCheckComplete() { + + } + }); + }catch (Exception e){ + e.printStackTrace(); + } + mPresenter.queryBookShelf(false); + } + + @Override + public void refreshBookShelf(List bookShelfBeanList) { + bookShelfAdapter.replaceAll(bookShelfBeanList); + } + + @Override + public void activityRefreshView() { + //执行刷新响应 + rfRvShelf.startRefresh(); + } + + @Override + public void refreshFinish() { + rfRvShelf.finishRefresh(false, true); + } + + @Override + public void refreshError(String error) { + refreshFinish(); + Toast.makeText(this, error, Toast.LENGTH_SHORT).show(); + } + + @Override + public List getBookShelfAdapterDatas() { + return bookShelfAdapter.getBooks(); + } + + @Override + public void refreshRecyclerViewItemAdd() { + rfRvShelf.getRpb().setDurProgress(rfRvShelf.getRpb().getDurProgress() + 1); + } + + @Override + public void setRecyclerMaxProgress(int x) { + rfRvShelf.getRpb().setMaxProgress(x); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + exit(); + return true; + } + return super.onKeyDown(keyCode, event); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + downloadListPop.onDestroy(); + } + + private long exitTime = 0; + + public void exit() { + if ((System.currentTimeMillis() - exitTime) > 2000) { + Toast.makeText(getApplicationContext(), "再按一次退出程序", + Toast.LENGTH_SHORT).show(); + exitTime = System.currentTimeMillis(); + } else { + finish(); + System.exit(0); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/ReadBookActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/ReadBookActivity.java new file mode 100644 index 0000000000..7484b7fdbc --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/ReadBookActivity.java @@ -0,0 +1,566 @@ +package com.monke.monkeybook.view.impl; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.graphics.Paint; +import android.os.Build; +import android.os.Handler; +import android.support.annotation.NonNull; +import android.view.Gravity; +import android.view.KeyEvent; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.hwangjr.rxbus.RxBus; +import com.monke.basemvplib.AppActivityManager; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.bean.DownloadChapterBean; +import com.monke.monkeybook.bean.DownloadChapterListBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.presenter.IBookReadPresenter; +import com.monke.monkeybook.presenter.impl.ReadBookPresenterImpl; +import com.monke.monkeybook.utils.DensityUtil; +import com.monke.monkeybook.utils.PremissionCheck; +import com.monke.monkeybook.view.IBookReadView; +import com.monke.monkeybook.view.popupwindow.ReadBookMenuMorePop; +import com.monke.monkeybook.widget.ChapterListView; +import com.monke.monkeybook.view.popupwindow.CheckAddShelfPop; +import com.monke.monkeybook.view.popupwindow.FontPop; +import com.monke.monkeybook.view.popupwindow.MoreSettingPop; +import com.monke.monkeybook.view.popupwindow.WindowLightPop; +import com.monke.monkeybook.widget.contentswitchview.BookContentView; +import com.monke.monkeybook.widget.contentswitchview.ContentSwitchView; +import com.monke.monkeybook.widget.modialog.MoProgressHUD; +import com.monke.mprogressbar.MHorProgressBar; +import com.monke.mprogressbar.OnProgressListener; + +import java.util.ArrayList; +import java.util.List; + +import me.grantland.widget.AutofitTextView; + +public class ReadBookActivity extends MBaseActivity implements IBookReadView { + + private FrameLayout flContent; + + private ContentSwitchView csvBook; + + //主菜单 + private FrameLayout flMenu; + private View vMenuBg; + private LinearLayout llMenuTop; + private LinearLayout llMenuBottom; + private ImageButton ivReturn; + private ImageView ivMenuMore; + private AutofitTextView atvTitle; + private TextView tvPre; + private TextView tvNext; + private MHorProgressBar hpbReadProgress; + private LinearLayout llCatalog; + private LinearLayout llLight; + private LinearLayout llFont; + private LinearLayout llSetting; + //主菜单动画 + private Animation menuTopIn; + private Animation menuTopOut; + private Animation menuBottomIn; + private Animation menuBottomOut; + + private CheckAddShelfPop checkAddShelfPop; + private ChapterListView chapterListView; + private WindowLightPop windowLightPop; + private ReadBookMenuMorePop readBookMenuMorePop; + private FontPop fontPop; + private MoreSettingPop moreSettingPop; + + private MoProgressHUD moProgressHUD; + + @Override + protected IBookReadPresenter initInjector() { + return new ReadBookPresenterImpl(); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_bookread); + } + + @Override + protected void initData() { + mPresenter.saveProgress(); + menuTopIn = AnimationUtils.loadAnimation(this, R.anim.anim_readbook_top_in); + menuTopIn.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + } + + @Override + public void onAnimationEnd(Animation animation) { + vMenuBg.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + } + }); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + menuBottomIn = AnimationUtils.loadAnimation(this, R.anim.anim_readbook_bottom_in); + + menuTopOut = AnimationUtils.loadAnimation(this, R.anim.anim_readbook_top_out); + menuTopOut.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + vMenuBg.setOnClickListener(null); + } + + @Override + public void onAnimationEnd(Animation animation) { + flMenu.setVisibility(View.INVISIBLE); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + menuBottomOut = AnimationUtils.loadAnimation(this, R.anim.anim_readbook_bottom_out); + } + + @Override + protected void bindView() { + moProgressHUD = new MoProgressHUD(this); + + flContent = (FrameLayout) findViewById(R.id.fl_content); + csvBook = (ContentSwitchView) findViewById(R.id.csv_book); + initCsvBook(); + + flMenu = (FrameLayout) findViewById(R.id.fl_menu); + vMenuBg = findViewById(R.id.v_menu_bg); + llMenuTop = (LinearLayout) findViewById(R.id.ll_menu_top); + llMenuBottom = (LinearLayout) findViewById(R.id.ll_menu_bottom); + ivReturn = (ImageButton) findViewById(R.id.iv_return); + ivMenuMore = (ImageView) findViewById(R.id.iv_more); + atvTitle = (AutofitTextView) findViewById(R.id.atv_title); + + tvPre = (TextView) findViewById(R.id.tv_pre); + tvNext = (TextView) findViewById(R.id.tv_next); + hpbReadProgress = (MHorProgressBar) findViewById(R.id.hpb_read_progress); + llCatalog = (LinearLayout) findViewById(R.id.ll_catalog); + llLight = (LinearLayout) findViewById(R.id.ll_light); + llFont = (LinearLayout) findViewById(R.id.ll_font); + llSetting = (LinearLayout) findViewById(R.id.ll_setting); + + chapterListView = (ChapterListView) findViewById(R.id.clp_chapterlist); + } + + @Override + public void setHpbReadProgressMax(int count) { + hpbReadProgress.setMaxProgress(count); + } + + private void initCsvBook() { + csvBook.bookReadInit(new ContentSwitchView.OnBookReadInitListener() { + @Override + public void success() { + mPresenter.initData(ReadBookActivity.this); + } + }); + } + + @Override + public void initPop() { + checkAddShelfPop = new CheckAddShelfPop(this, mPresenter.getBookShelf().getBookInfoBean().getName(), new CheckAddShelfPop.OnItemClickListener() { + @Override + public void clickExit() { + finish(); + } + + @Override + public void clickAddShelf() { + mPresenter.addToShelf(null); + checkAddShelfPop.dismiss(); + } + }); + chapterListView.setData(mPresenter.getBookShelf(), new ChapterListView.OnItemClickListener() { + @Override + public void itemClick(int index) { + csvBook.setInitData(index, mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size(), BookContentView.DURPAGEINDEXBEGIN); + } + }); + + windowLightPop = new WindowLightPop(this); + windowLightPop.initLight(); + + fontPop = new FontPop(this, new FontPop.OnChangeProListener() { + @Override + public void textChange(int index) { + csvBook.changeTextSize(); + } + + @Override + public void bgChange(int index) { + csvBook.changeBg(); + } + }); + + readBookMenuMorePop = new ReadBookMenuMorePop(this); + readBookMenuMorePop.setOnClickDownload(new View.OnClickListener() { + @Override + public void onClick(View v) { + readBookMenuMorePop.dismiss(); + if (flMenu.getVisibility() == View.VISIBLE) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + } + //弹出离线下载界面 + int endIndex = mPresenter.getBookShelf().getDurChapter() + 50; + if (endIndex >= mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size()) { + endIndex = mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size() - 1; + } + moProgressHUD.showDownloadList(mPresenter.getBookShelf().getDurChapter(), endIndex, mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size(), new MoProgressHUD.OnClickDownload() { + @Override + public void download(final int start, final int end) { + moProgressHUD.dismiss(); + mPresenter.addToShelf(new ReadBookPresenterImpl.OnAddListner() { + @Override + public void addSuccess() { + List result = new ArrayList(); + for (int i = start; i <= end; i++) { + DownloadChapterBean item = new DownloadChapterBean(); + item.setNoteUrl(mPresenter.getBookShelf().getNoteUrl()); + item.setDurChapterIndex(mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(i).getDurChapterIndex()); + item.setDurChapterName(mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(i).getDurChapterName()); + item.setDurChapterUrl(mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(i).getDurChapterUrl()); + item.setTag(mPresenter.getBookShelf().getTag()); + item.setBookName(mPresenter.getBookShelf().getBookInfoBean().getName()); + item.setCoverUrl(mPresenter.getBookShelf().getBookInfoBean().getCoverUrl()); + result.add(item); + } + RxBus.get().post(RxBusTag.ADD_DOWNLOAD_TASK, new DownloadChapterListBean(result)); + } + }); + + } + }); + } + }); + + moreSettingPop = new MoreSettingPop(this); + } + + @Override + protected void bindEvent() { + hpbReadProgress.setProgressListener(new OnProgressListener() { + @Override + public void moveStartProgress(float dur) { + + } + + @Override + public void durProgressChange(float dur) { + + } + + @Override + public void moveStopProgress(float dur) { + int realDur = (int) Math.ceil(dur); + if (realDur < 1) { + realDur = 1; + } + if ((realDur - 1) != mPresenter.getBookShelf().getDurChapter()) { + csvBook.setInitData(realDur - 1, mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size(), BookContentView.DURPAGEINDEXBEGIN); + } + if (hpbReadProgress.getDurProgress() != realDur) + hpbReadProgress.setDurProgress(realDur); + } + + @Override + public void setDurProgress(float dur) { + if (hpbReadProgress.getMaxProgress() == 1) { + tvPre.setEnabled(false); + tvNext.setEnabled(false); + } else { + if (dur == 1) { + tvPre.setEnabled(false); + tvNext.setEnabled(true); + } else if (dur == hpbReadProgress.getMaxProgress()) { + tvPre.setEnabled(true); + tvNext.setEnabled(false); + } else { + tvPre.setEnabled(true); + tvNext.setEnabled(true); + } + } + } + }); + ivReturn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + ivMenuMore.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + readBookMenuMorePop.showAsDropDown(ivMenuMore, 0, DensityUtil.dp2px(ReadBookActivity.this, -3.5f)); + } + }); + csvBook.setLoadDataListener(new ContentSwitchView.LoadDataListener() { + @Override + public void loaddata(BookContentView bookContentView, long qtag, int chapterIndex, int pageIndex) { + mPresenter.loadContent(bookContentView, qtag, chapterIndex, pageIndex); + } + + @Override + public void updateProgress(int chapterIndex, int pageIndex) { + mPresenter.updateProgress(chapterIndex, pageIndex); + + if (mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size() > 0) + atvTitle.setText(mPresenter.getBookShelf().getBookInfoBean().getChapterlist().get(mPresenter.getBookShelf().getDurChapter()).getDurChapterName()); + else + atvTitle.setText("无章节"); + if (hpbReadProgress.getDurProgress() != chapterIndex + 1) + hpbReadProgress.setDurProgress(chapterIndex + 1); + } + + @Override + public String getChapterTitle(int chapterIndex) { + return mPresenter.getChapterTitle(chapterIndex); + } + + @Override + public void initData(int lineCount) { + mPresenter.setPageLineCount(lineCount); + mPresenter.initContent(); + } + + @Override + public void showMenu() { + flMenu.setVisibility(View.VISIBLE); + llMenuTop.startAnimation(menuTopIn); + llMenuBottom.startAnimation(menuBottomIn); + } + }); + + tvPre.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + csvBook.setInitData(mPresenter.getBookShelf().getDurChapter() - 1, mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size(), BookContentView.DURPAGEINDEXBEGIN); + } + }); + tvNext.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + csvBook.setInitData(mPresenter.getBookShelf().getDurChapter() + 1, mPresenter.getBookShelf().getBookInfoBean().getChapterlist().size(), BookContentView.DURPAGEINDEXBEGIN); + } + }); + + llCatalog.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + chapterListView.show(mPresenter.getBookShelf().getDurChapter()); + } + }, menuTopOut.getDuration()); + } + }); + + llLight.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + windowLightPop.showAtLocation(flContent, Gravity.BOTTOM, 0, 0); + } + }, menuTopOut.getDuration()); + } + }); + + llFont.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + fontPop.showAtLocation(flContent, Gravity.BOTTOM, 0, 0); + } + }, menuTopOut.getDuration()); + } + }); + + llSetting.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + moreSettingPop.showAtLocation(flContent, Gravity.BOTTOM, 0, 0); + } + }, menuTopOut.getDuration()); + } + }); + } + + @Override + public Paint getPaint() { + return csvBook.getTextPaint(); + } + + @Override + public int getContentWidth() { + return csvBook.getContentWidth(); + } + + @Override + public void initContentSuccess(int durChapterIndex, int chapterAll, int durPageIndex) { + csvBook.setInitData(durChapterIndex, chapterAll, durPageIndex); + } + + @Override + public void startLoadingBook() { + csvBook.startLoading(); + } + + @Override + protected void onPause() { + super.onPause(); + mPresenter.saveProgress(); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + Boolean mo = moProgressHUD.onKeyDown(keyCode, event); + if (mo) + return mo; + else { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (flMenu.getVisibility() == View.VISIBLE) { + llMenuTop.startAnimation(menuTopOut); + llMenuBottom.startAnimation(menuBottomOut); + return true; + } else if (!mPresenter.getAdd() && checkAddShelfPop != null && !checkAddShelfPop.isShowing()) { + checkAddShelfPop.showAtLocation(flContent, Gravity.CENTER, 0, 0); + return true; + } else { + Boolean temp2 = chapterListView.dimissChapterList(); + if (temp2) + return true; + else { + finish(); + return true; + } + } + } else { + Boolean temp = csvBook.onKeyDown(keyCode, event); + if (temp) + return true; + } + return super.onKeyDown(keyCode, event); + } + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + Boolean temp = csvBook.onKeyUp(keyCode, event); + if (temp) + return true; + return super.onKeyUp(keyCode, event); + } + + @Override + public void showLoadBook() { + moProgressHUD.showLoading("文本导入中..."); + } + + @Override + public void dimissLoadBook() { + moProgressHUD.dismiss(); + } + + @Override + public void loadLocationBookError() { + csvBook.loadError(); + } + + @Override + public void showDownloadMenu() { + ivMenuMore.setVisibility(View.VISIBLE); + } + + private Boolean showCheckPremission = false; + + @SuppressLint("NewApi") + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + if (requestCode == 0x11) { + if (grantResults != null && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED && PremissionCheck.checkPremission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + mPresenter.openBookFromOther(ReadBookActivity.this); + } else { + if (!this.shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) { + showCheckPremission = true; + moProgressHUD.showTwoButton("去系统设置打开SD卡读写权限?", "取消", new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }, "设置", new View.OnClickListener() { + @Override + public void onClick(View v) { + PremissionCheck.requestPermissionSetting(ReadBookActivity.this); + } + }); + } else { + Toast.makeText(this, "未获取SD卡读取权限", Toast.LENGTH_SHORT).show(); + } + } + } + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + + @Override + protected void onResume() { + super.onResume(); + if (showCheckPremission && mPresenter.getOpen_from() == ReadBookPresenterImpl.OPEN_FROM_OTHER && !(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !PremissionCheck.checkPremission(this, + Manifest.permission.WRITE_EXTERNAL_STORAGE))) { + showCheckPremission = true; + mPresenter.openBookFromOther(this); + } + } + + @Override + public void finish() { + if (!AppActivityManager.getInstance().isExist(MainActivity.class)) { + Intent intent = new Intent(this, MainActivity.class); + startActivity(intent); + } + super.finish(); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/SearchActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/SearchActivity.java new file mode 100644 index 0000000000..efc93110cc --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/SearchActivity.java @@ -0,0 +1,526 @@ +package com.monke.monkeybook.view.impl; + +import android.animation.Animator; +import android.content.Context; +import android.content.Intent; +import android.graphics.Rect; +import android.os.Build; +import android.os.Handler; +import android.support.v7.widget.LinearLayoutManager; +import android.text.Editable; +import android.text.TextWatcher; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewAnimationUtils; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.InputMethodManager; +import android.widget.EditText; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; +import com.daimajia.androidanimations.library.Techniques; +import com.daimajia.androidanimations.library.YoYo; +import com.monke.immerselayout.StatusBarUtils; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.bean.SearchHistoryBean; +import com.monke.monkeybook.presenter.ISearchPresenter; +import com.monke.monkeybook.presenter.impl.BookDetailPresenterImpl; +import com.monke.monkeybook.presenter.impl.SearchPresenterImpl; +import com.monke.monkeybook.utils.NetworkUtil; +import com.monke.monkeybook.view.ISearchView; +import com.monke.monkeybook.view.adapter.SearchBookAdapter; +import com.monke.monkeybook.view.adapter.SearchHistoryAdapter; +import com.monke.monkeybook.widget.flowlayout.TagFlowLayout; +import com.monke.monkeybook.widget.refreshview.OnLoadMoreListener; +import com.monke.monkeybook.widget.refreshview.RefreshRecyclerView; +import java.util.List; +import tyrantgit.explosionfield.ExplosionField; + +public class SearchActivity extends MBaseActivity implements ISearchView { + private FrameLayout flSearchContent; + private EditText edtContent; + private TextView tvTosearch; + + private LinearLayout llSearchHistory; + private TextView tvSearchHistoryClean; + private TagFlowLayout tflSearchHistory; + private SearchHistoryAdapter searchHistoryAdapter; + private Animation animHistory; + private Animator animHistory5; + private ExplosionField explosionField; + + private RefreshRecyclerView rfRvSearchBooks; + private SearchBookAdapter searchBookAdapter; + + @Override + protected ISearchPresenter initInjector() { + return new SearchPresenterImpl(); + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_search); + } + + @Override + protected void initData() { + + explosionField = ExplosionField.attach2Window(this); + searchHistoryAdapter = new SearchHistoryAdapter(); + + searchBookAdapter = new SearchBookAdapter(); + } + + @Override + protected void bindView() { + flSearchContent = (FrameLayout) findViewById(R.id.fl_search_content); + edtContent = (EditText) findViewById(R.id.edt_content); + tvTosearch = (TextView) findViewById(R.id.tv_tosearch); + + llSearchHistory = (LinearLayout) findViewById(R.id.ll_search_history); + tvSearchHistoryClean = (TextView) findViewById(R.id.tv_search_history_clean); + tflSearchHistory = (TagFlowLayout) findViewById(R.id.tfl_search_history); + tflSearchHistory.setAdapter(searchHistoryAdapter); + + rfRvSearchBooks = (RefreshRecyclerView) findViewById(R.id.rfRv_search_books); + rfRvSearchBooks.setRefreshRecyclerViewAdapter(searchBookAdapter, new LinearLayoutManager(this)); + + View viewRefreshError = LayoutInflater.from(this).inflate(R.layout.view_searchbook_refresherror, null); + viewRefreshError.findViewById(R.id.tv_refresh_again).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //刷新失败 ,重试 + mPresenter.initPage(); + mPresenter.toSearchBooks(null); + rfRvSearchBooks.startRefresh(); + } + }); + rfRvSearchBooks.setNoDataAndrRefreshErrorView(LayoutInflater.from(this).inflate(R.layout.view_searchbook_nodata, null), + viewRefreshError); + + searchBookAdapter.setItemClickListener(new SearchBookAdapter.OnItemClickListener() { + @Override + public void clickAddShelf(View clickView, int position, SearchBookBean searchBookBean) { + mPresenter.addBookToShelf(searchBookBean); + } + + @Override + public void clickItem(View animView, int position, SearchBookBean searchBookBean) { + Intent intent = new Intent(SearchActivity.this, BookDetailActivity.class); + intent.putExtra("from", BookDetailPresenterImpl.FROM_SEARCH); + intent.putExtra("data", searchBookBean); + startActivityByAnim(intent, animView, "img_cover", android.R.anim.fade_in, android.R.anim.fade_out); + } + }); + } + + @Override + protected void bindEvent() { + + tvSearchHistoryClean.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + for (int i = 0; i < tflSearchHistory.getChildCount(); i++) { + explosionField.explode(tflSearchHistory.getChildAt(i)); + } + mPresenter.cleanSearchHistory(); + } + }); + edtContent.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + edtContent.setSelection(edtContent.length()); + checkTvToSearch(); + mPresenter.querySearchHistory(); + } + }); + edtContent.setOnEditorActionListener(new TextView.OnEditorActionListener() { + @Override + public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { + if (actionId == EditorInfo.IME_ACTION_SEARCH || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { + toSearch(); + return true; + } else + return false; + } + }); + tvTosearch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!mPresenter.getInput()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + finishAfterTransition(); + } else { + finish(); + } + } else { + //搜索 + toSearch(); + } + } + }); + + searchHistoryAdapter.setOnItemClickListener(new SearchHistoryAdapter.OnItemClickListener() { + @Override + public void itemClick(SearchHistoryBean searchHistoryBean) { + edtContent.setText(searchHistoryBean.getContent()); + toSearch(); + } + }); + + bindKeyBoardEvent(); + + rfRvSearchBooks.setLoadMoreListener(new OnLoadMoreListener() { + @Override + public void startLoadmore() { + mPresenter.toSearchBooks(null); + } + + @Override + public void loadMoreErrorTryAgain() { + mPresenter.toSearchBooks(null); + } + }); + } + + @Override + protected void firstRequest() { + super.firstRequest(); + mPresenter.querySearchHistory(); + } + + //开始搜索 + private void toSearch() { + if (edtContent.getText().toString().trim().length() > 0) { + final String key = edtContent.getText().toString().trim(); + mPresenter.setHasSearch(true); + mPresenter.insertSearchHistory(); + closeKeyBoard(); + //执行搜索请求 + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + mPresenter.initPage(); + mPresenter.toSearchBooks(key); + rfRvSearchBooks.startRefresh(); + } + }, 300); + } else { + YoYo.with(Techniques.Shake).playOn(flSearchContent); + } + } + + private void bindKeyBoardEvent() { + llSearchHistory.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + Rect r = new Rect(); + llSearchHistory.getWindowVisibleDisplayFrame(r); + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) llSearchHistory.getLayoutParams(); + + int height = llSearchHistory.getContext().getResources().getDisplayMetrics().heightPixels; + int diff = height - r.bottom; + if (diff != 0 && Math.abs(diff) != StatusBarUtils.getNavi_height()) { + if (layoutParams.bottomMargin != diff) { + layoutParams.setMargins(0, 0, 0, Math.abs(diff)); + llSearchHistory.setLayoutParams(layoutParams); + //打开输入 + if (llSearchHistory.getVisibility() != View.VISIBLE) + openOrCloseHistory(true); + } + } else { + if (layoutParams.bottomMargin != 0) { + if (!mPresenter.getHasSearch()) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + finishAfterTransition(); + } else { + finish(); + } + } else { + layoutParams.setMargins(0, 0, 0, 0); + llSearchHistory.setLayoutParams(layoutParams); + //关闭输入 + if (llSearchHistory.getVisibility() == View.VISIBLE) + openOrCloseHistory(false); + } + } + } + } + }); + + getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + openKeyBoard(); + } + }, 100); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + getWindow().getDecorView().getViewTreeObserver().removeOnGlobalLayoutListener(this); + } else + getWindow().getDecorView().getViewTreeObserver().removeGlobalOnLayoutListener(this); + } + }); + } + + private void checkTvToSearch() { + if (llSearchHistory.getVisibility() == View.VISIBLE) { + tvTosearch.setText("搜索"); + mPresenter.setInput(true); + } else { + tvTosearch.setText("返回"); + mPresenter.setInput(false); + } + } + + private void openOrCloseHistory(Boolean open) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (null != animHistory5) { + animHistory5.cancel(); + } + if (open) { + animHistory5 = ViewAnimationUtils.createCircularReveal( + llSearchHistory, + 0, 0, 0, + (float) Math.hypot(llSearchHistory.getWidth(), llSearchHistory.getHeight())); + animHistory5.setInterpolator(new AccelerateDecelerateInterpolator()); + animHistory5.setDuration(700); + animHistory5.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + llSearchHistory.setVisibility(View.VISIBLE); + edtContent.setCursorVisible(true); + checkTvToSearch(); + } + + @Override + public void onAnimationEnd(Animator animation) { + if (rfRvSearchBooks.getVisibility() != View.VISIBLE) + rfRvSearchBooks.setVisibility(View.VISIBLE); + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }); + animHistory5.start(); + } else { + animHistory5 = ViewAnimationUtils.createCircularReveal( + llSearchHistory, + 0, 0, (float) Math.hypot(llSearchHistory.getHeight(), llSearchHistory.getHeight()), + 0); + animHistory5.setInterpolator(new AccelerateDecelerateInterpolator()); + animHistory5.setDuration(300); + animHistory5.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + llSearchHistory.setVisibility(View.GONE); + edtContent.setCursorVisible(false); + checkTvToSearch(); + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }); + animHistory5.start(); + } + } else { + if (null != animHistory) { + animHistory.cancel(); + } + if (open) { + animHistory = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); + animHistory.setInterpolator(new AccelerateDecelerateInterpolator()); + animHistory.setDuration(700); + animHistory.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + llSearchHistory.setVisibility(View.VISIBLE); + edtContent.setCursorVisible(true); + checkTvToSearch(); + } + + @Override + public void onAnimationEnd(Animation animation) { + if (rfRvSearchBooks.getVisibility() != View.VISIBLE) + rfRvSearchBooks.setVisibility(View.VISIBLE); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + llSearchHistory.startAnimation(animHistory); + } else { + animHistory = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); + animHistory.setInterpolator(new AccelerateDecelerateInterpolator()); + animHistory.setDuration(300); + animHistory.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + } + + @Override + public void onAnimationEnd(Animation animation) { + llSearchHistory.setVisibility(View.GONE); + edtContent.setCursorVisible(false); + checkTvToSearch(); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + llSearchHistory.startAnimation(animHistory); + } + } + } + + private void closeKeyBoard() { + InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(edtContent.getWindowToken(), 0); + } + + private void openKeyBoard() { + InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + edtContent.requestFocus(); + imm.showSoftInput(edtContent, InputMethodManager.RESULT_UNCHANGED_SHOWN); + } + + @Override + public void insertSearchHistorySuccess(SearchHistoryBean searchHistoryBean) { + //搜索历史插入或者修改成功 + mPresenter.querySearchHistory(); + } + + @Override + public void querySearchHistorySuccess(List datas) { + searchHistoryAdapter.replaceAll(datas); + if (searchHistoryAdapter.getDataSize() > 0) { + tvSearchHistoryClean.setVisibility(View.VISIBLE); + } else { + tvSearchHistoryClean.setVisibility(View.INVISIBLE); + } + } + + @Override + public void refreshSearchBook(List books) { + searchBookAdapter.replaceAll(books); + } + + @Override + public void refreshFinish(Boolean isAll) { + rfRvSearchBooks.finishRefresh(isAll, true); + } + + @Override + public void loadMoreFinish(Boolean isAll) { + rfRvSearchBooks.finishLoadMore(isAll, true); + } + + @Override + public void searchBookError(Boolean isRefresh) { + if (isRefresh) { + rfRvSearchBooks.refreshError(); + } else { + + rfRvSearchBooks.loadMoreError(); + } + } + + @Override + public void loadMoreSearchBook(final List books) { + searchBookAdapter.addAll(books); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + explosionField.clear(); + } + + @Override + public EditText getEdtContent() { + return edtContent; + } + + @Override + public void addBookShelfFailed(int code) { + Toast.makeText(this, NetworkUtil.getErrorTip(code), Toast.LENGTH_SHORT).show(); + } + + @Override + public SearchBookAdapter getSearchBookAdapter() { + return searchBookAdapter; + } + + @Override + public void updateSearchItem(int index) { + if (index < searchBookAdapter.getItemcount()) { + int startIndex = ((LinearLayoutManager) rfRvSearchBooks.getRecyclerView().getLayoutManager()).findFirstVisibleItemPosition(); + TextView tvAddShelf = (TextView) ((ViewGroup) rfRvSearchBooks.getRecyclerView()).getChildAt(index - startIndex).findViewById(R.id.tv_addshelf); + if (tvAddShelf != null) { + if (searchBookAdapter.getSearchBooks().get(index).getAdd()) { + tvAddShelf.setText("已添加"); + tvAddShelf.setEnabled(false); + } else { + tvAddShelf.setText("+添加"); + tvAddShelf.setEnabled(true); + } + } + } + } + + @Override + public Boolean checkIsExist(SearchBookBean searchBookBean) { + Boolean result = false; + for (int i = 0; i < searchBookAdapter.getItemcount(); i++) { + if(searchBookAdapter.getSearchBooks().get(i).getNoteUrl().equals(searchBookBean.getNoteUrl()) && searchBookAdapter.getSearchBooks().get(i).getTag().equals(searchBookBean.getTag())){ + result = true; + break; + } + } + return result; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/impl/WelcomeActivity.java b/app/src/main/java/com/monke/monkeybook/view/impl/WelcomeActivity.java new file mode 100644 index 0000000000..e71cbe1008 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/impl/WelcomeActivity.java @@ -0,0 +1,83 @@ +package com.monke.monkeybook.view.impl; + +import android.animation.Animator; +import android.animation.ValueAnimator; +import android.content.Intent; +import android.widget.ImageView; +import android.widget.TextView; +import com.monke.basemvplib.IPresenter; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.MBaseActivity; + +public class WelcomeActivity extends MBaseActivity { + + private ImageView ivBg; + private ImageView ivIcon; + private TextView tvIntro; + + private ValueAnimator welAnimator; + + @Override + protected IPresenter initInjector() { + return null; + } + + @Override + protected void onCreateActivity() { + setContentView(R.layout.activity_welcome); + } + + @Override + protected void initData() { + welAnimator = ValueAnimator.ofFloat(1f, 0f).setDuration(800); + welAnimator.setStartDelay(500); + } + + @Override + protected void bindView() { + ivBg = (ImageView) findViewById(R.id.iv_bg); + ivIcon = (ImageView) findViewById(R.id.iv_icon); + tvIntro = (TextView) findViewById(R.id.tv_intro); + } + + @Override + protected void bindEvent() { + welAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + float alpha = (Float) animation.getAnimatedValue(); + ivBg.setAlpha(alpha); + ivIcon.setAlpha(alpha); + tvIntro.setAlpha(1f - alpha); + } + }); + welAnimator.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + + } + + @Override + public void onAnimationEnd(Animator animation) { + startActivityByAnim(new Intent(WelcomeActivity.this, MainActivity.class), android.R.anim.fade_in, android.R.anim.fade_out); + finish(); + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }); + } + + @Override + protected void firstRequest() { + welAnimator.start(); + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/CheckAddShelfPop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/CheckAddShelfPop.java new file mode 100644 index 0000000000..b60dbf4625 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/CheckAddShelfPop.java @@ -0,0 +1,60 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.PopupWindow; +import android.widget.TextView; +import com.monke.monkeybook.R; + +public class CheckAddShelfPop extends PopupWindow{ + private Context mContext; + private View view; + + public interface OnItemClickListener { + public void clickExit(); + public void clickAddShelf(); + } + private OnItemClickListener itemClick; + private String bookName; + + private TextView tvBookName; + private TextView tvExit; + private TextView tvAddShelf; + public CheckAddShelfPop(Context context,@NonNull String bookName,@NonNull OnItemClickListener itemClick){ + super(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); + mContext = context; + this.bookName = bookName; + this.itemClick = itemClick; + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_checkaddshelf,null); + this.setContentView(view); + + initView(); + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_checkaddshelf); + } + + private void initView() { + tvBookName = (TextView) view.findViewById(R.id.tv_book_name); + tvBookName.setText(String.format(mContext.getString(R.string.tv_pop_checkaddshelf),bookName)); + tvExit = (TextView) view.findViewById(R.id.tv_exit); + tvExit.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + itemClick.clickExit(); + } + }); + tvAddShelf = (TextView) view.findViewById(R.id.tv_addshelf); + tvAddShelf.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + itemClick.clickAddShelf(); + } + }); + } +} 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 new file mode 100644 index 0000000000..3f41425139 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/DownloadListPop.java @@ -0,0 +1,178 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.PopupWindow; +import android.widget.TextView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.hwangjr.rxbus.RxBus; +import com.hwangjr.rxbus.annotation.Subscribe; +import com.hwangjr.rxbus.annotation.Tag; +import com.hwangjr.rxbus.thread.EventThread; +import com.monke.monkeybook.R; +import com.monke.monkeybook.base.observer.SimpleObserver; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.bean.DownloadChapterBean; +import com.monke.monkeybook.common.RxBusTag; +import com.monke.monkeybook.dao.BookShelfBeanDao; +import com.monke.monkeybook.dao.DbHelper; +import com.monke.monkeybook.dao.DownloadChapterBeanDao; +import java.util.List; +import io.reactivex.Observable; +import io.reactivex.ObservableEmitter; +import io.reactivex.ObservableOnSubscribe; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.schedulers.Schedulers; + +public class DownloadListPop extends PopupWindow { + private Context mContext; + private View view; + + private TextView tvNone; + private LinearLayout llDownload; + + private ImageView ivCover; + private TextView tvName; + private TextView tvChapterName; + private TextView tvCancel; + private TextView tvDownload; + + public DownloadListPop(Context context) { + super(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + mContext = context; + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_downloadlist, null); + this.setContentView(view); + bindView(); + bindEvent(); + initWait(); + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_checkaddshelf); + RxBus.get().register(DownloadListPop.this); + } + + private void bindEvent() { + tvCancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + RxBus.get().post(RxBusTag.CANCEL_DOWNLOAD, new Object()); + tvNone.setVisibility(View.VISIBLE); + } + }); + tvDownload.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (tvDownload.getText().equals("开始下载")) { + RxBus.get().post(RxBusTag.START_DOWNLOAD, new Object()); + } else { + RxBus.get().post(RxBusTag.PAUSE_DOWNLOAD, new Object()); + } + } + }); + } + + private void bindView() { + tvNone = (TextView) view.findViewById(R.id.tv_none); + llDownload = (LinearLayout) view.findViewById(R.id.ll_download); + ivCover = (ImageView) view.findViewById(R.id.iv_cover); + tvName = (TextView) view.findViewById(R.id.tv_name); + tvChapterName = (TextView) view.findViewById(R.id.tv_chapter_name); + tvCancel = (TextView) view.findViewById(R.id.tv_cancel); + tvDownload = (TextView) view.findViewById(R.id.tv_download); + } + + private void initWait() { + Observable.create(new ObservableOnSubscribe() { + @Override + public void subscribe(ObservableEmitter e) throws Exception { + List bookShelfBeanList = DbHelper.getInstance().getmDaoSession().getBookShelfBeanDao().queryBuilder().orderDesc(BookShelfBeanDao.Properties.FinalDate).list(); + if (bookShelfBeanList != null && bookShelfBeanList.size() > 0) { + for (BookShelfBean bookItem : bookShelfBeanList) { + if (!bookItem.getTag().equals(BookShelfBean.LOCAL_TAG)) { + List downloadChapterList = DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().queryBuilder().where(DownloadChapterBeanDao.Properties.NoteUrl.eq(bookItem.getNoteUrl())).orderAsc(DownloadChapterBeanDao.Properties.DurChapterIndex).limit(1).list(); + if (downloadChapterList != null && downloadChapterList.size() > 0) { + e.onNext(downloadChapterList.get(0)); + e.onComplete(); + return; + } + } + } + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } else { + DbHelper.getInstance().getmDaoSession().getDownloadChapterBeanDao().deleteAll(); + e.onNext(new DownloadChapterBean()); + } + e.onComplete(); + } + }) + .subscribeOn(AndroidSchedulers.mainThread()) + .observeOn(Schedulers.io()) + .subscribe(new SimpleObserver() { + @Override + public void onNext(DownloadChapterBean value) { + if (value.getNoteUrl() != null && value.getNoteUrl().length() > 0) { + llDownload.setVisibility(View.GONE); + tvNone.setVisibility(View.GONE); + tvDownload.setText("开始下载"); + } else { + tvNone.setVisibility(View.VISIBLE); + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + tvNone.setVisibility(View.VISIBLE); + } + }); + } + + public void onDestroy() { + RxBus.get().unregister(DownloadListPop.this); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.PAUSE_DOWNLOAD_LISTENER) + } + ) + public void pauseTask(Object o) { + tvNone.setVisibility(View.GONE); + llDownload.setVisibility(View.GONE); + tvDownload.setText("开始下载"); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.FINISH_DOWNLOAD_LISTENER) + } + ) + public void finishTask(Object o) { + tvNone.setVisibility(View.VISIBLE); + } + + @Subscribe( + thread = EventThread.MAIN_THREAD, + tags = { + @Tag(RxBusTag.PROGRESS_DOWNLOAD_LISTENER) + } + ) + public void progressTask(DownloadChapterBean downloadChapterBean) { + tvNone.setVisibility(View.GONE); + llDownload.setVisibility(View.VISIBLE); + tvDownload.setText("暂停下载"); + Glide.with(mContext).load(downloadChapterBean.getCoverUrl()).dontAnimate().diskCacheStrategy(DiskCacheStrategy.RESULT).centerCrop().placeholder(R.drawable.img_cover_default).into(ivCover); + tvName.setText(downloadChapterBean.getBookName()); + tvChapterName.setText(downloadChapterBean.getDurChapterName()); + } + +} diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/FontPop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/FontPop.java new file mode 100644 index 0000000000..0dcfaf1f35 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/FontPop.java @@ -0,0 +1,168 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.content.Context; +import android.graphics.Color; +import android.support.annotation.NonNull; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.PopupWindow; +import android.widget.TextView; + +import com.monke.monkeybook.R; +import com.monke.monkeybook.ReadBookControl; + +import de.hdodenhof.circleimageview.CircleImageView; + +public class FontPop extends PopupWindow{ + private Context mContext; + private View view; + private FrameLayout flSmaller; + private FrameLayout flBigger; + private TextView tvTextSizedDefault; + private TextView tvTextSize; + private CircleImageView civBgWhite; + private CircleImageView civBgYellow; + private CircleImageView civBgGreen; + private CircleImageView civBgBlack; + + private ReadBookControl readBookControl; + + public interface OnChangeProListener{ + public void textChange(int index); + + public void bgChange(int index); + } + private OnChangeProListener changeProListener; + + public FontPop(Context context,@NonNull OnChangeProListener changeProListener){ + super(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + this.mContext = context; + this.changeProListener = changeProListener; + + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_font, null); + this.setContentView(view); + initData(); + bindView(); + bindEvent(); + + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_windowlight); + } + + private void bindEvent() { + flSmaller.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateText(readBookControl.getTextKindIndex()-1); + changeProListener.textChange(readBookControl.getTextKindIndex()); + } + }); + flBigger.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateText(readBookControl.getTextKindIndex()+1); + changeProListener.textChange(readBookControl.getTextKindIndex()); + } + }); + tvTextSizedDefault.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateText(ReadBookControl.DEFAULT_TEXT); + changeProListener.textChange(readBookControl.getTextKindIndex()); + } + }); + + civBgWhite.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateBg(0); + changeProListener.bgChange(readBookControl.getTextDrawableIndex()); + } + }); + civBgYellow.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateBg(1); + changeProListener.bgChange(readBookControl.getTextDrawableIndex()); + } + }); + civBgGreen.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateBg(2); + changeProListener.bgChange(readBookControl.getTextDrawableIndex()); + } + }); + civBgBlack.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + updateBg(3); + changeProListener.bgChange(readBookControl.getTextDrawableIndex()); + } + }); + } + + private void bindView() { + flSmaller = (FrameLayout) view.findViewById(R.id.fl_smaller); + flBigger = (FrameLayout) view.findViewById(R.id.fl_bigger); + tvTextSizedDefault = (TextView) view.findViewById(R.id.tv_textsize_default); + tvTextSize = (TextView) view.findViewById(R.id.tv_dur_textsize); + updateText(readBookControl.getTextKindIndex()); + + civBgWhite = (CircleImageView) view.findViewById(R.id.civ_bg_white); + civBgYellow = (CircleImageView) view.findViewById(R.id.civ_bg_yellow); + civBgGreen = (CircleImageView) view.findViewById(R.id.civ_bg_green); + civBgBlack = (CircleImageView) view.findViewById(R.id.civ_bg_black); + updateBg(readBookControl.getTextDrawableIndex()); + } + + private void updateText(int textKindIndex) { + if(textKindIndex==0){ + flSmaller.setEnabled(false); + flBigger.setEnabled(true); + }else if(textKindIndex == readBookControl.getTextKind().size()-1){ + flSmaller.setEnabled(true); + flBigger.setEnabled(false); + }else{flSmaller.setEnabled(true); + flBigger.setEnabled(true); + + } + if(textKindIndex == ReadBookControl.DEFAULT_TEXT){ + tvTextSizedDefault.setEnabled(false); + }else{ + tvTextSizedDefault.setEnabled(true); + } + tvTextSize.setText(String.valueOf(readBookControl.getTextKind().get(textKindIndex).get("textSize"))); + readBookControl.setTextKindIndex(textKindIndex); + } + + private void updateBg(int index) { + civBgWhite.setBorderColor(Color.parseColor("#00000000")); + civBgYellow.setBorderColor(Color.parseColor("#00000000")); + civBgGreen.setBorderColor(Color.parseColor("#00000000")); + civBgBlack.setBorderColor(Color.parseColor("#00000000")); + switch (index){ + case 0: + civBgWhite.setBorderColor(Color.parseColor("#F3B63F")); + break; + case 1: + civBgYellow.setBorderColor(Color.parseColor("#F3B63F")); + break; + case 2: + civBgGreen.setBorderColor(Color.parseColor("#F3B63F")); + break; + default: + civBgBlack.setBorderColor(Color.parseColor("#F3B63F")); + break; + } + readBookControl.setTextDrawableIndex(index); + } + + private void initData() { + readBookControl = ReadBookControl.getInstance(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/MoreSettingPop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/MoreSettingPop.java new file mode 100644 index 0000000000..603d080c82 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/MoreSettingPop.java @@ -0,0 +1,69 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CompoundButton; +import android.widget.PopupWindow; + +import com.kyleduo.switchbutton.SwitchButton; +import com.monke.monkeybook.R; +import com.monke.monkeybook.ReadBookControl; + +public class MoreSettingPop extends PopupWindow{ + private Context mContext; + private View view; + + private SwitchButton sbKey; + private SwitchButton sbClick; + + private ReadBookControl readBookControl; + + public MoreSettingPop(Context context){ + super(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + mContext = context; + + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_moresetting,null); + this.setContentView(view); + initData(); + bindView(); + bindEvent(); + + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_windowlight); + } + + private void bindEvent() { + sbKey.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + readBookControl.setCanKeyTurn(isChecked); + } + }); + sbClick.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + readBookControl.setCanClickTurn(isChecked); + } + }); + } + + private void bindView() { + sbKey = (SwitchButton) view.findViewById(R.id.sb_key); + sbClick = (SwitchButton) view.findViewById(R.id.sb_click); + + if(readBookControl.getCanKeyTurn()) + sbKey.setCheckedImmediatelyNoEvent(true); + else sbKey.setCheckedImmediatelyNoEvent(false); + if(readBookControl.getCanClickTurn()) + sbClick.setCheckedImmediatelyNoEvent(true); + else sbClick.setCheckedImmediatelyNoEvent(false); + } + + private void initData() { + readBookControl = ReadBookControl.getInstance(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/ReadBookMenuMorePop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/ReadBookMenuMorePop.java new file mode 100644 index 0000000000..ece3530873 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/ReadBookMenuMorePop.java @@ -0,0 +1,38 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.PopupWindow; +import com.monke.monkeybook.R; + +public class ReadBookMenuMorePop extends PopupWindow{ + private Context mContext; + private View view; + + private LinearLayout llDownload; + + public ReadBookMenuMorePop(Context context){ + super(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); + this.mContext = context; + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_menumore,null); + this.setContentView(view); + + initView(); + + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_windowmenumore); + } + + private void initView() { + llDownload = (LinearLayout) view.findViewById(R.id.ll_download); + } + + public void setOnClickDownload(View.OnClickListener clickDownload){ + llDownload.setOnClickListener(clickDownload); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/view/popupwindow/WindowLightPop.java b/app/src/main/java/com/monke/monkeybook/view/popupwindow/WindowLightPop.java new file mode 100644 index 0000000000..5fd042be2c --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/view/popupwindow/WindowLightPop.java @@ -0,0 +1,168 @@ +package com.monke.monkeybook.view.popupwindow; + +import android.app.Activity; +import android.content.ContentResolver; +import android.content.Context; +import android.content.SharedPreferences; +import android.provider.Settings; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.LinearLayout; +import android.widget.PopupWindow; +import com.monke.monkeybook.R; +import com.monke.monkeybook.widget.checkbox.SmoothCheckBox; +import com.monke.mprogressbar.MHorProgressBar; +import com.monke.mprogressbar.OnProgressListener; + +public class WindowLightPop extends PopupWindow { + private Context mContext; + private View view; + + private MHorProgressBar hpbLight; + private LinearLayout llFollowSys; + private SmoothCheckBox scbFollowSys; + + private Boolean isFollowSys; + private int light; + + public WindowLightPop(Context context) { + super(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + this.mContext = context; + + view = LayoutInflater.from(mContext).inflate(R.layout.view_pop_windowlight, null); + this.setContentView(view); + initData(); + initView(); + bindEvent(); + + setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_pop_checkaddshelf_bg)); + setFocusable(true); + setTouchable(true); + setAnimationStyle(R.style.anim_pop_windowlight); + } + + private void initData() { + isFollowSys = getIsFollowSys(); + light = getLight(); + } + + private void initView() { + hpbLight = (MHorProgressBar) view.findViewById(R.id.hpb_light); + llFollowSys = (LinearLayout) view.findViewById(R.id.ll_follow_sys); + scbFollowSys = (SmoothCheckBox) view.findViewById(R.id.scb_follow_sys); + } + + private void bindEvent() { + llFollowSys.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (scbFollowSys.isChecked()) { + scbFollowSys.setChecked(false, true); + } else { + scbFollowSys.setChecked(true, true); + } + } + }); + scbFollowSys.setOnCheckedChangeListener(new SmoothCheckBox.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked) { + isFollowSys = isChecked; + if (isChecked) { + //跟随系统 + hpbLight.setCanTouch(false); + setScreenBrightness(); + } else { + //不跟随系统 + hpbLight.setCanTouch(true); + hpbLight.setDurProgress(light); + } + } + }); + hpbLight.setProgressListener(new OnProgressListener() { + @Override + public void moveStartProgress(float dur) { + + } + + @Override + public void durProgressChange(float dur) { + if (!isFollowSys) { + light = (int) dur; + setScreenBrightness((int) dur); + } + } + + @Override + public void moveStopProgress(float dur) { + + } + + @Override + public void setDurProgress(float dur) { + + } + }); + } + + public void setScreenBrightness(int value) { + WindowManager.LayoutParams params = ((Activity) mContext).getWindow().getAttributes(); + params.screenBrightness = value * 1.0f / 255f; + ((Activity) mContext).getWindow().setAttributes(params); + } + public void setScreenBrightness() { + WindowManager.LayoutParams params = ((Activity) mContext).getWindow().getAttributes(); + params.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE; + ((Activity) mContext).getWindow().setAttributes(params); + } + + public int getScreenBrightness() { + int value = 0; + ContentResolver cr = mContext.getContentResolver(); + try { + value = Settings.System.getInt(cr, Settings.System.SCREEN_BRIGHTNESS); + } catch (Settings.SettingNotFoundException e) { + e.printStackTrace(); + } + return value; + } + + private void saveLight() { + SharedPreferences preference = mContext.getSharedPreferences("CONFIG", Context.MODE_PRIVATE); + SharedPreferences.Editor editor = preference.edit(); + editor.putInt("light", light); + editor.putBoolean("isfollowsys", isFollowSys); + editor.commit(); + } + + private int getLight() { + SharedPreferences preference = mContext.getSharedPreferences("CONFIG", Context.MODE_PRIVATE); + return preference.getInt("light", getScreenBrightness()); + } + + private Boolean getIsFollowSys() { + SharedPreferences preference = mContext.getSharedPreferences("CONFIG", Context.MODE_PRIVATE); + return preference.getBoolean("isfollowsys", true); + } + + @Override + public void dismiss() { + saveLight(); + super.dismiss(); + } + + @Override + public void showAtLocation(View parent, int gravity, int x, int y) { + super.showAtLocation(parent, gravity, x, y); + initData(); + hpbLight.setDurProgress(light); + scbFollowSys.setChecked(isFollowSys); + } + + public void initLight(){ + if(!isFollowSys){ + setScreenBrightness(light); + } + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/ChapterListView.java b/app/src/main/java/com/monke/monkeybook/widget/ChapterListView.java new file mode 100644 index 0000000000..c6e8840b3b --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/ChapterListView.java @@ -0,0 +1,164 @@ +package com.monke.monkeybook.widget; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.support.annotation.AttrRes; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.StyleRes; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.FrameLayout; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.BookShelfBean; +import com.monke.monkeybook.view.adapter.ChapterListAdapter; + +public class ChapterListView extends FrameLayout{ + private TextView tvName; + private TextView tvListCount; + private RecyclerView rvList; + private RecyclerViewBar rvbSlider; + + private FrameLayout flBg; + private LinearLayout llContent; + + private ChapterListAdapter chapterListAdapter; + + private Animation animIn; + private Animation animOut; + + public ChapterListView(@NonNull Context context) { + this(context,null); + } + + public ChapterListView(@NonNull Context context, @Nullable AttributeSet attrs) { + this(context, attrs,0); + } + + public ChapterListView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public ChapterListView(@NonNull Context context, @Nullable AttributeSet attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + setVisibility(INVISIBLE); + LayoutInflater.from(getContext()).inflate(R.layout.view_chapterlist,this,true); + initData(); + initView(); + } + + private void initData() { + animIn = AnimationUtils.loadAnimation(getContext(),R.anim.anim_pop_chapterlist_in); + animIn.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + flBg.setOnClickListener(null); + } + + @Override + public void onAnimationEnd(Animation animation) { + flBg.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + dimissChapterList(); + } + }); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + animOut = AnimationUtils.loadAnimation(getContext(),R.anim.anim_pop_chapterlist_out); + animOut.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + flBg.setOnClickListener(null); + } + + @Override + public void onAnimationEnd(Animation animation) { + llContent.setVisibility(INVISIBLE); + setVisibility(INVISIBLE); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }); + } + + public void show(int durChapter) { + chapterListAdapter.setIndex(durChapter); + ((LinearLayoutManager) rvList.getLayoutManager()).scrollToPositionWithOffset(durChapter,0); + if(getVisibility()!=VISIBLE){ + setVisibility(VISIBLE); + animOut.cancel(); + animIn.cancel(); + llContent.setVisibility(VISIBLE); + llContent.startAnimation(animIn); + } + } + + public interface OnItemClickListener{ + public void itemClick(int index); + } + private OnItemClickListener itemClickListener; + private BookShelfBean bookShelfBean; + + private void initView() { + flBg = (FrameLayout) findViewById(R.id.fl_bg); + llContent = (LinearLayout) findViewById(R.id.ll_content); + tvName = (TextView) findViewById(R.id.tv_name); + tvListCount = (TextView) findViewById(R.id.tv_listcount); + rvList = (RecyclerView) findViewById(R.id.rv_list); + rvList.setLayoutManager(new LinearLayoutManager(getContext())); + rvList.setItemAnimator(null); + rvbSlider = (RecyclerViewBar) findViewById(R.id.rvb_slider); + } + + public void setData(BookShelfBean bookShelfBean,OnItemClickListener clickListener) { + this.itemClickListener = clickListener; + this.bookShelfBean = bookShelfBean; + tvName.setText(bookShelfBean.getBookInfoBean().getName()); + tvListCount.setText("共"+bookShelfBean.getBookInfoBean().getChapterlist().size()+"章"); + chapterListAdapter = new ChapterListAdapter(bookShelfBean, new OnItemClickListener() { + @Override + public void itemClick(int index) { + if(itemClickListener!=null){ + itemClickListener.itemClick(index); + rvbSlider.scrollToPositionWithOffset(index); + } + } + }); + rvList.setAdapter(chapterListAdapter); + rvbSlider.setRecyclerView(rvList); + } + + public Boolean dimissChapterList(){ + if(getVisibility()!=VISIBLE){ + return false; + }else{ + animOut.cancel(); + animIn.cancel(); + llContent.startAnimation(animOut); + return true; + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/MTextView.java b/app/src/main/java/com/monke/monkeybook/widget/MTextView.java new file mode 100644 index 0000000000..87dbb6b638 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/MTextView.java @@ -0,0 +1,33 @@ +package com.monke.monkeybook.widget; + +import android.content.Context; +import android.graphics.Canvas; +import android.text.Layout; +import android.text.StaticLayout; +import android.text.TextPaint; +import android.util.AttributeSet; + +/** + * Created by ZQH on 2017/4/10. + */ + +public class MTextView extends android.support.v7.widget.AppCompatTextView { + + public MTextView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, + int bottom) { + super.onLayout(changed, left, top, right, bottom); + } + + @Override + protected void onDraw(Canvas canvas) { + TextPaint paint = getPaint(); + paint.setColor(getTextColors().getDefaultColor()); + Layout layout = new StaticLayout(getText(), paint, canvas.getWidth(), Layout.Alignment.ALIGN_NORMAL, getLineSpacingMultiplier(), getLineSpacingExtra(), false); + layout.draw(canvas); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/RecyclerViewBar.java b/app/src/main/java/com/monke/monkeybook/widget/RecyclerViewBar.java new file mode 100644 index 0000000000..0aa746da64 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/RecyclerViewBar.java @@ -0,0 +1,241 @@ +package com.monke.monkeybook.widget; + +import android.animation.Animator; +import android.animation.ObjectAnimator; +import android.annotation.TargetApi; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Rect; +import android.os.Build; +import android.os.CountDownTimer; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewTreeObserver; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; + +import com.monke.monkeybook.R; +import com.monke.monkeybook.utils.DensityUtil; + +public class RecyclerViewBar extends LinearLayout { + public static long SLIDE_ANIM_TIME = 800; + + private ImageView ivSlider; + private int sliderHeight = DensityUtil.dp2px(getContext(), 35f); + + private RecyclerView recyclerView; + + private Animator slideIn; + private Animator slideOut; + + public RecyclerViewBar(Context context) { + this(context, null); + } + + public RecyclerViewBar(Context context, @Nullable AttributeSet attrs) { + this(context, attrs, 0); + } + + public RecyclerViewBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(attrs); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public RecyclerViewBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(attrs); + } + + private void init(AttributeSet attrs) { + setOrientation(VERTICAL); + TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.RecyclerViewBar); + sliderHeight = a.getDimensionPixelSize(R.styleable.RecyclerViewBar_slider_height, sliderHeight); + int paddingLeft = a.getDimensionPixelSize(R.styleable.RecyclerViewBar_slider_paddingLeft, 0); + int paddingRight = a.getDimensionPixelSize(R.styleable.RecyclerViewBar_slider_paddingRight, 0); + ivSlider = new ImageView(getContext()); + ivSlider.setPadding(paddingLeft, 0, paddingRight, 0); + ivSlider.setAlpha(0f); + ivSlider.setClickable(true); + addView(ivSlider); + LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, sliderHeight); + ivSlider.setLayoutParams(layoutParams); + ivSlider.setImageResource(R.drawable.icon_slider); + ivSlider.setScaleType(ImageView.ScaleType.FIT_XY); + + initIvSlider(); + + RecyclerViewBar.this.getViewTreeObserver().addOnGlobalLayoutListener(layoutInitListener); + } + + private float finalY = -10000; + + private void initIvSlider() { + ivSlider.setOnTouchListener(new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + int action = event.getAction(); + switch (action) { + case MotionEvent.ACTION_DOWN: + finalY = event.getY(); + return true; + case MotionEvent.ACTION_MOVE: + if (finalY >= 0) { + float tempY = event.getY(); + float durY = tempY - finalY; + updateSlider(durY); + + showSlide(); + } else { + finalY = event.getY(); + } + return true; + case MotionEvent.ACTION_UP: + if (finalY >= 0) { + finalY = -10000; + timeCountDown.cancel(); + timeCountDown.start(); + return true; + } + break; + default: + if (finalY >= 0) { + finalY = -10000; + return true; + } + break; + } + return false; + } + }); + } + + private void updateSlider(float durY) { + LayoutParams l = (LayoutParams) ivSlider.getLayoutParams(); + float finalMarginTop = l.topMargin + durY; + if (finalMarginTop < 0) { + finalMarginTop = 0; + } else if (finalMarginTop > getHeight() - sliderHeight) { + finalMarginTop = getHeight() - sliderHeight; + } + if (recyclerView != null) { + int position = Math.round(finalMarginTop / (getHeight() - sliderHeight) * (recyclerView.getAdapter().getItemCount() - 1)); + ((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, 0); + } + + l.topMargin = Math.round(finalMarginTop); + ivSlider.setLayoutParams(l); + } + + public void setRecyclerView(RecyclerView recyclerView) { + this.recyclerView = recyclerView; + if (this.recyclerView != null) { + this.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrollStateChanged(RecyclerView recyclerView, int newState) { + super.onScrollStateChanged(recyclerView, newState); + if (newState != 0) { + showSlide(); + } else { + timeCountDown.cancel(); + timeCountDown.start(); + } + } + + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + super.onScrolled(recyclerView, dx, dy); + scrollToPositionWithOffset(((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstVisibleItemPosition()); + } + }); + } + } + + public void scrollToPositionWithOffset(int position) { + if (recyclerView != null && position < recyclerView.getAdapter().getItemCount()) { + float temp = position * 1.0f / recyclerView.getAdapter().getItemCount(); + LayoutParams l = (LayoutParams) ivSlider.getLayoutParams(); + l.topMargin = Math.round(((getHeight() - sliderHeight) * temp)); + ivSlider.setLayoutParams(l); + } + } + + private void showSlide() { + if (ivSlider.getAlpha() < 1) { + if (slideOut != null && slideOut.isRunning()) { + slideOut.cancel(); + } + if (slideIn == null) { + slideIn = ObjectAnimator.ofFloat(ivSlider, "alpha", ivSlider.getAlpha(), 1f); + slideIn.setDuration((long) (SLIDE_ANIM_TIME * (1f - ivSlider.getAlpha()))); + } + if (!slideIn.isRunning()) { + slideIn.start(); + } + } + } + + private void hideSlide() { + if (ivSlider.getAlpha() > 0) { + if (slideIn != null && slideIn.isRunning()) { + slideIn.cancel(); + } + if (slideOut == null) { + slideOut = ObjectAnimator.ofFloat(ivSlider, "alpha", ivSlider.getAlpha(), 0f); + slideOut.setDuration((long) (SLIDE_ANIM_TIME * ivSlider.getAlpha())); + } + if (!slideOut.isRunning()) { + slideOut.start(); + } + } + } + + private TimeCountDown timeCountDown = new TimeCountDown(); + + class TimeCountDown extends CountDownTimer { + + public TimeCountDown() { + this(1000, 1000); + } + + public TimeCountDown(long millisInFuture, long countDownInterval) { + super(millisInFuture, countDownInterval); + } + + @Override + public void onTick(long millisUntilFinished) { + + } + + @Override + public void onFinish() { + hideSlide(); + } + } + + private int height = 0; + private ViewTreeObserver.OnGlobalLayoutListener layoutInitListener = new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + if(getHeight()>0){ + if (height == 0) { + height = getHeight(); + } else { + int diff = height - getHeight(); + if (diff != 0) { + LayoutParams l = (LayoutParams) ivSlider.getLayoutParams(); + l.topMargin = (int) ((l.topMargin*1.0f/(height-sliderHeight))*(getHeight()-sliderHeight)); + ivSlider.setLayoutParams(l); + height = getHeight(); + } + } + } + } + }; +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/checkbox/SmoothCheckBox.java b/app/src/main/java/com/monke/monkeybook/widget/checkbox/SmoothCheckBox.java new file mode 100644 index 0000000000..c7ffa5a2f2 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/checkbox/SmoothCheckBox.java @@ -0,0 +1,402 @@ +package com.monke.monkeybook.widget.checkbox; + +import android.animation.ValueAnimator; +import android.annotation.TargetApi; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.Point; +import android.os.Build; +import android.os.Bundle; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.view.View; +import android.view.animation.LinearInterpolator; +import android.widget.Checkable; +import com.monke.monkeybook.R; +import com.monke.monkeybook.utils.DensityUtil; + +public class SmoothCheckBox extends View implements Checkable { + private static final String KEY_INSTANCE_STATE = "InstanceState"; + + private static final int COLOR_TICK = Color.WHITE; + private static final int COLOR_UNCHECKED = Color.WHITE; + private static final int COLOR_CHECKED = Color.parseColor("#FB4846"); + private static final int COLOR_FLOOR_UNCHECKED = Color.parseColor("#DFDFDF"); + + private static final int DEF_DRAW_SIZE = 25; + private static final int DEF_ANIM_DURATION = 300; + + private Paint mPaint, mTickPaint, mFloorPaint; + private Point[] mTickPoints; + private Point mCenterPoint; + private Path mTickPath; + + + private float mLeftLineDistance, mRightLineDistance, mDrewDistance; + private float mScaleVal = 1.0f, mFloorScale = 1.0f; + private int mWidth, mAnimDuration, mStrokeWidth; + private int mCheckedColor, mUnCheckedColor, mFloorColor, mFloorUnCheckedColor; + + private boolean mChecked; + private boolean mTickDrawing; + private OnCheckedChangeListener mListener; + + public SmoothCheckBox(Context context) { + this(context, null); + } + + public SmoothCheckBox(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public SmoothCheckBox(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(attrs); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public SmoothCheckBox(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(attrs); + } + + private void init(AttributeSet attrs) { + + TypedArray ta = getContext().obtainStyledAttributes(attrs, R.styleable.SmoothCheckBox); + int tickColor = ta.getColor(R.styleable.SmoothCheckBox_color_tick, COLOR_TICK); + mAnimDuration = ta.getInt(R.styleable.SmoothCheckBox_duration, DEF_ANIM_DURATION); + mFloorColor = ta.getColor(R.styleable.SmoothCheckBox_color_unchecked_stroke, COLOR_FLOOR_UNCHECKED); + mCheckedColor = ta.getColor(R.styleable.SmoothCheckBox_color_checked, COLOR_CHECKED); + mUnCheckedColor = ta.getColor(R.styleable.SmoothCheckBox_color_unchecked, COLOR_UNCHECKED); + mStrokeWidth = ta.getDimensionPixelSize(R.styleable.SmoothCheckBox_stroke_width, DensityUtil.dp2px(getContext(), 0)); + ta.recycle(); + + mFloorUnCheckedColor = mFloorColor; + mTickPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + mTickPaint.setStyle(Paint.Style.STROKE); + mTickPaint.setStrokeCap(Paint.Cap.ROUND); + mTickPaint.setColor(tickColor); + + mFloorPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + mFloorPaint.setStyle(Paint.Style.FILL); + mFloorPaint.setColor(mFloorColor); + + mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + mPaint.setStyle(Paint.Style.FILL); + mPaint.setColor(mCheckedColor); + + mTickPath = new Path(); + mCenterPoint = new Point(); + mTickPoints = new Point[3]; + mTickPoints[0] = new Point(); + mTickPoints[1] = new Point(); + mTickPoints[2] = new Point(); + + setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + toggle(); + mTickDrawing = false; + mDrewDistance = 0; + if (isChecked()) { + startCheckedAnimation(); + } else { + startUnCheckedAnimation(); + } + } + }); + } + + @Override + protected Parcelable onSaveInstanceState() { + Bundle bundle = new Bundle(); + bundle.putParcelable(KEY_INSTANCE_STATE, super.onSaveInstanceState()); + bundle.putBoolean(KEY_INSTANCE_STATE, isChecked()); + return bundle; + } + + @Override + protected void onRestoreInstanceState(Parcelable state) { + if (state instanceof Bundle) { + Bundle bundle = (Bundle) state; + boolean isChecked = bundle.getBoolean(KEY_INSTANCE_STATE); + setChecked(isChecked); + super.onRestoreInstanceState(bundle.getParcelable(KEY_INSTANCE_STATE)); + return; + } + super.onRestoreInstanceState(state); + } + + @Override + public boolean isChecked() { + return mChecked; + } + + @Override + public void toggle() { + this.setChecked(!isChecked()); + } + + @Override + public void setChecked(boolean checked) { + mChecked = checked; + reset(); + invalidate(); + if (mListener != null) { + mListener.onCheckedChanged(SmoothCheckBox.this, mChecked); + } + } + + /** + * checked with animation + * @param checked checked + * @param animate change with animation + */ + public void setChecked(boolean checked, boolean animate) { + if (animate) { + mTickDrawing = false; + mChecked = checked; + mDrewDistance = 0f; + if (checked) { + startCheckedAnimation(); + } else { + startUnCheckedAnimation(); + } + if (mListener != null) { + mListener.onCheckedChanged(SmoothCheckBox.this, mChecked); + } + + } else { + this.setChecked(checked); + } + } + + private void reset() { + mTickDrawing = true; + mFloorScale = 1.0f; + mScaleVal = isChecked() ? 0f : 1.0f; + mFloorColor = isChecked() ? mCheckedColor : mFloorUnCheckedColor; + mDrewDistance = isChecked() ? (mLeftLineDistance + mRightLineDistance) : 0; + } + + private int measureSize(int measureSpec) { + int defSize = DensityUtil.dp2px(getContext(), DEF_DRAW_SIZE); + int specSize = MeasureSpec.getSize(measureSpec); + int specMode = MeasureSpec.getMode(measureSpec); + + int result = 0; + switch (specMode) { + case MeasureSpec.UNSPECIFIED: + case MeasureSpec.AT_MOST: + result = Math.min(defSize, specSize); + break; + case MeasureSpec.EXACTLY: + result = specSize; + break; + } + return result; + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + setMeasuredDimension(measureSize(widthMeasureSpec), measureSize(heightMeasureSpec)); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + mWidth = getMeasuredWidth(); + mStrokeWidth = (mStrokeWidth == 0 ? getMeasuredWidth() / 10 : mStrokeWidth); + mStrokeWidth = mStrokeWidth > getMeasuredWidth() / 5 ? getMeasuredWidth() / 5 : mStrokeWidth; + mStrokeWidth = (mStrokeWidth < 3) ? 3 : mStrokeWidth; + mCenterPoint.x = mWidth / 2; + mCenterPoint.y = getMeasuredHeight() / 2; + + mTickPoints[0].x = Math.round((float) getMeasuredWidth() / 30 * 7); + mTickPoints[0].y = Math.round((float) getMeasuredHeight() / 30 * 14); + mTickPoints[1].x = Math.round((float) getMeasuredWidth() / 30 * 13); + mTickPoints[1].y = Math.round((float) getMeasuredHeight() / 30 * 20); + mTickPoints[2].x = Math.round((float) getMeasuredWidth() / 30 * 22); + mTickPoints[2].y = Math.round((float) getMeasuredHeight() / 30 * 10); + + mLeftLineDistance = (float) Math.sqrt(Math.pow(mTickPoints[1].x - mTickPoints[0].x, 2) + + Math.pow(mTickPoints[1].y - mTickPoints[0].y, 2)); + mRightLineDistance = (float) Math.sqrt(Math.pow(mTickPoints[2].x - mTickPoints[1].x, 2) + + Math.pow(mTickPoints[2].y - mTickPoints[1].y, 2)); + mTickPaint.setStrokeWidth(mStrokeWidth); + } + + @Override + protected void onDraw(Canvas canvas) { + drawBorder(canvas); + drawCenter(canvas); + drawTick(canvas); + } + + private void drawCenter(Canvas canvas) { + mPaint.setColor(mUnCheckedColor); + float radius = (mCenterPoint.x - mStrokeWidth) * mScaleVal; + canvas.drawCircle(mCenterPoint.x, mCenterPoint.y, radius, mPaint); + } + + private void drawBorder(Canvas canvas) { + mFloorPaint.setColor(mFloorColor); + int radius = mCenterPoint.x; + canvas.drawCircle(mCenterPoint.x, mCenterPoint.y, radius * mFloorScale, mFloorPaint); + } + + private void drawTick(Canvas canvas) { + if (mTickDrawing && isChecked()) { + drawTickPath(canvas); + } + } + + private void drawTickPath(Canvas canvas) { + mTickPath.reset(); + // draw left of the tick + if (mDrewDistance < mLeftLineDistance) { + float step = (mWidth / 20.0f) < 3 ? 3 : (mWidth / 20.0f); + mDrewDistance += step; + float stopX = mTickPoints[0].x + (mTickPoints[1].x - mTickPoints[0].x) * mDrewDistance / mLeftLineDistance; + float stopY = mTickPoints[0].y + (mTickPoints[1].y - mTickPoints[0].y) * mDrewDistance / mLeftLineDistance; + + mTickPath.moveTo(mTickPoints[0].x, mTickPoints[0].y); + mTickPath.lineTo(stopX, stopY); + canvas.drawPath(mTickPath, mTickPaint); + + if (mDrewDistance > mLeftLineDistance) { + mDrewDistance = mLeftLineDistance; + } + } else { + + mTickPath.moveTo(mTickPoints[0].x, mTickPoints[0].y); + mTickPath.lineTo(mTickPoints[1].x, mTickPoints[1].y); + canvas.drawPath(mTickPath, mTickPaint); + + // draw right of the tick + if (mDrewDistance < mLeftLineDistance + mRightLineDistance) { + float stopX = mTickPoints[1].x + (mTickPoints[2].x - mTickPoints[1].x) * (mDrewDistance - mLeftLineDistance) / mRightLineDistance; + float stopY = mTickPoints[1].y - (mTickPoints[1].y - mTickPoints[2].y) * (mDrewDistance - mLeftLineDistance) / mRightLineDistance; + + mTickPath.reset(); + mTickPath.moveTo(mTickPoints[1].x, mTickPoints[1].y); + mTickPath.lineTo(stopX, stopY); + canvas.drawPath(mTickPath, mTickPaint); + + float step = (mWidth / 20) < 3 ? 3 : (mWidth / 20); + mDrewDistance += step; + } else { + mTickPath.reset(); + mTickPath.moveTo(mTickPoints[1].x, mTickPoints[1].y); + mTickPath.lineTo(mTickPoints[2].x, mTickPoints[2].y); + canvas.drawPath(mTickPath, mTickPaint); + } + } + + // invalidate + if (mDrewDistance < mLeftLineDistance + mRightLineDistance) { + postDelayed(new Runnable() { + @Override + public void run() { + postInvalidate(); + } + }, 10); + } + } + + private void startCheckedAnimation() { + ValueAnimator animator = ValueAnimator.ofFloat(1.0f, 0f); + animator.setDuration(mAnimDuration / 3 * 2); + animator.setInterpolator(new LinearInterpolator()); + animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + mScaleVal = (float) animation.getAnimatedValue(); + mFloorColor = getGradientColor(mUnCheckedColor, mCheckedColor, 1 - mScaleVal); + postInvalidate(); + } + }); + animator.start(); + + ValueAnimator floorAnimator = ValueAnimator.ofFloat(1.0f, 0.8f, 1.0f); + floorAnimator.setDuration(mAnimDuration); + floorAnimator.setInterpolator(new LinearInterpolator()); + floorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + mFloorScale = (float) animation.getAnimatedValue(); + postInvalidate(); + } + }); + floorAnimator.start(); + + drawTickDelayed(); + } + + private void startUnCheckedAnimation() { + ValueAnimator animator = ValueAnimator.ofFloat(0f, 1.0f); + animator.setDuration(mAnimDuration); + animator.setInterpolator(new LinearInterpolator()); + animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + mScaleVal = (float) animation.getAnimatedValue(); + mFloorColor = getGradientColor(mCheckedColor, mFloorUnCheckedColor, mScaleVal); + postInvalidate(); + } + }); + animator.start(); + + ValueAnimator floorAnimator = ValueAnimator.ofFloat(1.0f, 0.8f, 1.0f); + floorAnimator.setDuration(mAnimDuration); + floorAnimator.setInterpolator(new LinearInterpolator()); + floorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + mFloorScale = (float) animation.getAnimatedValue(); + postInvalidate(); + } + }); + floorAnimator.start(); + } + + private void drawTickDelayed() { + postDelayed(new Runnable() { + @Override + public void run() { + mTickDrawing = true; + postInvalidate(); + } + }, mAnimDuration); + } + + private static int getGradientColor(int startColor, int endColor, float percent) { + int startA = Color.alpha(startColor); + int startR = Color.red(startColor); + int startG = Color.green(startColor); + int startB = Color.blue(startColor); + + int endA = Color.alpha(endColor); + int endR = Color.red(endColor); + int endG = Color.green(endColor); + int endB = Color.blue(endColor); + + int currentA = (int) (startA * (1 - percent) + endA * percent); + int currentR = (int) (startR * (1 - percent) + endR * percent); + int currentG = (int) (startG * (1 - percent) + endG * percent); + int currentB = (int) (startB * (1 - percent) + endB * percent); + return Color.argb(currentA, currentR, currentG, currentB); + } + + public void setOnCheckedChangeListener(OnCheckedChangeListener l) { + this.mListener = l; + } + + public interface OnCheckedChangeListener { + void onCheckedChanged(SmoothCheckBox checkBox, boolean isChecked); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/BookContentView.java b/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/BookContentView.java new file mode 100644 index 0000000000..91354603b0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/BookContentView.java @@ -0,0 +1,259 @@ +package com.monke.monkeybook.widget.contentswitchview; + +import android.annotation.TargetApi; +import android.content.Context; +import android.graphics.Paint; +import android.os.Build; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.monke.monkeybook.R; +import com.monke.monkeybook.ReadBookControl; +import com.monke.monkeybook.widget.MTextView; + +import java.util.List; + +public class BookContentView extends FrameLayout { + public long qTag = System.currentTimeMillis(); + + public static final int DURPAGEINDEXBEGIN = -1; + public static final int DURPAGEINDEXEND = -2; + + private View view; + private ImageView ivBg; + private TextView tvTitle; + private LinearLayout llContent; + private MTextView tvContent; + private View vBottom; + private TextView tvPage; + + private TextView tvLoading; + private LinearLayout llError; + private TextView tvErrorInfo; + private TextView tvLoadAgain; + + private String title; + private String content; + private int durChapterIndex; + private int chapterAll; + private int durPageIndex; //如果durPageIndex = -1 则是从头开始 -2则是从尾开始 + private int pageAll; + + private ContentSwitchView.LoadDataListener loadDataListener; + + private SetDataListener setDataListener; + + public interface SetDataListener { + public void setDataFinish(BookContentView bookContentView, int durChapterIndex, int chapterAll, int durPageIndex, int pageAll, int fromPageIndex); + } + + public BookContentView(Context context) { + this(context, null); + } + + public BookContentView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public BookContentView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public BookContentView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + view = LayoutInflater.from(getContext()).inflate(R.layout.adapter_content_switch_item, this, false); + addView(view); + ivBg = (ImageView) view.findViewById(R.id.iv_bg); + tvTitle = (TextView) view.findViewById(R.id.tv_title); + llContent = (LinearLayout) view.findViewById(R.id.ll_content); + tvContent = (com.monke.monkeybook.widget.MTextView) view.findViewById(R.id.tv_content); + vBottom = view.findViewById(R.id.v_bottom); + tvPage = (TextView) view.findViewById(R.id.tv_page); + + tvLoading = (TextView) view.findViewById(R.id.tv_loading); + llError = (LinearLayout) view.findViewById(R.id.ll_error); + tvErrorInfo = (TextView) view.findViewById(R.id.tv_error_info); + tvLoadAgain = (TextView) view.findViewById(R.id.tv_load_again); + + tvLoadAgain.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if (loadDataListener != null) + loading(); + } + }); + } + + public void loading() { + llError.setVisibility(GONE); + tvLoading.setVisibility(VISIBLE); + llContent.setVisibility(INVISIBLE); + qTag = System.currentTimeMillis(); + //执行请求操作 + if (loadDataListener != null) { + loadDataListener.loaddata(this, qTag, durChapterIndex, durPageIndex); + } + } + + public void finishLoading() { + llError.setVisibility(GONE); + llContent.setVisibility(VISIBLE); + tvLoading.setVisibility(GONE); + } + + public void setNoData(String contentLines) { + this.content = contentLines; + + tvPage.setText((this.durPageIndex + 1) + "/" + this.pageAll); + + finishLoading(); + } + + public void updateData(long tag, String title, List contentLines, int durChapterIndex, int chapterAll, int durPageIndex, int durPageAll) { + if (tag == qTag) { + if (setDataListener != null) { + setDataListener.setDataFinish(this, durChapterIndex, chapterAll, durPageIndex, durPageAll, this.durPageIndex); + } + if (contentLines == null) { + this.content = ""; + } else { + StringBuilder s = new StringBuilder(); + for (int i = 0; i < contentLines.size(); i++) { + s.append(contentLines.get(i)); + } + this.content = s.toString(); + } + this.title = title; + this.durChapterIndex = durChapterIndex; + this.chapterAll = chapterAll; + this.durPageIndex = durPageIndex; + this.pageAll = durPageAll; + + tvTitle.setText(this.title); + tvContent.setText(this.content); + tvPage.setText((this.durPageIndex + 1) + "/" + this.pageAll); + + finishLoading(); + } + } + + public void loadData(String title, int durChapterIndex, int chapterAll, int durPageIndex) { + this.title = title; + this.durChapterIndex = durChapterIndex; + this.chapterAll = chapterAll; + this.durPageIndex = durPageIndex; + tvTitle.setText(title); + tvPage.setText(""); + + loading(); + } + + public ContentSwitchView.LoadDataListener getLoadDataListener() { + return loadDataListener; + } + + public void setLoadDataListener(ContentSwitchView.LoadDataListener loadDataListener, SetDataListener setDataListener) { + this.loadDataListener = loadDataListener; + this.setDataListener = setDataListener; + } + + public void setLoadDataListener(ContentSwitchView.LoadDataListener loadDataListener) { + this.loadDataListener = loadDataListener; + } + + public void loadError() { + llError.setVisibility(VISIBLE); + tvLoading.setVisibility(GONE); + llContent.setVisibility(INVISIBLE); + } + + public int getPageAll() { + return pageAll; + } + + public void setPageAll(int pageAll) { + this.pageAll = pageAll; + } + + public int getDurPageIndex() { + return durPageIndex; + } + + public void setDurPageIndex(int durPageIndex) { + this.durPageIndex = durPageIndex; + } + + public int getDurChapterIndex() { + return durChapterIndex; + } + + public void setDurChapterIndex(int durChapterIndex) { + this.durChapterIndex = durChapterIndex; + } + + public int getChapterAll() { + return chapterAll; + } + + public void setChapterAll(int chapterAll) { + this.chapterAll = chapterAll; + } + + public SetDataListener getSetDataListener() { + return setDataListener; + } + + public void setSetDataListener(SetDataListener setDataListener) { + this.setDataListener = setDataListener; + } + + public long getqTag() { + return qTag; + } + + public void setqTag(long qTag) { + this.qTag = qTag; + } + + public TextView getTvContent() { + return tvContent; + } + + public int getLineCount(int height) { + float ascent = tvContent.getPaint().ascent(); + float descent = tvContent.getPaint().descent(); + float textHeight = descent - ascent; + return (int) ((height * 1.0f - tvContent.getLineSpacingExtra()) / (textHeight + tvContent.getLineSpacingExtra())); + } + + public void setReadBookControl(ReadBookControl readBookControl) { + setTextKind(readBookControl); + setBg(readBookControl); + } + + public void setBg(ReadBookControl readBookControl) { + ivBg.setImageResource(readBookControl.getTextBackground()); + tvTitle.setTextColor(readBookControl.getTextColor()); + tvContent.setTextColor(readBookControl.getTextColor()); + tvPage.setTextColor(readBookControl.getTextColor()); + vBottom.setBackgroundColor(readBookControl.getTextColor()); + tvLoading.setTextColor(readBookControl.getTextColor()); + tvErrorInfo.setTextColor(readBookControl.getTextColor()); + } + + public void setTextKind(ReadBookControl readBookControl) { + tvContent.setTextSize(readBookControl.getTextSize()); + tvContent.setLineSpacing(readBookControl.getTextExtra(), 1); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/ContentSwitchView.java b/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/ContentSwitchView.java new file mode 100644 index 0000000000..6feefcc8fb --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/contentswitchview/ContentSwitchView.java @@ -0,0 +1,518 @@ +package com.monke.monkeybook.widget.contentswitchview; + +import android.animation.Animator; +import android.animation.ValueAnimator; +import android.annotation.TargetApi; +import android.content.Context; +import android.graphics.Paint; +import android.os.Build; +import android.util.AttributeSet; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewTreeObserver; +import android.widget.FrameLayout; +import android.widget.Toast; +import com.monke.monkeybook.ReadBookControl; +import com.monke.monkeybook.utils.DensityUtil; +import java.util.ArrayList; +import java.util.List; + +public class ContentSwitchView extends FrameLayout implements BookContentView.SetDataListener { + private final long animDuration = 300; + public final static int NONE = -1; + public final static int PREANDNEXT = 0; + public final static int ONLYPRE = 1; + public final static int ONLYNEXT = 2; + private int state = NONE; //0是有上一页 也有下一页 ; 2是只有下一页 ;1是只有上一页;-1是没有上一页 也没有下一页; + + private int scrollX; + private Boolean isMoving = false; + + private BookContentView durPageView; + private List viewContents; + + public interface OnBookReadInitListener{ + public void success(); + } + private OnBookReadInitListener bookReadInitListener; + + public ContentSwitchView(Context context) { + super(context); + init(); + } + + public ContentSwitchView(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public ContentSwitchView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public ContentSwitchView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private ReadBookControl readBookControl; + + private void init() { + readBookControl = ReadBookControl.getInstance(); + + scrollX = DensityUtil.dp2px(getContext(), 30f); + durPageView = new BookContentView(getContext()); + durPageView.setReadBookControl(readBookControl); + + viewContents = new ArrayList<>(); + viewContents.add(durPageView); + + addView(durPageView); + } + + + public void bookReadInit(OnBookReadInitListener bookReadInitListener){ + this.bookReadInitListener = bookReadInitListener; + durPageView.getTvContent().getViewTreeObserver().addOnGlobalLayoutListener(layoutInitListener); + } + public void startLoading(){ + int height = durPageView.getTvContent().getHeight(); + if (height > 0) { + if (loadDataListener != null && durHeight != height) { + durHeight = height; + loadDataListener.initData(durPageView.getLineCount(height)); + } + } + durPageView.getTvContent().getViewTreeObserver().addOnGlobalLayoutListener(layoutListener); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + private float startX = -1; + + @Override + public boolean onTouchEvent(MotionEvent event) { + int action = event.getAction(); + if (!isMoving) { + switch (action) { + case MotionEvent.ACTION_DOWN: + startX = event.getX(); + break; + case MotionEvent.ACTION_MOVE: + if(viewContents.size() > 1){ + if (startX == -1) + startX = event.getX(); + int durX = (int) (event.getX() - startX); + if (durX > 0 && (state == PREANDNEXT || state == ONLYPRE)) { + int tempX = durX - getWidth(); + if (tempX < -getWidth()) + tempX = -getWidth(); + else if (tempX > 0) + tempX = 0; + viewContents.get(0).layout(tempX, viewContents.get(0).getTop(), tempX + getWidth(), viewContents.get(0).getBottom()); + } else if (durX < 0 && (state == PREANDNEXT || state == ONLYNEXT)) { + int tempX = durX; + if (tempX > 0) + tempX = 0; + else if (tempX < -getWidth()) + tempX = -getWidth(); + int tempIndex = (state == PREANDNEXT ? 1 : 0); + viewContents.get(tempIndex).layout(tempX, viewContents.get(tempIndex).getTop(), tempX + getWidth(), viewContents.get(tempIndex).getBottom()); + } + } + break; + case MotionEvent.ACTION_UP: + if(startX == -1) + startX = event.getX(); + if (event.getX() - startX > 0) { + if (state == PREANDNEXT || state == ONLYPRE) { + if (event.getX() - startX > scrollX) { + //向前翻页成功 + initMoveSuccessAnim(viewContents.get(0), 0); + } else { + initMoveFailAnim(viewContents.get(0), -getWidth()); + } + } else { + //没有上一页 + noPre(); + } + } else if (event.getX() - startX < 0) { + if (state == PREANDNEXT || state == ONLYNEXT) { + int tempIndex = (state == PREANDNEXT ? 1 : 0); + if (startX - event.getX() > scrollX) { + //向后翻页成功 + initMoveSuccessAnim(viewContents.get(tempIndex), -getWidth()); + } else { + initMoveFailAnim(viewContents.get(tempIndex), 0); + } + } else { + //没有下一页 + noNext(); + } + } else { + //点击事件 + if (readBookControl.getCanClickTurn() && event.getX() <= getWidth() / 3) { + //点击向前翻页 + if (state == PREANDNEXT || state == ONLYPRE) { + initMoveSuccessAnim(viewContents.get(0), 0); + } else { + noPre(); + } + } else if (readBookControl.getCanClickTurn() && event.getX() >= getWidth() / 3 * 2) { + //点击向后翻页 + if (state == PREANDNEXT || state == ONLYNEXT) { + int tempIndex = (state == PREANDNEXT ? 1 : 0); + initMoveSuccessAnim(viewContents.get(tempIndex), -getWidth()); + } else { + noNext(); + } + } else { + //点击中间部位 + if (loadDataListener != null) + loadDataListener.showMenu(); + } + } + startX = -1; + break; + default: + break; + } + } + return super.onTouchEvent(event); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + if (viewContents.size() > 0) { + if (state == NONE && viewContents.size() >= 1) { + viewContents.get(0).layout(0, top, getWidth(), bottom); + } else if (state == PREANDNEXT && viewContents.size() >= 3) { + viewContents.get(0).layout(-getWidth(), top, 0, bottom); + viewContents.get(1).layout(0, top, getWidth(), bottom); + viewContents.get(2).layout(0, top, getWidth(), bottom); + } else if (state == ONLYPRE && viewContents.size() >= 2) { + viewContents.get(0).layout(-getWidth(), top, 0, bottom); + viewContents.get(1).layout(0, top, getWidth(), bottom); + } else if (viewContents.size() >= 2) { + viewContents.get(0).layout(0, top, getWidth(), bottom); + viewContents.get(1).layout(0, top, getWidth(), bottom); + } + } else { + super.onLayout(changed, left, top, right, bottom); + } + } + + private void initMoveSuccessAnim(final View view, final int orderX) { + if (null != view) { + long temp = Math.abs(view.getLeft() - orderX) / (getWidth() / animDuration); + ValueAnimator tempAnim = ValueAnimator.ofInt(view.getLeft(), orderX).setDuration(temp); + tempAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + if (null != view) { + int value = (int) animation.getAnimatedValue(); + view.layout(value, view.getTop(), value + getWidth(), view.getBottom()); + } + } + }); + tempAnim.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animation) { + isMoving = true; + } + + @Override + public void onAnimationEnd(Animator animation) { + isMoving = false; + if (orderX == 0) { + //翻向前一页 + durPageView = viewContents.get(0); + if (state == PREANDNEXT) { + ContentSwitchView.this.removeView(viewContents.get(viewContents.size() - 1)); + viewContents.remove(viewContents.size() - 1); + } + state = ONLYNEXT; + if(durPageView.getDurChapterIndex()-1>=0 || durPageView.getDurPageIndex()-1>=0){ + addPrePage(durPageView.getDurChapterIndex(), durPageView.getChapterAll(), durPageView.getDurPageIndex(), durPageView.getPageAll()); + if (state == NONE) + state = ONLYPRE; + else state = PREANDNEXT; + } + } else { + //翻向后一夜 + if (state == ONLYNEXT) { + durPageView = viewContents.get(1); + } else { + durPageView = viewContents.get(2); + ContentSwitchView.this.removeView(viewContents.get(0)); + viewContents.remove(0); + } + state = ONLYPRE; + if(durPageView.getDurChapterIndex()+1 <=durPageView.getChapterAll()-1 || durPageView.getDurPageIndex()+1 <= durPageView.getPageAll()-1){ + addNextPage(durPageView.getDurChapterIndex(), durPageView.getChapterAll(), durPageView.getDurPageIndex(), durPageView.getPageAll()); + if (state == NONE) + state = ONLYNEXT; + else state = PREANDNEXT; + } + } + if (loadDataListener != null) + loadDataListener.updateProgress(durPageView.getDurChapterIndex(), durPageView.getDurPageIndex()); + } + + @Override + public void onAnimationCancel(Animator animation) { + + } + + @Override + public void onAnimationRepeat(Animator animation) { + + } + }); + tempAnim.start(); + } + } + + private void initMoveFailAnim(final View view, int orderX) { + if (null != view) { + long temp = Math.abs(view.getLeft() - orderX) / (getWidth() / animDuration); + ValueAnimator tempAnim = ValueAnimator.ofInt(view.getLeft(), orderX).setDuration(temp); + tempAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + if (null != view) { + int value = (int) animation.getAnimatedValue(); + view.layout(value, view.getTop(), value + getWidth(), view.getBottom()); + } + } + }); + tempAnim.start(); + } + } + + public void setInitData(int durChapterIndex, int chapterAll, int durPageIndex) { + updateOtherPage(durChapterIndex, chapterAll, durPageIndex, -1); + durPageView.setLoadDataListener(loadDataListener, this); + durPageView.loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex) : "", durChapterIndex, chapterAll, durPageIndex); + + if (loadDataListener != null) + loadDataListener.updateProgress(durPageView.getDurChapterIndex(), durPageView.getDurPageIndex()); + } + + private void updateOtherPage(int durChapterIndex, int chapterAll, int durPageIndex, int pageAll) { + if (chapterAll > 1 || pageAll > 1) { + if ((durChapterIndex == 0 && pageAll == -1) || (durChapterIndex == 0 && durPageIndex == 0 && pageAll != -1)) { + //ONLYNEXT + addNextPage(durChapterIndex, chapterAll, durPageIndex, pageAll); + if (state == ONLYPRE || state == PREANDNEXT) { + this.removeView(viewContents.get(0)); + viewContents.remove(0); + } + state = ONLYNEXT; + } else if ((durChapterIndex == chapterAll - 1 && pageAll == -1) || (durChapterIndex == chapterAll - 1 && durPageIndex == pageAll - 1 && pageAll != -1)) { + //ONLYPRE + addPrePage(durChapterIndex, chapterAll, durPageIndex, pageAll); + if (state == ONLYNEXT || state == PREANDNEXT) { + this.removeView(viewContents.get(2)); + viewContents.remove(2); + } + state = ONLYPRE; + } else { + //PREANDNEXT + addNextPage(durChapterIndex, chapterAll, durPageIndex, pageAll); + addPrePage(durChapterIndex, chapterAll, durPageIndex, pageAll); + state = PREANDNEXT; + } + } else { + //NONE + if (state == ONLYPRE) { + this.removeView(viewContents.get(0)); + viewContents.remove(0); + } else if (state == ONLYNEXT) { + this.removeView(viewContents.get(1)); + viewContents.remove(1); + } else if (state == PREANDNEXT) { + this.removeView(viewContents.get(0)); + this.removeView(viewContents.get(2)); + viewContents.remove(2); + viewContents.remove(0); + } + state = NONE; + } + } + + private void addNextPage(int durChapterIndex, int chapterAll, int durPageIndex, int pageAll) { + if (state == ONLYNEXT || state == PREANDNEXT) { + int temp = (state == ONLYNEXT ? 1 : 2); + if (pageAll > 0 && durPageIndex >= 0 && durPageIndex < pageAll - 1) + viewContents.get(temp).loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex) : "", durChapterIndex, chapterAll, durPageIndex + 1); + else + viewContents.get(temp).loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex + 1) : "", durChapterIndex + 1, chapterAll, BookContentView.DURPAGEINDEXBEGIN); + } else if (state == ONLYPRE || state == NONE) { + BookContentView next = new BookContentView(getContext()); + next.setReadBookControl(readBookControl); + next.setLoadDataListener(loadDataListener, this); + if (pageAll > 0 && durPageIndex >= 0 && durPageIndex < pageAll - 1) + next.loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex) : "", durChapterIndex, chapterAll, durPageIndex + 1); + else + next.loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex + 1) : "", durChapterIndex + 1, chapterAll, BookContentView.DURPAGEINDEXBEGIN); + viewContents.add(next); + this.addView(next, 0); + } + } + + private void addPrePage(int durChapterIndex, int chapterAll, int durPageIndex, int pageAll) { + if (state == ONLYNEXT || state == NONE) { + BookContentView pre = new BookContentView(getContext()); + pre.setReadBookControl(readBookControl); + pre.setLoadDataListener(loadDataListener, this); + if (pageAll > 0 && durPageIndex >= 0 && durPageIndex > 0) + pre.loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex) : "", durChapterIndex, chapterAll, durPageIndex - 1); + else + pre.loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex - 1) : "", durChapterIndex - 1, chapterAll, BookContentView.DURPAGEINDEXEND); + viewContents.add(0, pre); + this.addView(pre); + } else if (state == ONLYPRE || state == PREANDNEXT) { + if (pageAll > 0 && durPageIndex >= 0 && durPageIndex > 0) + viewContents.get(0).loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex) : "", durChapterIndex, chapterAll, durPageIndex - 1); + else + viewContents.get(0).loadData(null != loadDataListener ? loadDataListener.getChapterTitle(durChapterIndex - 1) : "", durChapterIndex - 1, chapterAll, BookContentView.DURPAGEINDEXEND); + } + } + + + @Override + public void setDataFinish(BookContentView bookContentView, int durChapterIndex, int chapterAll, int durPageIndex, int pageAll, int fromPageIndex) { + if (null != getDurContentView() && bookContentView == getDurContentView() && chapterAll > 0 && pageAll > 0) { + updateOtherPage(durChapterIndex, chapterAll, durPageIndex, pageAll); + } + } + + public interface LoadDataListener { + public void loaddata(BookContentView bookContentView, long tag, int chapterIndex, int pageIndex); + + public void updateProgress(int chapterIndex, int pageIndex); + + public String getChapterTitle(int chapterIndex); + + public void initData(int lineCount); + + public void showMenu(); + } + + private LoadDataListener loadDataListener; + + public LoadDataListener getLoadDataListener() { + return loadDataListener; + } + + public void setLoadDataListener(LoadDataListener loadDataListener) { + this.loadDataListener = loadDataListener; + } + + public BookContentView getDurContentView() { + return durPageView; + } + + private void noPre() { + Toast.makeText(getContext(), "没有上一页", Toast.LENGTH_SHORT).show(); + } + + private void noNext() { + Toast.makeText(getContext(), "没有下一页", Toast.LENGTH_SHORT).show(); + } + + private ViewTreeObserver.OnGlobalLayoutListener layoutInitListener = new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + if(bookReadInitListener !=null){ + bookReadInitListener.success(); + } + durPageView.getTvContent().getViewTreeObserver().removeOnGlobalLayoutListener(layoutInitListener); + } + }; + private ViewTreeObserver.OnGlobalLayoutListener layoutListener = new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + int height = durPageView.getTvContent().getHeight(); + if (height > 0) { + if (loadDataListener != null && durHeight != height) { + durHeight = height; + loadDataListener.initData(durPageView.getLineCount(height)); + } + } + } + }; + + private int durHeight = 0; + + public Paint getTextPaint() { + return durPageView.getTvContent().getPaint(); + } + + public int getContentWidth(){ + return durPageView.getTvContent().getWidth(); + } + + public void changeBg(){ + for(BookContentView item : viewContents){ + item.setBg(readBookControl); + } + } + + public void changeTextSize(){ + for(BookContentView item : viewContents){ + item.setTextKind(readBookControl); + } + loadDataListener.initData(durPageView.getLineCount(durHeight)); + } + + public boolean onKeyDown(int keyCode, KeyEvent event){ + if(readBookControl.getCanKeyTurn() && keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){ + if (state == PREANDNEXT || state == ONLYNEXT) { + int tempIndex = (state == PREANDNEXT ? 1 : 0); + initMoveSuccessAnim(viewContents.get(tempIndex), -getWidth()); + } else { + noNext(); + } + return true; + }else if(readBookControl.getCanKeyTurn() && keyCode == KeyEvent.KEYCODE_VOLUME_UP){ + if (state == PREANDNEXT || state == ONLYPRE) { + initMoveSuccessAnim(viewContents.get(0), 0); + } else { + noPre(); + } + return true; + } + return false; + } + + public boolean onKeyUp(int keyCode, KeyEvent event){ + if(readBookControl.getCanKeyTurn() && keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){ + return true; + }else if(readBookControl.getCanKeyTurn() && keyCode == KeyEvent.KEYCODE_VOLUME_UP){ + return true; + } + return false; + } + + public OnBookReadInitListener getBookReadInitListener() { + return bookReadInitListener; + } + + public void setBookReadInitListener(OnBookReadInitListener bookReadInitListener) { + this.bookReadInitListener = bookReadInitListener; + } + + public void loadError(){ + if(durPageView != null){ + durPageView.loadError(); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/flowlayout/FlowLayout.java b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/FlowLayout.java new file mode 100644 index 0000000000..fe57a59607 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/FlowLayout.java @@ -0,0 +1,221 @@ +package com.monke.monkeybook.widget.flowlayout; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; +import com.monke.monkeybook.R; +import java.util.ArrayList; +import java.util.List; + +public class FlowLayout extends ViewGroup +{ + private static final String TAG = "FlowLayout"; + private static final int LEFT = -1; + private static final int CENTER = 0; + private static final int RIGHT = 1; + + protected List> mAllViews = new ArrayList>(); + protected List mLineHeight = new ArrayList(); + protected List mLineWidth = new ArrayList(); + private int mGravity; + private List lineViews = new ArrayList<>(); + + public FlowLayout(Context context, AttributeSet attrs, int defStyle) + { + super(context, attrs, defStyle); + TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TagFlowLayout); + mGravity = ta.getInt(R.styleable.TagFlowLayout_gravity,LEFT); + ta.recycle(); + } + + public FlowLayout(Context context, AttributeSet attrs) + { + this(context, attrs, 0); + } + + public FlowLayout(Context context) + { + this(context, null); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) + { + int sizeWidth = MeasureSpec.getSize(widthMeasureSpec); + int modeWidth = MeasureSpec.getMode(widthMeasureSpec); + int sizeHeight = MeasureSpec.getSize(heightMeasureSpec); + int modeHeight = MeasureSpec.getMode(heightMeasureSpec); + + // wrap_content + int width = 0; + int height = 0; + + int lineWidth = 0; + int lineHeight = 0; + + int cCount = getChildCount(); + + for (int i = 0; i < cCount; i++) + { + View child = getChildAt(i); + if (child.getVisibility() == View.GONE) + { + if (i == cCount - 1) + { + width = Math.max(lineWidth, width); + height += lineHeight; + } + continue; + } + measureChild(child, widthMeasureSpec, heightMeasureSpec); + MarginLayoutParams lp = (MarginLayoutParams) child + .getLayoutParams(); + + int childWidth = child.getMeasuredWidth() + lp.leftMargin + + lp.rightMargin; + int childHeight = child.getMeasuredHeight() + lp.topMargin + + lp.bottomMargin; + + if (lineWidth + childWidth > sizeWidth - getPaddingLeft() - getPaddingRight()) + { + width = Math.max(width, lineWidth); + lineWidth = childWidth; + height += lineHeight; + lineHeight = childHeight; + } else + { + lineWidth += childWidth; + lineHeight = Math.max(lineHeight, childHeight); + } + if (i == cCount - 1) + { + width = Math.max(lineWidth, width); + height += lineHeight; + } + } + setMeasuredDimension( + // + modeWidth == MeasureSpec.EXACTLY ? sizeWidth : width + getPaddingLeft() + getPaddingRight(), + modeHeight == MeasureSpec.EXACTLY ? sizeHeight : height + getPaddingTop() + getPaddingBottom()// + ); + + } + + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) + { + mAllViews.clear(); + mLineHeight.clear(); + mLineWidth.clear(); + lineViews.clear(); + + int width = getWidth(); + + int lineWidth = 0; + int lineHeight = 0; + + int cCount = getChildCount(); + + for (int i = 0; i < cCount; i++) + { + View child = getChildAt(i); + if (child.getVisibility() == View.GONE) continue; + MarginLayoutParams lp = (MarginLayoutParams) child + .getLayoutParams(); + + int childWidth = child.getMeasuredWidth(); + int childHeight = child.getMeasuredHeight(); + + if (childWidth + lineWidth + lp.leftMargin + lp.rightMargin > width - getPaddingLeft() - getPaddingRight()) + { + mLineHeight.add(lineHeight); + mAllViews.add(lineViews); + mLineWidth.add(lineWidth); + + lineWidth = 0; + lineHeight = childHeight + lp.topMargin + lp.bottomMargin; + lineViews = new ArrayList(); + } + lineWidth += childWidth + lp.leftMargin + lp.rightMargin; + lineHeight = Math.max(lineHeight, childHeight + lp.topMargin + + lp.bottomMargin); + lineViews.add(child); + + } + mLineHeight.add(lineHeight); + mLineWidth.add(lineWidth); + mAllViews.add(lineViews); + + + + int left = getPaddingLeft(); + int top = getPaddingTop(); + + int lineNum = mAllViews.size(); + + for (int i = 0; i < lineNum; i++) + { + lineViews = mAllViews.get(i); + lineHeight = mLineHeight.get(i); + + // set gravity + int currentLineWidth = this.mLineWidth.get(i); + switch (this.mGravity){ + case LEFT: + left = getPaddingLeft(); + break; + case CENTER: + left = (width - currentLineWidth)/2+getPaddingLeft(); + break; + case RIGHT: + left = width - currentLineWidth + getPaddingLeft(); + break; + } + + for (int j = 0; j < lineViews.size(); j++) + { + View child = lineViews.get(j); + if (child.getVisibility() == View.GONE) + { + continue; + } + + MarginLayoutParams lp = (MarginLayoutParams) child + .getLayoutParams(); + + int lc = left + lp.leftMargin; + int tc = top + lp.topMargin; + int rc = lc + child.getMeasuredWidth(); + int bc = tc + child.getMeasuredHeight(); + + child.layout(lc, tc, rc, bc); + + left += child.getMeasuredWidth() + lp.leftMargin + + lp.rightMargin; + } + top += lineHeight; + } + + } + + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) + { + return new MarginLayoutParams(getContext(), attrs); + } + + @Override + protected LayoutParams generateDefaultLayoutParams() + { + return new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + } + + @Override + protected LayoutParams generateLayoutParams(LayoutParams p) + { + return new MarginLayoutParams(p); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagAdapter.java b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagAdapter.java new file mode 100644 index 0000000000..b9f7a58f11 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagAdapter.java @@ -0,0 +1,82 @@ +package com.monke.monkeybook.widget.flowlayout; + +import android.view.View; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public abstract class TagAdapter { + protected List mTagDatas; + private OnDataChangedListener mOnDataChangedListener; + protected HashSet mCheckedPosList = new HashSet(); + + public TagAdapter(){ + + } + + public TagAdapter(List datas) { + mTagDatas = datas; + } + + public TagAdapter(T[] datas) { + mTagDatas = new ArrayList(Arrays.asList(datas)); + } + + interface OnDataChangedListener { + void onChanged(); + } + + void setOnDataChangedListener(OnDataChangedListener listener) { + mOnDataChangedListener = listener; + } + + public void setSelectedList(int... poses) { + Set set = new HashSet<>(); + for (int pos : poses) { + set.add(pos); + } + setSelectedList(set); + } + + public void setSelectedList(Set set) { + mCheckedPosList.clear(); + if (set != null) + mCheckedPosList.addAll(set); + notifyDataChanged(); + } + + public synchronized void replaceAll(List newDatas){ + mTagDatas.clear(); + if(newDatas != null) + mTagDatas.addAll(newDatas); + notifyDataChanged(); + } + + HashSet getPreCheckedList() { + return mCheckedPosList; + } + + + public int getCount() { + return mTagDatas == null ? 0 : mTagDatas.size(); + } + + public void notifyDataChanged() { + mOnDataChangedListener.onChanged(); + } + + public T getItem(int position) { + return mTagDatas.get(position); + } + + public abstract View getView(FlowLayout parent, int position, T t); + + public boolean setSelected(int position, T t) { + return false; + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagFlowLayout.java b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagFlowLayout.java new file mode 100644 index 0000000000..2e2cc275ff --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagFlowLayout.java @@ -0,0 +1,340 @@ +package com.monke.monkeybook.widget.flowlayout; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Rect; +import android.os.Bundle; +import android.os.Parcelable; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.util.Log; +import android.view.MotionEvent; +import android.view.View; + +import com.monke.monkeybook.R; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +public class TagFlowLayout extends FlowLayout implements TagAdapter.OnDataChangedListener +{ + private TagAdapter mTagAdapter; + private boolean mAutoSelectEffect = true; + private int mSelectedMax = -1;//-1为不限制数量 + private static final String TAG = "TagFlowLayout"; + private MotionEvent mMotionEvent; + + private Set mSelectedView = new HashSet(); + + + public TagFlowLayout(Context context, AttributeSet attrs, int defStyle) + { + super(context, attrs, defStyle); + TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.TagFlowLayout); + mAutoSelectEffect = ta.getBoolean(R.styleable.TagFlowLayout_auto_select_effect, true); + mSelectedMax = ta.getInt(R.styleable.TagFlowLayout_max_select, -1); + ta.recycle(); + + if (mAutoSelectEffect) + { + setClickable(true); + } + } + + public TagFlowLayout(Context context, AttributeSet attrs) + { + this(context, attrs, 0); + } + + public TagFlowLayout(Context context) + { + this(context, null); + } + + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) + { + int cCount = getChildCount(); + + for (int i = 0; i < cCount; i++) + { + TagView tagView = (TagView) getChildAt(i); + if (tagView.getVisibility() == View.GONE) continue; + if (tagView.getTagView().getVisibility() == View.GONE) + { + tagView.setVisibility(View.GONE); + } + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + public interface OnSelectListener + { + void onSelected(Set selectPosSet); + } + + private OnSelectListener mOnSelectListener; + + public void setOnSelectListener(OnSelectListener onSelectListener) + { + mOnSelectListener = onSelectListener; + if (mOnSelectListener != null) setClickable(true); + } + + public interface OnTagClickListener + { + boolean onTagClick(View view, int position, FlowLayout parent); + } + + private OnTagClickListener mOnTagClickListener; + + public void setOnTagClickListener(OnTagClickListener onTagClickListener) + { + mOnTagClickListener = onTagClickListener; + if (onTagClickListener != null) setClickable(true); + } + + + public void setAdapter(TagAdapter adapter) + { + mTagAdapter = adapter; + mTagAdapter.setOnDataChangedListener(this); + mSelectedView.clear(); + changeAdapter(); + + } + + private void changeAdapter() + { + removeAllViews(); + TagAdapter adapter = mTagAdapter; + TagView tagViewContainer = null; + HashSet preCheckedList = mTagAdapter.getPreCheckedList(); + for (int i = 0; i < adapter.getCount(); i++) + { + View tagView = adapter.getView(this, i, adapter.getItem(i)); + + tagViewContainer = new TagView(getContext()); +// ViewGroup.MarginLayoutParams clp = (ViewGroup.MarginLayoutParams) tagView.getLayoutParams(); +// ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(clp); +// lp.width = ViewGroup.LayoutParams.WRAP_CONTENT; +// lp.height = ViewGroup.LayoutParams.WRAP_CONTENT; +// lp.topMargin = clp.topMargin; +// lp.bottomMargin = clp.bottomMargin; +// lp.leftMargin = clp.leftMargin; +// lp.rightMargin = clp.rightMargin; + tagView.setDuplicateParentStateEnabled(true); + if (tagView.getLayoutParams() != null) + { + tagViewContainer.setLayoutParams(tagView.getLayoutParams()); + } else + { + MarginLayoutParams lp = new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + lp.setMargins(dip2px(getContext(), 5), + dip2px(getContext(), 5), + dip2px(getContext(), 5), + dip2px(getContext(), 5)); + tagViewContainer.setLayoutParams(lp); + } + tagViewContainer.addView(tagView); + addView(tagViewContainer); + + + if (preCheckedList.contains(i)) + { + tagViewContainer.setChecked(true); + } + + if (mTagAdapter.setSelected(i, adapter.getItem(i))) + { + mSelectedView.add(i); + tagViewContainer.setChecked(true); + } + } + mSelectedView.addAll(preCheckedList); + + } + + + @Override + public boolean onTouchEvent(MotionEvent event) + { + if (event.getAction() == MotionEvent.ACTION_UP) + { + mMotionEvent = MotionEvent.obtain(event); + } + return super.onTouchEvent(event); + } + + @Override + public boolean performClick() + { + if (mMotionEvent == null) return super.performClick(); + + int x = (int) mMotionEvent.getX(); + int y = (int) mMotionEvent.getY(); + mMotionEvent = null; + + TagView child = findChild(x, y); + int pos = findPosByView(child); + if (child != null) + { + doSelect(child, pos); + if (mOnTagClickListener != null) + { + return mOnTagClickListener.onTagClick(child.getTagView(), pos, this); + } + } + return true; + } + + + public void setMaxSelectCount(int count) + { + if (mSelectedView.size() > count) + { + Log.w(TAG, "you has already select more than " + count + " views , so it will be clean ."); + mSelectedView.clear(); + } + mSelectedMax = count; + } + + public Set getSelectedList() + { + return new HashSet(mSelectedView); + } + + private void doSelect(TagView child, int position) + { + if (mAutoSelectEffect) + { + if (!child.isChecked()) + { + //处理max_select=1的情况 + if (mSelectedMax == 1 && mSelectedView.size() == 1) + { + Iterator iterator = mSelectedView.iterator(); + Integer preIndex = iterator.next(); + TagView pre = (TagView) getChildAt(preIndex); + pre.setChecked(false); + child.setChecked(true); + mSelectedView.remove(preIndex); + mSelectedView.add(position); + } else + { + if (mSelectedMax > 0 && mSelectedView.size() >= mSelectedMax) + return; + child.setChecked(true); + mSelectedView.add(position); + } + } else + { + child.setChecked(false); + mSelectedView.remove(position); + } + if (mOnSelectListener != null) + { + mOnSelectListener.onSelected(new HashSet(mSelectedView)); + } + } + } + + public TagAdapter getAdapter() + { + return mTagAdapter; + } + + + private static final String KEY_CHOOSE_POS = "key_choose_pos"; + private static final String KEY_DEFAULT = "key_default"; + + + @Override + protected Parcelable onSaveInstanceState() + { + Bundle bundle = new Bundle(); + bundle.putParcelable(KEY_DEFAULT, super.onSaveInstanceState()); + + String selectPos = ""; + if (mSelectedView.size() > 0) + { + for (int key : mSelectedView) + { + selectPos += key + "|"; + } + selectPos = selectPos.substring(0, selectPos.length() - 1); + } + bundle.putString(KEY_CHOOSE_POS, selectPos); + return bundle; + } + + @Override + protected void onRestoreInstanceState(Parcelable state) + { + if (state instanceof Bundle) + { + Bundle bundle = (Bundle) state; + String mSelectPos = bundle.getString(KEY_CHOOSE_POS); + if (!TextUtils.isEmpty(mSelectPos)) + { + String[] split = mSelectPos.split("\\|"); + for (String pos : split) + { + int index = Integer.parseInt(pos); + mSelectedView.add(index); + + TagView tagView = (TagView) getChildAt(index); + if (tagView != null) + tagView.setChecked(true); + } + + } + super.onRestoreInstanceState(bundle.getParcelable(KEY_DEFAULT)); + return; + } + super.onRestoreInstanceState(state); + } + + private int findPosByView(View child) + { + final int cCount = getChildCount(); + for (int i = 0; i < cCount; i++) + { + View v = getChildAt(i); + if (v == child) return i; + } + return -1; + } + + private TagView findChild(int x, int y) + { + final int cCount = getChildCount(); + for (int i = 0; i < cCount; i++) + { + TagView v = (TagView) getChildAt(i); + if (v.getVisibility() == View.GONE) continue; + Rect outRect = new Rect(); + v.getHitRect(outRect); + if (outRect.contains(x, y)) + { + return v; + } + } + return null; + } + + @Override + public void onChanged() + { + mSelectedView.clear(); + changeAdapter(); + } + + public static int dip2px(Context context, float dpValue) + { + final float scale = context.getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagView.java b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagView.java new file mode 100644 index 0000000000..7590749437 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/flowlayout/TagView.java @@ -0,0 +1,68 @@ +package com.monke.monkeybook.widget.flowlayout; + +import android.content.Context; +import android.view.View; +import android.widget.Checkable; +import android.widget.FrameLayout; + +public class TagView extends FrameLayout implements Checkable +{ + private boolean isChecked; + private static final int[] CHECK_STATE = new int[]{android.R.attr.state_checked}; + + public TagView(Context context) + { + super(context); + } + + public View getTagView() + { + return getChildAt(0); + } + + @Override + public int[] onCreateDrawableState(int extraSpace) + { + int[] states = super.onCreateDrawableState(extraSpace + 1); + if (isChecked()) + { + mergeDrawableStates(states, CHECK_STATE); + } + return states; + } + + + /** + * Change the checked state of the view + * + * @param checked The new checked state + */ + @Override + public void setChecked(boolean checked) + { + if (this.isChecked != checked) + { + this.isChecked = checked; + refreshDrawableState(); + } + } + + /** + * @return The current checked state of the view + */ + @Override + public boolean isChecked() + { + return isChecked; + } + + /** + * Change the checked state of the view to the inverse of its current state + */ + @Override + public void toggle() + { + setChecked(!isChecked); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookAdapter.java b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookAdapter.java new file mode 100644 index 0000000000..5a4aed34a4 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookAdapter.java @@ -0,0 +1,80 @@ +package com.monke.monkeybook.widget.libraryview; + +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageButton; +import android.widget.ImageView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.SearchBookBean; +import java.util.ArrayList; +import java.util.List; +import me.grantland.widget.AutofitTextView; + +public class LibraryKindBookAdapter extends RecyclerView.Adapter{ + private LibraryKindBookListView.OnItemListener itemListener; + + private List datas = new ArrayList<>(); + + public LibraryKindBookAdapter(){ + + } + + @Override + public Viewholder onCreateViewHolder(ViewGroup parent, int i) { + return new Viewholder(LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_library_kindbook, parent, false)); + } + + @Override + public void onBindViewHolder(final Viewholder holder, final int position) { + Glide.with(holder.ivCover.getContext()) + .load(datas.get(position).getCoverUrl()) + .diskCacheStrategy(DiskCacheStrategy.RESULT) + .fitCenter() + .dontAnimate() + .placeholder(R.drawable.img_cover_default) + .into(holder.ivCover); + holder.tvName.setText(datas.get(position).getName()); + holder.tvAuthor.setText(datas.get(position).getAuthor()); + holder.ibContent.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemListener != null) + itemListener.onClickBook(holder.ivCover,datas.get(position)); + } + }); + } + + @Override + public int getItemCount() { + return datas.size(); + } + + class Viewholder extends RecyclerView.ViewHolder { + ImageView ivCover; + AutofitTextView tvName; + AutofitTextView tvAuthor; + ImageButton ibContent; + public Viewholder(View itemView) { + super(itemView); + ivCover= (ImageView) itemView.findViewById(R.id.iv_cover); + tvName = (AutofitTextView) itemView.findViewById(R.id.tv_name); + tvAuthor = (AutofitTextView) itemView.findViewById(R.id.tv_author); + ibContent = (ImageButton) itemView.findViewById(R.id.ib_content); + } + } + + public void setItemListener(LibraryKindBookListView.OnItemListener itemListener) { + this.itemListener = itemListener; + } + + public void updateDataAll(List newDatas){ + datas.clear(); + if(newDatas!=null && newDatas.size()>0) + datas.addAll(newDatas); + notifyDataSetChanged(); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookListView.java b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookListView.java new file mode 100644 index 0000000000..2f0a93e71e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookListView.java @@ -0,0 +1,72 @@ +package com.monke.monkeybook.widget.libraryview; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.support.annotation.Nullable; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; + +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.LibraryKindBookListBean; +import com.monke.monkeybook.bean.SearchBookBean; +import com.monke.monkeybook.utils.DensityUtil; + +import java.util.List; + +public class LibraryKindBookListView extends LinearLayout{ + public interface OnItemListener{ + public void onClickMore(String title,String url); + public void onClickBook(ImageView animView,SearchBookBean searchBookBean); + } + public LibraryKindBookListView(Context context) { + super(context); + init(); + } + + public LibraryKindBookListView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public LibraryKindBookListView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @SuppressLint("NewApi") + public LibraryKindBookListView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init(){ + setOrientation(VERTICAL); + setVisibility(GONE); + LayoutInflater.from(getContext()).inflate(R.layout.view_library_hotauthor, this, true); + } + + public void updateData(List datas, OnItemListener itemListener){ + removeAllViews(); + if(datas!=null && datas.size()>0){ + setVisibility(VISIBLE); + for(int i=0;i0){ + LinearLayout.LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT,DensityUtil.dp2px(getContext(),1f)); + layoutParams.setMargins(0,DensityUtil.dp2px(getContext(),5),0,0); + View view = new View(getContext()); + view.setBackgroundColor(getContext().getResources().getColor(R.color.bg_library)); + view.setLayoutParams(layoutParams); + addView(view); + } + LibraryKindBookView itemView = new LibraryKindBookView(getContext()); + itemView.updateData(datas.get(i),itemListener); + addView(itemView); + } + }else{ + setVisibility(GONE); + } + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookView.java b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookView.java new file mode 100644 index 0000000000..31fa5b45f1 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryKindBookView.java @@ -0,0 +1,82 @@ +package com.monke.monkeybook.widget.libraryview; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.LibraryKindBookListBean; + +public class LibraryKindBookView extends LinearLayout{ + private TextView tvKindName; + private TextView tvMore; + private RecyclerView rvBookLIst; + private LibraryKindBookAdapter libraryKindBookAdapter; + public LibraryKindBookView(Context context) { + super(context); + init(); + } + + public LibraryKindBookView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public LibraryKindBookView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @SuppressLint("NewApi") + public LibraryKindBookView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + LayoutInflater.from(getContext()).inflate(R.layout.view_library_kindbook, this, true); + tvKindName = (TextView) findViewById(R.id.tv_kindname); + tvMore = (TextView) findViewById(R.id.tv_more); + rvBookLIst = (RecyclerView) findViewById(R.id.rv_booklist); + libraryKindBookAdapter = new LibraryKindBookAdapter(); + rvBookLIst.setAdapter(libraryKindBookAdapter); + LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); + linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); + rvBookLIst.setLayoutManager(linearLayoutManager); + + setVisibility(GONE); + } + + + public void updateData(final LibraryKindBookListBean data, final LibraryKindBookListView.OnItemListener itemListener){ + updateData(data,itemListener,data.getKindUrl()==null?false:true); + } + public void updateData(final LibraryKindBookListBean data, final LibraryKindBookListView.OnItemListener itemListener,Boolean hasMore){ + if(data.getBooks()==null || data.getBooks().size()==0){ + setVisibility(GONE); + }else + setVisibility(VISIBLE); + tvKindName.setText(data.getKindName()); + if(hasMore){ + tvMore.setVisibility(VISIBLE); + tvMore.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if(itemListener!=null) + itemListener.onClickMore(data.getKindName(),data.getKindUrl()); + } + }); + }else{ + tvMore.setVisibility(GONE); + tvMore.setOnClickListener(null); + } + libraryKindBookAdapter.setItemListener(itemListener); + libraryKindBookAdapter.updateDataAll(data.getBooks()); + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksAdapter.java b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksAdapter.java new file mode 100644 index 0000000000..343bb90091 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksAdapter.java @@ -0,0 +1,46 @@ +package com.monke.monkeybook.widget.libraryview; + +import android.view.LayoutInflater; +import android.view.View; +import android.widget.TextView; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.LibraryNewBookBean; +import com.monke.monkeybook.widget.flowlayout.FlowLayout; +import com.monke.monkeybook.widget.flowlayout.TagAdapter; +import java.util.ArrayList; + +public class LibraryNewBooksAdapter extends TagAdapter { + private LibraryNewBooksView.OnClickAuthorListener clickNewBookListener; + + public LibraryNewBooksAdapter() { + super(new ArrayList()); + } + + @Override + public View getView(FlowLayout parent, int position, final LibraryNewBookBean libraryNewBookBean) { + TextView tv = (TextView) LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_library_hotauthor_item, + parent, false); + tv.setText(libraryNewBookBean.getName()); + tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if(null != clickNewBookListener){ + clickNewBookListener.clickNewBook(libraryNewBookBean); + } + } + }); + return tv; + } + + public LibraryNewBookBean getItemData(int position){ + return mTagDatas.get(position); + } + + public int getDataSize(){ + return mTagDatas.size(); + } + + public void setClickNewBookListener(LibraryNewBooksView.OnClickAuthorListener clickNewBookListener) { + this.clickNewBookListener = clickNewBookListener; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksView.java b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksView.java new file mode 100644 index 0000000000..3b7cec38c1 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/libraryview/LibraryNewBooksView.java @@ -0,0 +1,61 @@ +package com.monke.monkeybook.widget.libraryview; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.support.annotation.Nullable; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.widget.LinearLayout; +import com.monke.monkeybook.R; +import com.monke.monkeybook.bean.LibraryNewBookBean; +import com.monke.monkeybook.widget.flowlayout.TagFlowLayout; +import java.util.List; + +public class LibraryNewBooksView extends LinearLayout { + private TagFlowLayout tflBooks; + private LibraryNewBooksAdapter libraryNewBooksAdapter; + + public interface OnClickAuthorListener { + public void clickNewBook(LibraryNewBookBean libraryNewBookBean); + } + + public LibraryNewBooksView(Context context) { + super(context); + init(); + } + + public LibraryNewBooksView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public LibraryNewBooksView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + @SuppressLint("NewApi") + public LibraryNewBooksView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + LayoutInflater.from(getContext()).inflate(R.layout.view_library_hotauthor, this, true); + setOrientation(VERTICAL); + setVisibility(GONE); + libraryNewBooksAdapter = new LibraryNewBooksAdapter(); + tflBooks = (TagFlowLayout) findViewById(R.id.tfl_author); + tflBooks.setAdapter(libraryNewBooksAdapter); + } + + public void updateData(List datas, OnClickAuthorListener clickAuthorListener) { + if (datas != null && datas.size() > 0) { + setVisibility(VISIBLE); + libraryNewBooksAdapter.setClickNewBookListener(clickAuthorListener); + libraryNewBooksAdapter.replaceAll(datas); + } else { + setVisibility(GONE); + } + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressHUD.java b/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressHUD.java new file mode 100644 index 0000000000..3861eaeb5e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressHUD.java @@ -0,0 +1,299 @@ +package com.monke.monkeybook.widget.modialog; + +import android.app.Activity; +import android.content.Context; +import android.graphics.Color; +import android.media.MediaMetadataRetriever; +import android.os.Handler; +import android.view.Gravity; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.inputmethod.InputMethodManager; +import android.widget.FrameLayout; + +import com.monke.monkeybook.R; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by ZQH on 2016/7/24. + */ +public class MoProgressHUD { + private Boolean isFinishing = false; + + private Context context; + private ViewGroup decorView;//activity的根View + private ViewGroup rootView;// mSharedView 的 根View + private MoProgressView mSharedView; + + + private Animation inAnim; + private Animation outAnim; + + private Boolean canBack = false; + + public MoProgressHUD(Context context) { + this.context = context; + initViews(); + initCenter(); + initAnimation(); + } + + private void initAnimation() { + inAnim = getInAnimation(); + outAnim = getOutAnimation(); + } + private void initFromTopRight(){ + inAnim = AnimationUtils.loadAnimation(context,R.anim.moprogress_in_top_right); + outAnim = AnimationUtils.loadAnimation(context,R.anim.moprogress_out_top_right); + } + private void initFromBottomRight(){ + inAnim = AnimationUtils.loadAnimation(context,R.anim.moprogress_in_bottom_right); + outAnim = AnimationUtils.loadAnimation(context,R.anim.moprogress_out_bottom_right); + } + + private void initFromBottomAnimation() { + inAnim = AnimationUtils.loadAnimation(context, R.anim.moprogress_bottom_in); + outAnim = AnimationUtils.loadAnimation(context, R.anim.moprogress_bottom_out); + } + + private void initCenter() { + mSharedView.setGravity(Gravity.CENTER); + if(mSharedView != null){ + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) mSharedView.getLayoutParams(); + if(layoutParams!=null){ + layoutParams.setMargins(0, 0, 0, 0); + mSharedView.setLayoutParams(layoutParams); + } + mSharedView.setPadding(0,0,0,0); + } + } + + private void initBottom() { + mSharedView.setGravity(Gravity.BOTTOM); + if(mSharedView != null){ + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) mSharedView.getLayoutParams(); + if(layoutParams!=null){ + layoutParams.setMargins(0, 0, 0, 0); + mSharedView.setLayoutParams(layoutParams); + } + mSharedView.setPadding(0,0,0,0); + } + } + + private void initMarRightTop() { + mSharedView.setGravity(Gravity.RIGHT | Gravity.TOP); + if(mSharedView != null){ + FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) mSharedView.getLayoutParams(); + if(layoutParams!=null){ + layoutParams.setMargins(0, 0, 0, 0); + mSharedView.setLayoutParams(layoutParams); + } + mSharedView.setPadding(0, 0, 0, 0); + } + } + + private void initViews() { + decorView = (ViewGroup) ((Activity) context).getWindow().getDecorView().findViewById(android.R.id.content); + rootView = new FrameLayout(context); + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT + ); + rootView.setLayoutParams(layoutParams); + rootView.setClickable(true); + + mSharedView = new MoProgressView(context); + + } + + public Animation getInAnimation() { + return AnimationUtils.loadAnimation(context, R.anim.moprogress_in); + } + + public Animation getOutAnimation() { + return AnimationUtils.loadAnimation(context, R.anim.moprogress_out); + } + + public boolean isShowing() { + return rootView.getParent() != null; + } + + private void onAttached() { + decorView.addView(rootView); + if (mSharedView.getParent() != null) + ((ViewGroup) mSharedView.getParent()).removeView(mSharedView); + rootView.addView(mSharedView); + + isFinishing = false; + } + + public void dismiss() { + //消失动画 + if (mSharedView != null && rootView != null && mSharedView.getParent() != null) { + if (!isFinishing) { + new Handler().post(new Runnable() { + @Override + public void run() { + outAnim.setAnimationListener(outAnimListener); + mSharedView.getChildAt(0).startAnimation(outAnim); + } + }); + } + } + } + + public Boolean isShow() { + if (mSharedView != null && mSharedView.getParent() != null) return true; + return false; + } + + Animation.AnimationListener outAnimListener = new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + isFinishing = true; + } + + @Override + public void onAnimationEnd(Animation animation) { + dismissImmediately(); + } + + @Override + public void onAnimationRepeat(Animation animation) { + + } + }; + + public void dismissImmediately() { + if (mSharedView != null && rootView != null && mSharedView.getParent() != null) { + new Handler().post(new Runnable() { + @Override + public void run() { + rootView.removeView(mSharedView); + decorView.removeView(rootView); + } + }); + } + isFinishing = false; + } + + //转圈的载入 + public void showLoading() { + showLoading(null); + } + + //同上 + public void showLoading(String msg) { + initCenter(); + initAnimation(); + canBack = false; + rootView.setBackgroundColor(Color.parseColor("#00000000")); + rootView.setOnClickListener(null); + if (!isShowing()) { + onAttached(); + } + mSharedView.showLoading(msg); + mSharedView.getChildAt(0).startAnimation(inAnim); + } + + //单个按钮的提示信息 + public void showInfo(String msg) { + initCenter(); + initAnimation(); + canBack = true; + rootView.setBackgroundColor(Color.parseColor("#00000000")); + rootView.setOnClickListener(null); + mSharedView.showInfo(msg, new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + if (!isShowing()) { + onAttached(); + } + mSharedView.getChildAt(0).startAnimation(inAnim); + } + + //单个按钮的提示信息 + public void showInfo(String msg, String btnText, View.OnClickListener listener) { + initCenter(); + initAnimation(); + canBack = true; + rootView.setBackgroundColor(Color.parseColor("#CC000000")); + rootView.setOnClickListener(null); + mSharedView.showInfo(msg, btnText, listener); + if (!isShowing()) { + onAttached(); + } + mSharedView.getChildAt(0).startAnimation(inAnim); + } + + //////////////////////两个不同等级的按钮////////////////////// + public void showTwoButton(String msg, String b_f, View.OnClickListener c_f, String b_s, View.OnClickListener c_s) { + initCenter(); + initAnimation(); + canBack = true; + rootView.setBackgroundColor(Color.parseColor("#CC000000")); + rootView.setOnClickListener(null); + mSharedView.showTwoButton(msg, b_f, c_f, b_s, c_s); + if (!isShowing()) { + onAttached(); + } + mSharedView.getChildAt(0).startAnimation(inAnim); + } + ////////////////////离线章节选择//////////////////////////// + public interface OnClickDownload{ + public void download(int start,int end); + } + public void showDownloadList(int startIndex, int endIndex,int all, OnClickDownload clickDownload){ + initCenter(); + initAnimation(); + canBack = true; + rootView.setBackgroundColor(Color.parseColor("#00000000")); + rootView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + mSharedView.showDownloadList(startIndex, endIndex, all, clickDownload, new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + } + }); + if (!isShowing()) { + onAttached(); + } + mSharedView.getChildAt(0).startAnimation(inAnim); + } + ////////////////////////////////////////////////////////// + + public Boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (isShowing() && canBack) { + dismiss(); + return true; + } + } + return false; + } + + public Boolean getCanBack() { + return canBack; + } + + public Boolean onPressBack() { + if (isShowing() && canBack) { + dismiss(); + return true; + } + return false; + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressView.java b/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressView.java new file mode 100644 index 0000000000..41206ec92e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/modialog/MoProgressView.java @@ -0,0 +1,179 @@ +package com.monke.monkeybook.widget.modialog; + +import android.content.Context; +import android.content.Intent; +import android.text.Editable; +import android.text.TextWatcher; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.monke.monkeybook.R; +import com.victor.loading.rotate.RotateLoading; + +/** + * Created by ZQH on 2016/7/24. + */ +public class MoProgressView extends LinearLayout { + private Context context; + + public MoProgressView(Context context) { + this(context, null); + } + + public MoProgressView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public MoProgressView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + this.context = context; + setOrientation(VERTICAL); + } + + //转圈的载入 + public void showLoading(String text) { + removeAllViews(); + LayoutInflater.from(getContext()).inflate(R.layout.moprogress_dialog_loading, this, true); + TextView msgTv = (TextView) findViewById(R.id.msg_tv); + if (text != null && text.length() > 0) { + msgTv.setText(text); + } + + RotateLoading rlLoading = (RotateLoading) findViewById(R.id.rl_loading); + rlLoading.start(); + } + + //单个按钮的信息提示框 + public void showInfo(String msg, final OnClickListener listener) { + removeAllViews(); + LayoutInflater.from(getContext()).inflate(R.layout.moprogress_dialog_infor, this, true); + TextView msgTv = (TextView) findViewById(R.id.msg_tv); + msgTv.setText(msg); + TextView tvClose = (TextView) findViewById(R.id.tv_close); + tvClose.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + listener.onClick(v); + } + }); + } + + //单个按钮的信息提示框 + public void showInfo(String msg, String btnText, final OnClickListener listener) { + removeAllViews(); + LayoutInflater.from(getContext()).inflate(R.layout.moprogress_dialog_infor, this, true); + TextView msgTv = (TextView) findViewById(R.id.msg_tv); + msgTv.setText(msg); + TextView tvClose = (TextView) findViewById(R.id.tv_close); + tvClose.setText(btnText); + tvClose.setOnClickListener(listener); + } + //////////////////////两个不同等级的按钮////////////////////// + public void showTwoButton(String msg, String b_f, OnClickListener c_f, String b_s, OnClickListener c_s) { + removeAllViews(); + LayoutInflater.from(getContext()).inflate(R.layout.moprogress_dialog_two, this, true); + TextView tvMsg = (TextView) findViewById(R.id.tv_msg); + TextView tvCancel = (TextView) findViewById(R.id.tv_cancel); + TextView tvDone = (TextView) findViewById(R.id.tv_done); + tvMsg.setText(msg); + tvCancel.setText(b_f); + tvCancel.setOnClickListener(c_f); + tvDone.setText(b_s); + tvDone.setOnClickListener(c_s); + } + + ////////////////////离线章节选择//////////////////////////// + public void showDownloadList(int startIndex, int endIndex, final int all, final MoProgressHUD.OnClickDownload clickDownload, OnClickListener cancel){ + removeAllViews(); + LayoutInflater.from(getContext()).inflate(R.layout.moprogress_dialog_downloadchoice, this, true); + final EditText edtStart = (EditText) findViewById(R.id.edt_start); + final EditText edtEnd = (EditText) findViewById(R.id.edt_end); + TextView tvCancel = (TextView) findViewById(R.id.tv_cancel); + tvCancel.setOnClickListener(cancel); + TextView tvDownload = (TextView) findViewById(R.id.tv_download); + edtStart.setText(String.valueOf(startIndex+1)); + edtEnd.setText(String.valueOf(endIndex+1)); + edtStart.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + if(edtStart.getText().length()>0){ + try{ + int temp = Integer.parseInt(edtStart.getText().toString().trim()); + if(temp>all){ + edtStart.setText(String.valueOf(all)); + edtStart.setSelection(edtStart.getText().length()); + Toast.makeText(context,"超过总章节",Toast.LENGTH_SHORT).show(); + }else if(temp<=0){ + edtStart.setText(String.valueOf(1)); + edtStart.setSelection(edtStart.getText().length()); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + } + }); + edtEnd.addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + + } + + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + + } + + @Override + public void afterTextChanged(Editable s) { + if(edtEnd.getText().length()>0){ + try{ + int temp = Integer.parseInt(edtEnd.getText().toString().trim()); + if(temp>all){ + edtEnd.setText(String.valueOf(all)); + edtEnd.setSelection(edtEnd.getText().length()); + Toast.makeText(context,"超过总章节",Toast.LENGTH_SHORT).show(); + }else if(temp<=0){ + edtEnd.setText(String.valueOf(1)); + edtEnd.setSelection(edtEnd.getText().length()); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + } + }); + tvDownload.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if(edtStart.getText().length()>0 && edtEnd.getText().length()>0){ + if(Integer.parseInt(edtStart.getText().toString())>Integer.parseInt(edtEnd.getText().toString())){ + Toast.makeText(context,"输入错误",Toast.LENGTH_SHORT).show(); + }else{ + if(clickDownload!=null){ + clickDownload.download(Integer.parseInt(edtStart.getText().toString())-1,Integer.parseInt(edtEnd.getText().toString())-1); + } + } + }else{ + Toast.makeText(context,"请输入要离线的章节",Toast.LENGTH_SHORT).show(); + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/BaseRefreshListener.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/BaseRefreshListener.java new file mode 100644 index 0000000000..844940759f --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/BaseRefreshListener.java @@ -0,0 +1,6 @@ +package com.monke.monkeybook.widget.refreshview; + +public interface BaseRefreshListener { + + public void startRefresh(); +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnLoadMoreListener.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnLoadMoreListener.java new file mode 100644 index 0000000000..cc3ce94095 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnLoadMoreListener.java @@ -0,0 +1,8 @@ +package com.monke.monkeybook.widget.refreshview; + +public interface OnLoadMoreListener { + + public void startLoadmore(); + + public void loadMoreErrorTryAgain(); +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnRefreshWithProgressListener.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnRefreshWithProgressListener.java new file mode 100644 index 0000000000..91f25883c0 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/OnRefreshWithProgressListener.java @@ -0,0 +1,6 @@ +package com.monke.monkeybook.widget.refreshview; + +public interface OnRefreshWithProgressListener extends BaseRefreshListener{ + + public int getMaxProgress(); +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshProgressBar.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshProgressBar.java new file mode 100644 index 0000000000..26e463123a --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshProgressBar.java @@ -0,0 +1,259 @@ +package com.monke.monkeybook.widget.refreshview; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.os.Handler; +import android.os.Looper; +import android.util.AttributeSet; +import android.view.View; + +import com.monke.monkeybook.R; + +public class RefreshProgressBar extends View { + private int maxProgress = 100; + private int durProgress = 0; + + private int secondMaxProgress = 100; + private int secondDurProgress = 0; + + private int bgColor = 0x00000000; + private int secondColor = 0xFFC1C1C1; + private int fontColor = 0xFF363636; + + private int speed = 1; + private int secondFinalProgress = 0; + + private Paint paint; + + private Handler handler; + + private Boolean isAutoLoading = false; + + public Boolean getIsAutoLoading() { + return isAutoLoading; + } + + public void setIsAutoLoading(Boolean loading) { + if(loading && getVisibility() != View.VISIBLE){ + setVisibility(View.VISIBLE); + } + isAutoLoading = loading; + if(!isAutoLoading){ + secondDurProgress = 0; + secondFinalProgress = 0; + } + maxProgress = 0; + + invalidate(); + } + + public RefreshProgressBar(Context context) { + this(context, null); + } + + public RefreshProgressBar(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public RefreshProgressBar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + init(context, attrs, defStyleAttr); + } + + private void init(Context context, AttributeSet attrs, int defStyleAttr) { + handler = new Handler(Looper.getMainLooper()); + paint = new Paint(); + paint.setStyle(Paint.Style.FILL); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RefreshProgressBar); + speed = a.getDimensionPixelSize(R.styleable.RefreshProgressBar_speed, speed); + maxProgress = a.getInt(R.styleable.RefreshProgressBar_max_progress, maxProgress); + durProgress = a.getInt(R.styleable.RefreshProgressBar_dur_progress, durProgress); + secondDurProgress = a.getDimensionPixelSize(R.styleable.RefreshProgressBar_second_dur_progress, secondDurProgress); + secondFinalProgress = secondDurProgress; + secondMaxProgress = a.getDimensionPixelSize(R.styleable.RefreshProgressBar_second_max_progress, secondMaxProgress); + bgColor = a.getColor(R.styleable.RefreshProgressBar_bg_color, bgColor); + secondColor = a.getColor(R.styleable.RefreshProgressBar_second_color, secondColor); + fontColor = a.getColor(R.styleable.RefreshProgressBar_font_color, fontColor); + a.recycle(); + } + + int a = 1; + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + + paint.setColor(bgColor); + Rect bgRect = new Rect(0, 0, getMeasuredWidth(), getMeasuredHeight()); + canvas.drawRect(bgRect, paint); + + if (secondDurProgress > 0 && secondMaxProgress>0) { + int secondDur = secondDurProgress; + if (secondDur < 0) { + secondDur = 0; + } + if (secondDur > secondMaxProgress) { + secondDur = secondMaxProgress; + } + paint.setColor(secondColor); + int tempW = (int) (getMeasuredWidth() * 1.0f * (secondDur * 1.0f / secondMaxProgress)); + Rect secondRect = new Rect(getMeasuredWidth() / 2 - tempW / 2, 0, getMeasuredWidth() / 2 + tempW / 2, getMeasuredHeight()); + canvas.drawRect(secondRect, paint); + } + + if (durProgress > 0 && maxProgress>0) { + paint.setColor(fontColor); + RectF fontRectF = new RectF(0, 0, getMeasuredWidth() * 1.0f * (durProgress * 1.0f / maxProgress), getMeasuredHeight()); + canvas.drawRect(fontRectF, paint); + } + + if (isAutoLoading) { + if (secondDurProgress >= secondMaxProgress) { + a = -1; + } else if (secondDurProgress <= 0) { + a = 1; + } + secondDurProgress += (a * speed); + if (secondDurProgress < 0) + secondDurProgress = 0; + else if (secondDurProgress > secondMaxProgress) + secondDurProgress = secondMaxProgress; + secondFinalProgress = secondDurProgress; + invalidate(); + }else{ + if (secondDurProgress != secondFinalProgress) { + if (secondDurProgress > secondFinalProgress) { + secondDurProgress -= speed; + if (secondDurProgress < secondFinalProgress) { + secondDurProgress = secondFinalProgress; + } + } else { + secondDurProgress += speed; + if (secondDurProgress > secondFinalProgress) { + secondDurProgress = secondFinalProgress; + } + } + this.invalidate(); + } + if(secondDurProgress==0 && durProgress==0 && secondFinalProgress==0 && getVisibility()==View.VISIBLE){ + setVisibility(View.INVISIBLE); + } + } + } + + public int getMaxProgress() { + return maxProgress; + } + + public void setMaxProgress(int maxProgress) { + this.maxProgress = maxProgress; + } + + public int getDurProgress() { + return durProgress; + } + + public void setDurProgress(int durProgress) { + if (durProgress < 0) { + durProgress = 0; + } + if (durProgress > maxProgress) { + durProgress = maxProgress; + } + this.durProgress = durProgress; + if (Looper.myLooper() == Looper.getMainLooper()) { + this.invalidate(); + } else { + this.postInvalidate(); + } + } + + public int getSecondMaxProgress() { + return secondMaxProgress; + } + + public void setSecondMaxProgress(int secondMaxProgress) { + this.secondMaxProgress = secondMaxProgress; + } + + public int getSecondDurProgress() { + return secondDurProgress; + } + + public void setSecondDurProgress(int secondDur) { + this.secondDurProgress = secondDur; + this.secondFinalProgress = secondDurProgress; + if (Looper.myLooper() == Looper.getMainLooper()) { + this.invalidate(); + } else { + this.postInvalidate(); + } + } + + public void setSecondDurProgressWithAnim(int secondDur) { + if (secondDur < 0) { + secondDur = 0; + } + if (secondDur > secondMaxProgress) { + secondDur = secondMaxProgress; + } + this.secondFinalProgress = secondDur; + if (Looper.myLooper() == Looper.getMainLooper()) { + this.invalidate(); + } else { + this.postInvalidate(); + } + } + + public void clean() { + durProgress = 0; + secondDurProgress = 0; + secondFinalProgress = 0; + if (Looper.myLooper() == Looper.getMainLooper()) { + this.invalidate(); + } else { + this.postInvalidate(); + } + } + + public void setBgColor(int bgColor) { + this.bgColor = bgColor; + } + + public void setSecondColor(int secondColor) { + this.secondColor = secondColor; + } + + public void setFontColor(int fontColor) { + this.fontColor = fontColor; + } + + public void setSpeed(int speed) { + this.speed = speed; + } + + public int getBgColor() { + return bgColor; + } + + public int getSecondColor() { + return secondColor; + } + + public int getFontColor() { + return fontColor; + } + + public int getSpeed() { + return speed; + } + + public int getSecondFinalProgress() { + return secondFinalProgress; + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerView.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerView.java new file mode 100644 index 0000000000..f2a5b4b0cf --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerView.java @@ -0,0 +1,276 @@ +package com.monke.monkeybook.widget.refreshview; + +import android.content.Context; +import android.content.res.TypedArray; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.widget.FrameLayout; + +import com.monke.monkeybook.R; + +public class RefreshRecyclerView extends FrameLayout { + private View view; + private RefreshProgressBar rpb; + private RecyclerView recyclerView; + + private View noDataView; + private View refreshErrorView; + + public RefreshRecyclerView(Context context) { + this(context, null); + } + + public RefreshRecyclerView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public RefreshRecyclerView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + view = LayoutInflater.from(context).inflate(R.layout.view_refresh_recyclerview, this, false); + rpb = (RefreshProgressBar) view.findViewById(R.id.rpb); + recyclerView = (RecyclerView) view.findViewById(R.id.rv); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RefreshProgressBar); + rpb.setSpeed(a.getDimensionPixelSize(R.styleable.RefreshProgressBar_speed, rpb.getSpeed())); + rpb.setMaxProgress(a.getInt(R.styleable.RefreshProgressBar_max_progress, rpb.getMaxProgress())); + rpb.setSecondMaxProgress(a.getDimensionPixelSize(R.styleable.RefreshProgressBar_second_max_progress, rpb.getSecondMaxProgress())); + rpb.setBgColor(a.getColor(R.styleable.RefreshProgressBar_bg_color, rpb.getBgColor())); + rpb.setSecondColor(a.getColor(R.styleable.RefreshProgressBar_second_color, rpb.getSecondColor())); + rpb.setFontColor(a.getColor(R.styleable.RefreshProgressBar_font_color, rpb.getFontColor())); + a.recycle(); + + bindEvent(); + + addView(view); + } + + private float durTouchY = -1000000; + private BaseRefreshListener baseRefreshListener; + + public void setBaseRefreshListener(BaseRefreshListener baseRefreshListener) { + this.baseRefreshListener = baseRefreshListener; + } + + private OnLoadMoreListener loadMoreListener; + + public void setLoadMoreListener(OnLoadMoreListener loadMoreListener) { + this.loadMoreListener = loadMoreListener; + } + + private void bindEvent() { + recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrollStateChanged(RecyclerView recyclerView, int newState) { + super.onScrollStateChanged(recyclerView, newState); + } + + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + super.onScrolled(recyclerView, dx, dy); + if (((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).canLoadMore() && ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getItemCount() - 1 == ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastVisibleItemPosition()) { + if(!((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getLoadMoreError()){ + if (null != loadMoreListener) { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(2, false); + loadMoreListener.startLoadmore(); + } + } + } + } + }); + + recyclerView.setOnTouchListener(refreshTouchListener); + } + + public RefreshProgressBar getRpb() { + return rpb; + } + + public RecyclerView getRecyclerView() { + return recyclerView; + } + + public void refreshError() { + rpb.setIsAutoLoading(false); + rpb.clean(); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(0, true); + if (noDataView != null) { + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(VISIBLE); + } + } + + public void startRefresh() { + if (baseRefreshListener != null && baseRefreshListener instanceof OnRefreshWithProgressListener) { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsAll(false, false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(1, false); + rpb.setSecondDurProgress(rpb.getSecondMaxProgress()); + rpb.setMaxProgress(((OnRefreshWithProgressListener) baseRefreshListener).getMaxProgress()); + } else { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(1, true); + rpb.setIsAutoLoading(true); + if (noDataView != null) { + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(GONE); + } + } + } + + public void finishRefresh(Boolean needNoti) { + finishRefresh(((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getItemcount() == 0, needNoti); + } + + public void finishRefresh(Boolean isAll, Boolean needNoti) { + rpb.setDurProgress(0); + if (isAll) { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(0, false); + rpb.setIsAutoLoading(false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsAll(isAll, needNoti); + } else { + rpb.setIsAutoLoading(false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(0, needNoti); + } + + if (isAll) { + if (noDataView != null) { + if (((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getItemcount() == 0) + noDataView.setVisibility(VISIBLE); + else + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(GONE); + } + } + } + + public void finishLoadMore(Boolean isAll, Boolean needNoti) { + if (isAll) { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(0, false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsAll(isAll, needNoti); + } else { + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(0, needNoti); + } + + if (noDataView != null) { + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(GONE); + } + } + + public void setRefreshRecyclerViewAdapter(RefreshRecyclerViewAdapter refreshRecyclerViewAdapter, RecyclerView.LayoutManager layoutManager) { + refreshRecyclerViewAdapter.setClickTryAgainListener(new RefreshRecyclerViewAdapter.OnClickTryAgainListener() { + @Override + public void loadMoreErrorTryAgain() { + if (loadMoreListener != null) + loadMoreListener.loadMoreErrorTryAgain(); + } + }); + recyclerView.setLayoutManager(layoutManager); + recyclerView.setAdapter(refreshRecyclerViewAdapter); + } + + public void loadMoreError() { + rpb.setIsAutoLoading(false); + rpb.clean(); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setLoadMoreError(true, true); + } + + public void setNoDataAndrRefreshErrorView(View noData, View refreshError) { + if (noData != null) { + noDataView = noData; +// noDataView.setOnTouchListener(refreshTouchListener); + noDataView.setVisibility(GONE); + addView(noDataView, getChildCount() - 1); + + } + if (refreshError != null) { + refreshErrorView = refreshError; +// refreshErrorView.setOnTouchListener(refreshTouchListener); + addView(refreshErrorView, 2); + refreshErrorView.setVisibility(GONE); + } + } + + private OnTouchListener refreshTouchListener = new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + int action = event.getAction(); + switch (action) { + case MotionEvent.ACTION_DOWN: + durTouchY = event.getY(); + break; + case MotionEvent.ACTION_MOVE: + if (durTouchY == -1000000) + durTouchY = event.getY(); + float dY = event.getY() - durTouchY; //>0下拉 + durTouchY = event.getY(); + if (baseRefreshListener != null && ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getIsRequesting() == 0 && rpb.getSecondDurProgress() == rpb.getSecondFinalProgress()) { + if (rpb.getVisibility() != View.VISIBLE) { + rpb.setVisibility(View.VISIBLE); + } + if (recyclerView.getAdapter().getItemCount() > 0) { + if (0 == ((LinearLayoutManager) recyclerView.getLayoutManager()).findFirstCompletelyVisibleItemPosition()) { + rpb.setSecondDurProgress((int) (rpb.getSecondDurProgress() + dY)); + } + } else { + rpb.setSecondDurProgress((int) (rpb.getSecondDurProgress() + dY)); + } + if (rpb.getSecondDurProgress() <= 0) { + return false; + } else { + return true; + } + } + break; + case MotionEvent.ACTION_UP: + if (baseRefreshListener != null && rpb.getSecondMaxProgress() > 0 && rpb.getSecondDurProgress() > 0) { + if (rpb.getSecondDurProgress() >= rpb.getSecondMaxProgress() && ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getIsRequesting() == 0) { + if (baseRefreshListener instanceof OnRefreshWithProgressListener) { + //带有进度的 + //执行刷新响应 + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsAll(false, false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(1, true); + rpb.setMaxProgress(((OnRefreshWithProgressListener) baseRefreshListener).getMaxProgress()); + baseRefreshListener.startRefresh(); + if (noDataView != null) { + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(GONE); + } + } else { + //不带进度的 + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsAll(false, false); + ((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).setIsRequesting(1, true); + baseRefreshListener.startRefresh(); + if (noDataView != null) { + noDataView.setVisibility(GONE); + } + if (refreshErrorView != null) { + refreshErrorView.setVisibility(GONE); + } + rpb.setIsAutoLoading(true); + } + } else { + if (((RefreshRecyclerViewAdapter) recyclerView.getAdapter()).getIsRequesting() != 1) + rpb.setSecondDurProgressWithAnim(0); + } + } + durTouchY = -1000000; + break; + } + return false; + } + }; +} \ No newline at end of file diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerViewAdapter.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerViewAdapter.java new file mode 100644 index 0000000000..ef8861dc93 --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshRecyclerViewAdapter.java @@ -0,0 +1,177 @@ +package com.monke.monkeybook.widget.refreshview; + +import android.os.Handler; +import android.os.Looper; +import android.support.v7.widget.RecyclerView; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import com.monke.monkeybook.R; + +public abstract class RefreshRecyclerViewAdapter extends RecyclerView.Adapter { + private final int LOADMORETYPE = 2001; + + private Handler handler; + private int isRequesting = 0; //0是未执行网络请求 1是正在下拉刷新 2是正在加载更多 + private Boolean needLoadMore = false; + private Boolean isAll = false; //判断是否还有更多 + private Boolean loadMoreError = false; + + private OnClickTryAgainListener clickTryAgainListener; + + public interface OnClickTryAgainListener { + public void loadMoreErrorTryAgain(); + } + + public RefreshRecyclerViewAdapter(Boolean needLoadMore) { + this.needLoadMore = needLoadMore; + handler = new Handler(); + } + + public int getIsRequesting() { + return isRequesting; + } + + public void setIsRequesting(int isRequesting, Boolean needNoti) { + this.isRequesting = isRequesting; + if (this.isRequesting == 1) { + isAll = false; + } + if (needNoti) { + if (Looper.myLooper() == Looper.getMainLooper()) { + notifyItemRangeChanged(getItemCount(), getItemCount() - getItemcount()); + } else { + handler.post(new Runnable() { + @Override + public void run() { + notifyDataSetChanged(); + } + }); + } + } + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + if (viewType == LOADMORETYPE) { + return new LoadMoreViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.view_refresh_loadmore, parent, false)); + } else + return onCreateViewholder(parent, viewType); + } + + public abstract RecyclerView.ViewHolder onCreateViewholder(ViewGroup parent, int viewType); + + @Override + public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { + if (holder.getItemViewType() == LOADMORETYPE) { + if (!loadMoreError) { + ((LoadMoreViewHolder) holder).tvLoadMore.setText("正在加载..."); + } else { + ((LoadMoreViewHolder) holder).tvLoadMore.setText("加载失败,点击重试"); + } + ((LoadMoreViewHolder) holder).tvLoadMore.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (null != clickTryAgainListener && loadMoreError) { + clickTryAgainListener.loadMoreErrorTryAgain(); + loadMoreError = false; + ((LoadMoreViewHolder) holder).tvLoadMore.setText("正在加载..."); + } + } + }); + } else + onBindViewholder(holder, position); + } + + public abstract void onBindViewholder(RecyclerView.ViewHolder holder, int position); + + @Override + public int getItemViewType(int position) { + if (needLoadMore && isRequesting != 1 && !isAll && position == getItemCount() - 1 && getItemcount() > 0) { + return LOADMORETYPE; + } else { + return getItemViewtype(position); + } + } + + public abstract int getItemViewtype(int position); + + @Override + public int getItemCount() { + if (needLoadMore && isRequesting != 1 && !isAll && getItemcount() > 0) { + return getItemcount() + 1; + } else + return getItemcount(); + } + + public abstract int getItemcount(); + + public void setIsAll(Boolean isAll, Boolean needNoti) { + this.isAll = isAll; + if (needNoti) { + if (Looper.myLooper() == Looper.getMainLooper()) { +// notifyItemRangeChanged(getItemCount(),getItemCount()-getItemcount()); + if (getItemCount() > getItemcount()) { + notifyItemRangeChanged(getItemCount(), getItemCount() - getItemcount()); + } else + notifyItemRemoved(getItemCount() + 1); + } else { + handler.post(new Runnable() { + @Override + public void run() { + notifyDataSetChanged(); + } + }); + } + } + } + + class LoadMoreViewHolder extends RecyclerView.ViewHolder { + FrameLayout llLoadMore; + TextView tvLoadMore; + + public LoadMoreViewHolder(View itemView) { + super(itemView); + llLoadMore = (FrameLayout) itemView.findViewById(R.id.ll_loadmore); + tvLoadMore = (TextView) itemView.findViewById(R.id.tv_loadmore); + } + } + + public Boolean canLoadMore() { + return needLoadMore && isRequesting == 0 && !isAll && getItemcount() > 0; + } + + public OnClickTryAgainListener getClickTryAgainListener() { + return clickTryAgainListener; + } + + public void setClickTryAgainListener(OnClickTryAgainListener clickTryAgainListener) { + this.clickTryAgainListener = clickTryAgainListener; + + } + + public Boolean getLoadMoreError() { + return loadMoreError; + } + + public void setLoadMoreError(Boolean loadMoreError, Boolean needNoti) { + this.isRequesting = 0; + this.loadMoreError = loadMoreError; + if (needNoti) { + if (Looper.myLooper() == Looper.getMainLooper()) { + notifyDataSetChanged(); + } else { + handler.post(new Runnable() { + @Override + public void run() { + notifyDataSetChanged(); + } + }); + } + } + } +} diff --git a/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshScrollView.java b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshScrollView.java new file mode 100644 index 0000000000..49b800d35e --- /dev/null +++ b/app/src/main/java/com/monke/monkeybook/widget/refreshview/RefreshScrollView.java @@ -0,0 +1,101 @@ +package com.monke.monkeybook.widget.refreshview; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.support.annotation.NonNull; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.widget.ScrollView; + +public class RefreshScrollView extends ScrollView{ + private RefreshProgressBar rpb; + private float durTouchY = -1000000; + private BaseRefreshListener baseRefreshListener; + private Boolean isRefreshing = false; + private OnTouchListener touchListener; + + public RefreshScrollView(Context context) { + this(context,null); + } + + public RefreshScrollView(Context context, AttributeSet attrs) { + this(context, attrs,0); + } + + public RefreshScrollView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public RefreshScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public void setRpb(@NonNull RefreshProgressBar rpb) { + this.rpb = rpb; + init(); + } + + private void init() { + touchListener = new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + int action = event.getAction(); + switch (action) { + case MotionEvent.ACTION_DOWN: + durTouchY = event.getY(); + break; + case MotionEvent.ACTION_MOVE: + if (durTouchY == -1000000) + durTouchY = event.getY(); + float dY = event.getY() - durTouchY; //>0下拉 + durTouchY = event.getY(); + if (baseRefreshListener != null && !isRefreshing && rpb.getSecondDurProgress() == rpb.getSecondFinalProgress() && getScrollY()<=0) { + if (rpb.getVisibility() != View.VISIBLE) { + rpb.setVisibility(View.VISIBLE); + } + rpb.setSecondDurProgress((int) (rpb.getSecondDurProgress() + dY)); + if (rpb.getSecondDurProgress() <= 0) { + return false; + } else { + return true; + } + } + break; + case MotionEvent.ACTION_UP: + if (baseRefreshListener != null && rpb.getSecondMaxProgress() > 0 && rpb.getSecondDurProgress() > 0) { + if (rpb.getSecondDurProgress() >= rpb.getSecondMaxProgress() && !isRefreshing) { + startRefresh(); + } else { + rpb.setSecondDurProgressWithAnim(0); + } + } + durTouchY = -1000000; + break; + } + return false; + } + }; + this.setOnTouchListener(touchListener); + } + + public void setBaseRefreshListener(BaseRefreshListener baseRefreshListener) { + this.baseRefreshListener = baseRefreshListener; + } + + public void startRefresh(){ + if(baseRefreshListener!=null){ + isRefreshing = true; + rpb.setIsAutoLoading(true); + baseRefreshListener.startRefresh(); + } + } + + public void finishRefresh(){ + isRefreshing = false; + rpb.setDurProgress(0); + rpb.setIsAutoLoading(false); + } +} diff --git a/app/src/main/res/anim/anim_act_importbook_in.xml b/app/src/main/res/anim/anim_act_importbook_in.xml new file mode 100644 index 0000000000..778ccd084d --- /dev/null +++ b/app/src/main/res/anim/anim_act_importbook_in.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_act_importbook_out.xml b/app/src/main/res/anim/anim_act_importbook_out.xml new file mode 100644 index 0000000000..971513920f --- /dev/null +++ b/app/src/main/res/anim/anim_act_importbook_out.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_bookshelf_item.xml b/app/src/main/res/anim/anim_bookshelf_item.xml new file mode 100644 index 0000000000..8a20cda449 --- /dev/null +++ b/app/src/main/res/anim/anim_bookshelf_item.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_chapterlist_in.xml b/app/src/main/res/anim/anim_pop_chapterlist_in.xml new file mode 100644 index 0000000000..b0bcc5a05f --- /dev/null +++ b/app/src/main/res/anim/anim_pop_chapterlist_in.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_chapterlist_out.xml b/app/src/main/res/anim/anim_pop_chapterlist_out.xml new file mode 100644 index 0000000000..6d294e780f --- /dev/null +++ b/app/src/main/res/anim/anim_pop_chapterlist_out.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_checkaddshelf_in.xml b/app/src/main/res/anim/anim_pop_checkaddshelf_in.xml new file mode 100644 index 0000000000..9085b7e6d6 --- /dev/null +++ b/app/src/main/res/anim/anim_pop_checkaddshelf_in.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_checkaddshelf_out.xml b/app/src/main/res/anim/anim_pop_checkaddshelf_out.xml new file mode 100644 index 0000000000..bd2d3a6f01 --- /dev/null +++ b/app/src/main/res/anim/anim_pop_checkaddshelf_out.xml @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_moresetting_in.xml b/app/src/main/res/anim/anim_pop_moresetting_in.xml new file mode 100644 index 0000000000..161eabc47a --- /dev/null +++ b/app/src/main/res/anim/anim_pop_moresetting_in.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_moresetting_out.xml b/app/src/main/res/anim/anim_pop_moresetting_out.xml new file mode 100644 index 0000000000..10b6138562 --- /dev/null +++ b/app/src/main/res/anim/anim_pop_moresetting_out.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_windowlight_in.xml b/app/src/main/res/anim/anim_pop_windowlight_in.xml new file mode 100644 index 0000000000..dffa737c47 --- /dev/null +++ b/app/src/main/res/anim/anim_pop_windowlight_in.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_windowlight_out.xml b/app/src/main/res/anim/anim_pop_windowlight_out.xml new file mode 100644 index 0000000000..0e5ce0d84c --- /dev/null +++ b/app/src/main/res/anim/anim_pop_windowlight_out.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_windowmenumore_in.xml b/app/src/main/res/anim/anim_pop_windowmenumore_in.xml new file mode 100644 index 0000000000..463c124481 --- /dev/null +++ b/app/src/main/res/anim/anim_pop_windowmenumore_in.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_pop_windowmenumore_out.xml b/app/src/main/res/anim/anim_pop_windowmenumore_out.xml new file mode 100644 index 0000000000..5b80de325b --- /dev/null +++ b/app/src/main/res/anim/anim_pop_windowmenumore_out.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_readbook_bottom_in.xml b/app/src/main/res/anim/anim_readbook_bottom_in.xml new file mode 100644 index 0000000000..48fe0c0aae --- /dev/null +++ b/app/src/main/res/anim/anim_readbook_bottom_in.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_readbook_bottom_out.xml b/app/src/main/res/anim/anim_readbook_bottom_out.xml new file mode 100644 index 0000000000..2e91beb957 --- /dev/null +++ b/app/src/main/res/anim/anim_readbook_bottom_out.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_readbook_top_in.xml b/app/src/main/res/anim/anim_readbook_top_in.xml new file mode 100644 index 0000000000..e36360bc0d --- /dev/null +++ b/app/src/main/res/anim/anim_readbook_top_in.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/anim_readbook_top_out.xml b/app/src/main/res/anim/anim_readbook_top_out.xml new file mode 100644 index 0000000000..0b8acbcebd --- /dev/null +++ b/app/src/main/res/anim/anim_readbook_top_out.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_bottom_in.xml b/app/src/main/res/anim/moprogress_bottom_in.xml new file mode 100644 index 0000000000..ae7f63a7c3 --- /dev/null +++ b/app/src/main/res/anim/moprogress_bottom_in.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_bottom_out.xml b/app/src/main/res/anim/moprogress_bottom_out.xml new file mode 100644 index 0000000000..fdb5058406 --- /dev/null +++ b/app/src/main/res/anim/moprogress_bottom_out.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_in.xml b/app/src/main/res/anim/moprogress_in.xml new file mode 100644 index 0000000000..6a4c8020b4 --- /dev/null +++ b/app/src/main/res/anim/moprogress_in.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_in_bottom_right.xml b/app/src/main/res/anim/moprogress_in_bottom_right.xml new file mode 100644 index 0000000000..ebbb68dd4f --- /dev/null +++ b/app/src/main/res/anim/moprogress_in_bottom_right.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_in_top_right.xml b/app/src/main/res/anim/moprogress_in_top_right.xml new file mode 100644 index 0000000000..cb482348e2 --- /dev/null +++ b/app/src/main/res/anim/moprogress_in_top_right.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_out.xml b/app/src/main/res/anim/moprogress_out.xml new file mode 100644 index 0000000000..4b30255984 --- /dev/null +++ b/app/src/main/res/anim/moprogress_out.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_out_bottom_right.xml b/app/src/main/res/anim/moprogress_out_bottom_right.xml new file mode 100644 index 0000000000..b3570a50b3 --- /dev/null +++ b/app/src/main/res/anim/moprogress_out_bottom_right.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/anim/moprogress_out_top_right.xml b/app/src/main/res/anim/moprogress_out_top_right.xml new file mode 100644 index 0000000000..bfb6ecf7f3 --- /dev/null +++ b/app/src/main/res/anim/moprogress_out_top_right.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/selector_kind_tv_color.xml b/app/src/main/res/color/selector_kind_tv_color.xml new file mode 100644 index 0000000000..b9f06fdf05 --- /dev/null +++ b/app/src/main/res/color/selector_kind_tv_color.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/bg_ib_pre.xml b/app/src/main/res/drawable-v21/bg_ib_pre.xml new file mode 100644 index 0000000000..eb16b456f7 --- /dev/null +++ b/app/src/main/res/drawable-v21/bg_ib_pre.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/bg_ib_pre2.xml b/app/src/main/res/drawable-v21/bg_ib_pre2.xml new file mode 100644 index 0000000000..8aefd89439 --- /dev/null +++ b/app/src/main/res/drawable-v21/bg_ib_pre2.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/bg_ib_pre3.xml b/app/src/main/res/drawable-v21/bg_ib_pre3.xml new file mode 100644 index 0000000000..e824c04fc0 --- /dev/null +++ b/app/src/main/res/drawable-v21/bg_ib_pre3.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-xxhdpi/bg_btn_watch_nor.png b/app/src/main/res/drawable-xxhdpi/bg_btn_watch_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..86bd1f0f77a487a8dd74391587e3523c20181609 GIT binary patch literal 1457 zcmb7E{Xf$Q9N#?LN;9HDY`P?;!c5Xgu99IG|W68gDh9RY2MlQ8Ci~s zKe2ga7ol~{EKa@@@36xAnC3qp$xiKBy>@21`Fy&SIAP+kfmTstJ>Dun-MLFu5+vWn04J{Ypbxe^&d_0S!tWB5RvCR_#&xu3x{QE({_u+gl05QDA;G&A~dHR zfXKbj)LJ*Hx{}#`W5|KV8Dm|_wYtR?FxwCJJJ5;=i0j+75exN`v1EJ0nrH&GGu-?p%<%3;} ze9#1tJ`|gpB89Vd2%SOc6l_D90I9QTux7He!3a=k7HSVcc%)F3gD13NDg2o*fMt4F z+!N~c4~oNYSWzOy<*ne#TcC$`wR}>!;g-;l&|Byk=af?l#%iqFafuzWuDn>L!alqr z%vJ&nBUzu0wG3)PGQR_w+KOJuCPQfesXzMsmshgvv`(Q`@&JU+?ygF)4wnY%dJY1# zt(UneV|YShpZS03!A-V+Q`*py>RQTK5{3aeQ#es6FY`&#Luz~?dj3a+l-aqg5Q;Ng zpQcPmXsm~2(rRq7&;2GvQEya^^WHaGKU1Z-1%fo;#4as1nfTb5F%j{lipfigfom^S zTC%V6qpZyau8t9vlP1p|dC1|Old+0c;XW?AD{wJqMAP(WxBMuOUH-LWsjp4`X+@Lz zZU6LD>KQ8*$FP~LG1a!Jq}2yKAL2g_p7w^KU#Oa~+Q~9b~KZ4Zph`U_OOhPK98R&oZUj0BR0dy6jss=Nj{DtK9GW+$uLW@aakqbL$~t! z*$nJ6{9v%xrRiLZVYwIw(!60`Vz+UI-4w*&9(WQCQ&`y?WBkS2@$6}`FuTrLv;kfI z7uBb9BXhj_H~wg6CRKa#VlKuTKJ~hBUl1Kf&%jj0&52?oBK~q65 zkQ}9nU?K$kM6A6||?iAcmR$`u8pzDv5eE(2bvSK!|Hr;F~#igTmxR8wKR@#zS z(BFU_-nvaQ61ntc-Lop=wg^hc*WeD~hg+>`GQp1h`=YV_iK57X)Bv8}51Ic0Fsa?V literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/bg_btn_watch_sel.png b/app/src/main/res/drawable-xxhdpi/bg_btn_watch_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..7e896c8b0e027e4f5f6c0ee20439423bcf9bbf73 GIT binary patch literal 1717 zcmV;m21@yfP)ZL_t(|+U=ZAl9NCb#?1|o8xU>~<^~}*fSf?d z2@JV_1s=ev!M#<^xOL%_OLgG^{C@#;0%x#a^Mx1FPBYOoyt4d;rAdDN-g`|*NZ52bAe&Fd&?`Jm5&r|H6G z&}<>lx9ihq3rf@s7wC(+_Os&ow4w}*2Yo27XQ?g5q8T`Ez-QApL2aYq@wPGX+4W(~ zQ}WK5q4S3L?D{Ynv=lc(=Q@u2^mVm81KyB%5zoOH@E0R>xCpQZH7+2zP9y9-r#u92R)~DA#6EA4-7Q@@?*EiX<-gtOFl2#v19VQ-HZ`q8Kr#I`Hw3Bf*I9|U#;Q3hf z(ySRNk4=4yhshWb@4Knb#9IPyggm@SAMoOF@xEz&Q$ru&VQ|O9GxeEx*@$=_O?|+d zO2Dfh82b1f0S0$)yncQ9q=CU*HRHt8Cl0UqaG=k`%bO8X-|zGt;Dr+G{i^R5JPGz# zA6J+0XmH2FgFb~9@o+F+ECH{+r>mb zU4izRx6l{J#M?5SClIfB(^c1#*LzAI;mNh9^zD`wiT0Xp*L))FQFRraR6IQ!V(o1c z9$kUG_co2=-RR1*w@nEzl4|cmhbPfqoe|z#D&9whm$Z0+JiL0H-3ML}$m_k2z{BVY zvsV|4N2d*8_CDp3?bXE|ULX$dbDn2%?bXlnTyXDwDO-E7$aSxNS(3d}=(_i{EQ&l6 zds2H@7F1lJZwao?72aAb-qm@j2bb{Vy<5Jn%CcMb*`wF`lIB-0Nzu_2%NP zbFZkj7+iUm;n$U_ZGqOq;0nUKYHO>{8S*}%B6($w)|2-Mm6C_ra_h;lwrRaKXlm(O3h$|dEZqQ1oJJ> zf^GtHOb2=WTXuj?2~>nhnxu=9AB%+8K!?&oUhjq{%tsE@Uvl!}V9OY|BY8GF-v=K6 z-6!hke8TJ7YzKVq0l|j8LutLYbh z1S+6AYI8-Msmow%K;%!hrVJd1U+Z7l*i-tpsNy%36~86#{~VE@5pp>VG?U#100000 LNkvXXu0mjfJ?L>_ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/bg_readbook_black.png b/app/src/main/res/drawable-xxhdpi/bg_readbook_black.png new file mode 100644 index 0000000000000000000000000000000000000000..67dbffc9fc3caffa42f4fdbd63e1d5b5b31fa709 GIT binary patch literal 145033 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 EAI1C^jsO4v literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/bg_readbook_green.png b/app/src/main/res/drawable-xxhdpi/bg_readbook_green.png new file mode 100644 index 0000000000000000000000000000000000000000..e945543629c7ec5b1a57bda255d2449e09bc5d19 GIT binary patch literal 21560 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%0Dx_t-Vk@?1Lf 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 z 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 z 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

%)+ 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

}apsjTC@vOFhCf4hm+fD$6XIa*EcGv`0itnfNa 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∋;k}3FE6^lw-$qQJ=_q<$$wI;lz?mv>D_pnCo&0f@?w_-o?HJ)91%9^KR?ct| z0>V;)cZqrsFaIk*?{@$oRPF-WIOi4Fu5o}fdsHl(*QR&#TrCxdrUDJj6JTAp2qD@r zcU_e~4f7b~ZiA2e6etu8{9+{2{S-y}j4Hr%hDLp>YT&IICLU|~anP*5mC+Zf7$TMU zi06L+X=DeIS)kMN#>p;_@f^nr^sCU!s_}Y8^ybP~u=`4-vZ`n>@ox`*uc3!~Zf5bH z{X~@d1z!^{!gSAQq+=;Cs^sCm9ulVg75({W5~fJ(SK4D7sWTXwy7ByzbMb|Be<=^m z3o0%y;xnzJ9~}qUqz1MB0nmJOC^>#k*=~4tRDwov05twc;9T={cqM(jfwtgKcxSAe zg5GkqcQ1hAi8Vz#P4n^~&Er8j*y}2D2^1^gA-YxqP414Mu`Tono(|IJXh0{xnOEE1 zoQN;yHDzuWJ6NjnZT2GT^E7K0yRWpU{@Mq*{kFLU`V>LZ+E40QuNHef&{Uv}_f17FtM6>xSzUsHi=HJ%FL9PC& zo_B5T3&0~JG{j#(^4>JtjYFE^TAEr73t>kuPDCSGbHjGdMu)5PO$}_w?@mAin`*xx z3e&D;Yf#7+256cX>28zbJxWO~v+lY?j&OGpQ$2?59w*~CP@8C~Gu*wgN4t_YKpW}X zfu7i>=*iki@(16UKu1ddMBz@D=OFq^(I_;~KiFnycfCOpp3%=a#4! zYk~~)UjX_$(7SGt70|*Q$W_mHEz?}-Y=%ceNynP{0$LP;Gb3*iItWr!xB}?F|MWa= zf5-iAkQTWK^oZ76*$vRhT`sH&Xml}fri>WRxwCFqOD%Z9!*#kFB~byL>O$eMBq#5i zlrQhI$RffL5Unxv~-s(8K^e@vj06!gROeZ9LHLAv$>$&?t_{(Cd*9 z!C|1I%JDohG_?(KwCm4p{Uw?Q=*iFv(zo@zecIdK@7@?P7VzEoo^eo0aYUgzW_18c z{i2BOk)ueWj2g|f9r;*JGV(^6fzeVW5RIHR(ilOr_)3p>riwF38l)5GtTV%Ng#YiK z^WXIa?)>;$d^_;xZXxU3KsejjqF+w{nQYth5`kix8erk*vR^tEVPVc#(s=ymJW=-_ zxzNIri5sq_RF51_JD)PotG=8T1zuj{c@S=Y@pEaUA4LS$sipY=lqv8rpy70%q0tu| zk`x7WfE+OEZ2)bk<5z0vDSB8!Z-MS3VGZNwRTbyx-WDsQKfX7W;q33H*x-*2F2 ztKhN&XqKzYO_r_641@e2%ivsDb!`0$AllV81C4std9Ye1_BW@rjM-OBCV4|_oDdNm zbiIXd>S$EQZv$vO;+gNohU_>7v@oQVY^0GM-bE7OyM-9%lFF1+ z-rvNjG-}XFryDUM}ss%n!59kGe^s4^!4Q>NIweSf;bhPZh@v7NV)Ek(Vfi2 zxF)yR~ z`DgDU9Df-jPliTrfb&=sV93}G1prJ=MqZ;Qeqn7vlGY=dga~Ppw6LeLL8vjFtBpS)K^!DZW@WWi0༊FWYAuX#mm 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

9fp&=2>)&&bmH^s3i$jNL zA~qLB+efTU7p;qww9P_K)TP&`b1R*e=^AS9R)OJV{RaT&NRul^jMs!=xKz~f9j#&z2jkTYhyOt zI3ptuy&@KdBgHYWe&D4c7`wxrk>1+f+SOGCT36=CDn_GfW0}9)34mzs!aUlIlnoN}%bcOSh)DNK=R&$-0u=2W5)- zQTF!1GcyeB>@gj&xguxUEgL0+-O98y7NHGC0d3)Z{{gscjbDz1AvW5W2g6`@2(fgS zF5?lK;c;;G+Na_xa-)!UhHjw!(+#Gu30Gd$Wnt zkdAN%&P0EVMxA1Tn?e%DLCu~>aNOnxD~BcM5-7&aph zRb?ed9XMe=)x&5uwo&WB8ED#f=^=@_*62aX!tk>oJ#r~50eMtu#O>gDOrhTKHcib5 z$G>ZH<#FetiL~WC<|@+a#O(9m#xv#vO7T1a`tnNf0U`mEl04i(INKX*e-EvlMua|t z=Qiq;O6xqhI(3jz@y5G5aH!+Q-rINY-d$|GcX=60Mb~%Otk2y#cu{~}f!YhgxD(q$ z5A2=YhZLrv`J4%}Bg2tI<2#UfPJf$38|a(Mr~KPUu1}T&^ZX8q6`?IZ03?9k066!% zb96SzcwqPFsIkde7QGBKZ=&Y;F5n?vs*N<_t7pq`GT13@ZLN%|4>KmvKh^&xbWmCb z+LN{-YZsp5=Ls}jPdi4B?8p5Dptk`!s*~KG$x*`@m(ja%996a}Lqoa0%TWNQ+2Z$IYGtULdyus{ne$Tm}XVp#P}v z*HtmztsfI;h(;joJ-*m|9zgReWv`?98PDPmziM1IVz)4>p$lm8(L7)wn4_?Q$LO`x zK;QRB!``z$o`9zMNuT8k0qE(Xx1oxTJ1+!k1HCXxJ5S4sSOXo0q8MW=IF+kYjApn5 zE4VB7RutPHSL{(oq%Y=MPQQG3cE;L`w+0aUGz&n-$YoIXo=zm{&iCHE+kAKNmK+MT zCB<|1Hb9_mp!Z@xvRSr_uP!Mbh0TCweTXTv`q*_G8-X+e>BiXs8lb%*vW;aj*X!am&oM)gnv!*mV+%N##BRPLx>%su^ z{@gg{*iL%8fOh{&_wEB|d6A=-FU z^H9*Qp|hdGH*VMgolXGCMmNwR+Q9Q=SAWKFyd4e5(qZ(V4DYVjKL9jD`#}RuOl~J# zjn6weC(ycs=fHW7tF5$m?{wD|8jGtO>$cQ5BO~GkV*BaQaP≫~hdXM*8C9L|0^@ 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 N-PJKce${#s^*?tjla~Mh literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_add_nor.png b/app/src/main/res/drawable-xxhdpi/icon_add_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5032a67df95688440b488160bf1e7508c453ed GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKx3?xrnI^qbV_yc@GT!FL+5@=#RYz`D+DGBlm zW>DMk&v3GCHjp3Y>Eak-aXQ(7u}8~~iDyS+M|ZcfT&AeFxVp_HJqH6VTP<6WrIMjB z1xyLk1P|(RpE9a2Y2MVs9p~UMtKlKb9Jd3>&6ZwnOWl`xPIC(hNeM5WF;#`(&Z%Ng TZZ!^dpbZS3u6{1-oD!MDMk&v3GCHjp3Y>Eak-aXQ(7u}8~~iDyS+M|ZcfT&AeFxVp_HJqH6VTP<6WrIMjB z1xyLk1P|(RpE9a2Y2MVs9p~UMtKlKb9Jd3>&6ZwnOWl`xPIC(hNeM5WF;#`(&Z%Ng TZZ!^dpbZS3u6{1-oD!Mfv@#Ug)I?JJyRZN6+lTkwhxgvs_wISPeS26|T^0a%HD*^tNUhw|P%6EM#z_riE`hI)#$d-y%e9LkNMbkxhL{V87%mqT| zn)7lnZ6X{CfY@dE;4ie$faDM6(8Aw(b@8B!0i-_pWcpnp6hZj?Lt{RjpPi7QUn zz()sQ|u7_dDP2!osdJoP=0d zSWIisoy_c6v86=cmm23W*=zgz`9lLC`?p$<`n3__u$tHT83Mj zY3*(&-BrD7M6J@Ppbcqrhc9)_4mW7DKP?oEneRMBA?YTc*57VCp>PtSn$0dnImoN& zq_}R9^D{XGeJxy!z_+SbZDLU-ycEh+IEiiPef1Pz^n?;*AMPl#Fh;iSDl zgtP0_nbH|yVwY<3Ib3aq5r1~A$?%4XwV$*3yMDB+jdFJ_zDi@@fQ2yYWHQaTEbfMk zzUxaZ2Uv0Dt0w1xCXM=v-L0SkD{yfOp$Y4+?o$~Hi&02^u0#Qm`kr3WlI6_OIAf4n zg7#7asm#OyHWr8*_6)%S%;}RdP>DWs{7(`Rk0Wa|1?3rvLCG6wu}+;z6gIJlo~cuGbeqKC`-;z_PvzXAR;Kx z8td2S#^+KUV0TEHVNqWt!TaX^WFWBtmi*hz#9lE3Y4Q81>g7LG#T<}Tlq3*6i0$1( zDDUd!#P*=GA}!k8ydl*Tb_YdVv&SZ23Dv)YzQuWEs!pHle58w21^3wFkUQ=%pPOJM59l?!M zc5h02-1bX>LBP>!lq%#E4-ZGeu(*6yAPjri-I1mZ!2LzZIsn;PStl95#jnVv0Ux(L z|D{6YhMW+z_j&#{n?||sR5_AK2{N*1(w-uSjZzxNyUuug{lo)lkuXe-fu2e{w1gz9 zJDiq@xNojsky`B4wE9l5D-ASaGH=h!j-wG>!F=v5o+u{N!Jl~i`V>O%O4O|nFFU?} zpebS6{P2BxzGGv=aX2|YMCY~|l>3_0W{EL$jov+|BgPsa8}J#=F17`=;{7F+6YfxJ zlE#WiT>OtwbsgVZhM#e|Gr2g{va>(&%hxU=2U`xSTi=03S5}H`>wLCg$$&^#)OxXu z(P{#<;u&pY>Zj!eN~kiMQv14R-j3(nHy)(>x$-`cIX5Is@}dm{vRMhJ!DmnXuWMoW zY0a6~eO=D|pGV}dnmMmp9vcW}mo^5PW@}qh(YiTffO{*d%~;9)`Nz2(mX$bHZrlhH zml+}ceb`p+raSIaXjTa0pY`w#QR+d?r>h-3I+RDZ9z1BaJYjn_ibV4!X;>vJ5xOtH z7A8p}2Jr?5f~kuXkK-~)A68CL6w0gmpBigZeU@|I*#T$N)#RWMT8NvAret~5gMY!; ZgO+qN7cy; literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_catalog_pre.png b/app/src/main/res/drawable-xxhdpi/icon_catalog_pre.png new file mode 100644 index 0000000000000000000000000000000000000000..ad818997b89a259cd46c0be862ca8c7452eea1c3 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLDIxd5LKS0KF>H?a9M_YzPAXGxG> zFvBrBhd!|CMrz%@mE^NMPZWAl?VE@^it?ZlaJyQ=%(P2*aO42lV(536~M${tYd4Wfs z=4{SF z`rq?9Y8*6|PFbZmJ!I~}Gh4Y!`#;vl5Kj^W<6LktM~?|*Q%PYS{5t$ zDoh*=^|v+pmhfAIzH6HAcrNrp^n>a9c;>OM{WNX4E0ay*?e4?M9Foqzric8NtU3GJ zB#0@>1rdj+uPVBB4`U630`P z{9r5lf1x=tC+O{z%|(7m-t$b^&Ur7La&6mDtAhOpWaqKJjrex#UcS*xn};{n_A~~0 c&7CA)`+t$%^6knWfRV%C>FVdQ&MBb@0N|45I{*Lx literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_close.png b/app/src/main/res/drawable-xxhdpi/icon_close.png new file mode 100644 index 0000000000000000000000000000000000000000..d04921b0dab49aa4b9ff4a673bd76e34930f2d8f GIT binary patch literal 1655 zcmV--28j8IP)$&xwB~tx_f7@C%zhM+7h$ERO)_~90K8Gvce5V88UQoHm09gq z!M$hAt@RwjwS=jd=`21&z7+6h;iO)gBBsvltKcnfR_|U6@b9J#C<+sc;bDP z0Pz~;^|v_#T10N#rTDlZ-P+W0uph9|JQ zJkLQp03Zk*07wUHPt2c`@CL#GC5b2G*#V)nm$CK$2&y(|W1o@^ zLg8`BUpWBe)nBrku2dC0{@{k0;RU&TzED-{+>IQ7zYD|%VlHVLgb4tGG|anrmzJU( zJd@|Ls?6oNCme%xhRmy8a0fso?Y&dgn*7~+Y7iuZPdcjU$LmhP_&-8*Dc<&3RUdnv zVP>SieD81<(kTE;9`Z=X$m#=BNjEG8pskHMl$#RzVMw z#XU>9d>Dk5@u3n_Rd@L$&5Tg|KKplc!F2?nM1I8CPz(nkOX-JqyFus}?+(joa3!_x zByt2GXUi|D+A4UoJfW6@T_DUhJ^=w@PQ8-~)zb)oWfl#ioU!&I5VkTtgn5Y!&(zGw z@v!V{_8tOZOXC9oC6Yb|fKvRs*}s*FyqvJL@eQKC0DuFA^rjeR9&UOF9o9_p6>kQ3l^>D%!HQfH~JFxB|r1&6jC1AxQ@Ybi2ctm(#A0Jy~ia{WIffIMN4 zq@q?hY~uD=b~?xe0FcMU-fn5cK+m<6tP^jY9)1}B2ZVoA06J_R=jv9B9>A9XuvPq_ zENg6^+p-A=rTPFKkW0krZs=V3%|R#taI<+D?1`MvYh1m7@`Qt#F7*XtA&Eo%kuQGcz_{d1JTP9G&6?r!+bVn^JrHhW1~zJs!xgR6cf-;XN^) ztj6l+&7A{YsvVI@OGk@U;VHmq=#k}oL|(}<<- z3dVD`sdSp9s%rli0Ce^sP0jG&0SLN-gBkhZ4xFjWUk@69aD1PFPN|jOHGWSDFNr-f z;}{yqLoT@5RP|SzljDmOm+`9rsBC^npPK;@4Cl01>)=-NaC8pp;t;58G2`>;IDeS+ zd7GJWz6YaQXO>8H9O522*0TlxCX*kj%>kz8z=WtcAw*n-)j*7MNq2Gp0!Zx5V~c#`R4S|fYV<>?baJZzNH!j=Pgj=kYwsQm2Y9|B zUG?3<6aa!Z;HL5Owvmq?d&Z{!&u$LG`4ncA;qjr<07z#U*gBHdS}^!dfv~}77l(`> zx(NXJ1VZzL*hVu%Ld#EaaQh%1mTBN3?FmCFQb6DSGt z3uZVIf0w0WA;0sxpLwz-b-QQ(Fu4Vk`{C*07-Dg{c9N&qVFey%-Wi6@JO5`|A3bqp zNxkTzj&yIuM(>if-=8HV&Pt5`z2KLpozr{{c9Z+Oaa-2v-`E%R()(2O=~CTme}ooW z*~`5;{lloQ+1jpow_b|RtRGR9iH}t5#tFZ+ zToQ`fAd-^F@&A8xY632f@NQjA{L=q&3gnE%C0=lq9Hb6u|7o{2?C@UZ+!9tNB4|tJkXaW|H zCJGuLRFRTAu7E*UL=gnhO_ZV+aRuBZ*f*a07u+}Z#ms!ZXXc!F^F4DW%gbXA0Y||B z00>NHhPS*zKLU%9=X-XcLjYhkm<;><3Bm8m1L`CUwG2@%dh8!}1zy#(ey&DF1b`JGY8d*6Dq;PRS}vH|Ns z{YzHgcMg`Ny1tA%e0=0RH{R0LYS8Vj%VV4y^I6h~%_wRtc0G`1G%;S{^uIy?+5=(! zphu+Tf3=!e&jULV6=b9xKEZA~)*CIQNEaLgP3Tz}lZ0aHKF81<-b`cj(bG;q6G8mc zUBMauLD58`^^<1sF~p%>w435QG6`6gd*zpleHz2B{PB28rC1f z)q-C?How0e>8$b^RTv$)&khq8HC7q=A{NQnv~<$3+iBbvDMKo^ML+F29RYaAV<@GF zqf;paJ4D>O$&SW=MUWevqS(1U!4SfHkJG?G?oj_7R+8W6eTwXB)5-7@ToIJcKcbF= zBH=@DGj4zaHs}gLnF8N$^pvBz4oJ|j;SY#q&}&FJwH=o6);%_M&uA46B;qHPCPf1o zW{7~Y!aKa-f`tVkW)nf&x3@L|Nlo5`8*UUtpW0EAa-jdX$YWp~{eY_sT`~bJF?JBY zyy%!|`E(huaL-wx7lswdM>g`G>=_2RtR6&X^>32husbC%0%4(dAVhMrug-Q#Tp8Nr ztDOw!+~TBfGX@?*G#-p~<-I3*vvGm_ulvUV z`-D`Hos(8j_=q@j$TS&A|0~I6sB*sjLYA}xj)<$yLo{g~3IiURq-U9p_DvYfW{(+PmUhX%_`blhl zeZ&cH1(opCerg|7%5Bh`-c;EhHb+<_vu{JeLQ2VVEVUxGpkHb5WTa4k8&8$KBZg<^ zpks?U-;}41rf+kWp~C;3C36g^NgqGV(WPddpNo+6j+`N0Dfdwtbr$PI<}Taoja^g& zEf?F|2Sai(3RR#EC+v)6u3j#CNX=IR>Zsekb#r)oELcd}`rhGW@-LQK?Y%+f4DpQ> zl3q!GOx7%Qp7?L}RD!%zB9Io1(i}1qse(kBfdP##*AS!U=qM;w@s~tkt+Rw?Tc*W; zup;~OSyjrQh{Q!vW!6%>y&o{NTEozpzJj-U2i1Y$PPy3aE5IupMP%y8+1;VeOyMZV zH2A^9-gjk{TfjE71aSD(ZK;*(K(m}91i2GxNOiCcBWFM#3)`y&ntw2sz5#33WMk#r zag`Lml51|_+7)=~v>EGT$at9g*)FVa{LcK^saMDJrW$?P4{JLv9aVTkx7Si|@6P$L zZ!EK2ys@h*cgq?EG6~fBpy2cSLA($lML$E{ort*uF2 zQQLkiki`JT=E~7|4Nyhm^`xMvDY z>fwh5!4IF{GE#2;6Ze&RD3OQjAkHYhYzAb)nLMMIOzXZn*vHg%3Z9c4_rLUVd!{knRMWg8cQtPwWCdDG8+&=|C} z*UY2ltQMr`dhTn1tTlCx;w`^#tIx5l;Lu4=SeG5yAKOa#_E)d+N7}a@xBHQ#5wYsZ ziovPkY67&;U>)^R`2;DEbYP@AXu3x0j&WM)N!=SMLmXk!+3-)r5KXnNSOthbLENy= z#>>SM1xAAP7nQ}%H+>y|g{6nx3&VRpQ}xDKU) zv67UzJtemL%q73tUf2%bg7}TR1~&{ibYjGO))xkxDC;*A3|x8dZQRKJS9}MImmU?} TqS+bwuK<|4Js6D+?6iLXGZdP0 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_download_main_nor.png b/app/src/main/res/drawable-xxhdpi/icon_download_main_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..a96f71ef02e8a1935b9c209c195d7e21e7d044bd GIT binary patch literal 861 zcmV-j1ETziP)v7aD5XZGXf9I$mp#qGh0=NoDDj=zVqymx(2o>b00H}Z~Kr*HRk_rgleO^W$8*Y4( zACjZ^nDr;m__6!{X{B8~fIY#LB*}8ISbSiNoiN587-O65c6*uUxxNp2K~QV8F(Jfv z##qv_ol7ZSh4v>nfHY0dqA0pG2`$U=Jj=3mNC?3J2qCT*WA7~@ucegwd9aHB1VjC= z|5F4|7oahK20_XKlm^WNs1Be)h$=xUg=sDjvOK5BP)OR^7EOm~J%AQOXgz?|186eZJMy{xb3|M#rOs_eeE@LIZvo)U zVDq#Oyv-kH0G8dI%1##qR{%EgwJ_&hB_9CT6AWhSYD2ntBZ|BvHgfReyh}Xu;vb@Z)?558b({pD4brh@t z;BBAbT?j(~3>A-vpOjL217n|0&2ujRE)a$Q2qj+o?+suq1OT}2Duog8$du{~sn4tB zCyRjQN1XGa-QfWMmZlIzMC-HN_kF{D_g|Alz*q=F`=1@2qE4y zb-k4Gt7}UQ?G9u9?t?B|vk{riztn2#SgG-yDC{A5ZZcPcnN4!3f7RT|ombSds zc2@xqLg*J>8%ElXN~w!6Ew%gZ6cBvG_hhJzlycPoFxK^YR8~qocLgveMLyPm$2tFH z%Q|}g073}e@;U;Hm+K_MHxhhXzOgTa=$f>xf&dsB2~&x$yZ1Z*423YI_}KyIgD|!D zSpujb+yKD4R(b1{acpDQY{r1LgZ1Fsq+XqpHa^+r-~c>^Skpge8vz6$5CMvSxfDWy z8hpOy&aA1)hk2_ZR>GdkZB`q{YcBB6d}n{nKG5tB3Ou0q9*2Ih@9H@^l6D zittaT&ky{gq9|Tei=v!!y(RVR!1auB9}#~mrIr2_(SV#4psdD!6;l~NB#xh00000NkvXXu0mjfOpAj^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_download_main_pre.png b/app/src/main/res/drawable-xxhdpi/icon_download_main_pre.png new file mode 100644 index 0000000000000000000000000000000000000000..4491bf3543a40ff81bcc93034b1890ad720cd8b8 GIT binary patch literal 879 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 CYvNV_ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_font_pre.png b/app/src/main/res/drawable-xxhdpi/icon_font_pre.png new file mode 100644 index 0000000000000000000000000000000000000000..fe274989b840f8ca2749abace10e04227a356e44 GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLDIxd5LKS0KF>H?a9M_YzPAXGxG> zFoRg_8SBMw;wIcbYRS*Qz!d1|;uw-~@9hk0|JM!ztN7a zowsPmLGD277Q=5G|5q+`YPVR%_rF+X>CS`Jr9RS%SHB6KS&{tk&SBrgb@mJ9^)}yF zK2Iv!V4*JSm4tJ=dJ5XYo1LWoD5w3LF1VrVtzS}64vSA`E9d628IvXYtuk-^=H#3F zPn36ZX1TiPD;0aTzh7?n*B_~KI<(}@tHj2W8uzt|nk_Yp^O$~iuHGRoq^4ab6}_TB z&|F(kU9?$vYySedtW$Dovk%t&*kGM$C?fh`N#kbi>KQ*Cc+dSXsm8hWrsqMAo@`5g zzN0TxUUT@Mv*ckFnblW4A0B+gVwm$ynATdC=7d;mq>|5)nrjz_dZ$i_Mb%gOgsMMuPPiTyeB$h!+I8zwU$!rr+|s?mJLkZq< z@79YjyJs16cC0C1dC)@1r2hrGXGgr?#&}QpgLdwJ)C*pg6$@?r-6y^F_x(FRJij~< rxwk^>Sj}|Hsm$+%I$e}D&dzu3C_1-0@c$-YievC}^>bP0l+XkKyU0Uj literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_library_nor.png b/app/src/main/res/drawable-xxhdpi/icon_library_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..f61239c53d0a63ad02c8de4432a4eeed78f27ae6 GIT binary patch literal 806 zcmeAS@N?(olHy`uVBq!ia0vp^c0g>y!3-ohum7wCQY`6?zK#qG8~eHcB(ehejKx9j zP7LeL$-D$|-Uj%DxB_Vt6BBcDb0DdurDY5QKrVy{VE{=}Q&WftoB>o16gM+71BwF~ zKoA-l3SmRk7#SJCr3}G9MMVW-qrJU7P(550$OdYGlMpk3vOoY)4`iUJhl{`&Kn2JE zD6X%s53~rP04VkUzm+x6IKPr0zhH)Es_JaN<<`Fc*!8pfcJ!LZ+MjZH_VcZLx0U(+ zXNgdYKfmhrG}##+vK&9%RAL%ImCljmMcp8kfCGgb$O#7w!Fo%0}T`sB_70vsA0 z*Is?$2L^Agr;B5V$MLt*)AJ7*2(;-7a4<4)R!`acJubH7{j>l7=cpZQbM6(fj$h?f zY5&vj{o^C$+ftYXSlR!!oLk~jFVIrld0%j@^F(vO%WJosTlw9;rM)z-RdC+pf-{5`z+56SA zEYGN{e0_@S%DsCi_fNmzSKp43W!_(mnv1@xOxL%(_}ONo-NGlP|9dU^K1kT_JFc%db$Z;E z50g&qsrb1^CGk7IVsLA?+^=;XR;!wGX|K6+Yimf)(QZ@qEnz*!FK~Zi&k{N3u_Ec& RBw!RXc)I$ztaD0e0sws|Dw_ZR literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_library_sel.png b/app/src/main/res/drawable-xxhdpi/icon_library_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..3bddf31e51aa090cefcbd79ed7014240e50f0407 GIT binary patch literal 805 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 UK6ABk1|~-aPgg&ebxsLQ0HIe*_5c6? literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_money_nor.png b/app/src/main/res/drawable-xxhdpi/icon_money_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..7e9828d437ac1a313393b92ed7d257d5ee1f6c43 GIT binary patch literal 1396 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw3=&b&bO2H;>5jgR3=A9lx&I`x0{M)^LGDfr z>(0r%1hU%#d_r7-f@Py%phKYg#8v@dOf;4R`2{l^_7MK}=Pn!nj`e)MYdD1r>MB=? zMXdY0^K0m;skwG1HT~baNq&jccr3Gd#g+oky$0-aeK$I;V~4rA=>L&V5|A zL3+xk%e${UI8iN-;TExufr072r;B5V$ML1%>CTTF1Y*0K99Ui^IWFbsU_H2QdHVbG z>ziZV@BKclzD_OYeA;B|=a=7|*|Xuyo|$u59W>(7A3O6glbFHEei&M3j}u;bQfm&w(Z{CB$;{V zIkkPxp2;^1`$Dq6)lL8VHgZMbga6sF#ez>>H<)%j=J~vRZLZn23IETv&67L9F7w&1 zHr^?E%3^jaWjW;y^Af*nPceKFd#UWA+K$f;H``wRKJ%B_;(VospVyX}xayn#?U<~X zbN|x*@5%Ae@9QsLyDFQ*qqyu_@I$YlL`mh!*(L#6o=(qPWwqUIzJG3Vwvn6RdgC@P zo8>)*SFY|!V7RIf?4JLswcn$@eWhW@LgokNF`7F4>0f5Z$i4bsm)2>hB~T>%<=|Cb zLBaj+J3XY^CfH4ATb&)#7|dGHuNz+=`|9!nhVZ>I{GVCoJonif@LxdX!KtH_XCCh} zu{l38=E4V21#$j(rs5Mu=`SvxP-2soUdQprqbA2vLiYDsi-aNrt{eV^tDYoG(h{CD z!C&HQiwdKn?a~A%{}_qcW&L|+9&T0C@zngGr*+c)QJMm)cF2E`EsB~mGM$^)GYKXo6_p|8j#63xlAGM}i zOYA)q(fDq9)fwZYoVHiXlXIePExYlATXLad)s(2`QuDIsNIpt>BOspKwxe+0<)#<8 zZKo|=rRBrJwtNgcX}Ij;3I)09Z*1420z@XB61Tqb?NmMgYx$r_>4&l{za@wLb10nQ z9KSBIFEjXQvEZjYIe$$qrTlu+R6iwl&dus63!f)E$td3$6?@ONYla>Bf2QkAd|TcI SeDMJ0O9oF@KbLh*2~7Ym-G#sa literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_money_sel.png b/app/src/main/res/drawable-xxhdpi/icon_money_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..644952244cf65f605fd05bd65fe066dacba861ca GIT binary patch literal 1397 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_readbook_black.png b/app/src/main/res/drawable-xxhdpi/icon_readbook_black.png new file mode 100644 index 0000000000000000000000000000000000000000..a0abc8e74208c0fd510a72da1795efeeccc118d7 GIT binary patch literal 8769 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_readbook_green.png b/app/src/main/res/drawable-xxhdpi/icon_readbook_green.png new file mode 100644 index 0000000000000000000000000000000000000000..e123b04f5c840177b811a67376adb8949a125149 GIT binary patch literal 1756 zcma)+YdjN*8^?#q%xzeibg&!@DeBLfma{RJA(rL3FmekWw+OAUW(XxGCz=kG%SLkC z7IRDeDOQFvG)x^P_d6X*9D4JA`+xC#zMs$c`905z=f#swaI}#F9|i*e06DxZ&KUp@ z1MU}4V$Yy;+)#T^AUIsG`g>(qv^F|0*FCbte=mBg!vbIcfCFiG9QH!o@caN){x*uG2HP3JD&v$Sqz??%r%^-aMLI@H^n$$Z#=cG&ns zy5;zZfJ6~F}3B%uUMvT1!Y1W}YE z4o38r9#RqCcVd#m{BesPt_Z{Mya@W?puxlpndH6PUgJtgBz!*yB@~@AJP!Qfz;&#S z|1E9UTe|F9B`>{qA^`Av;)0xniji%yxFq9nY7u6SU{e!$>^`AkAxEhDM10_%2JVya zCo2*JhWh<~)8%#*l7e&y$gcr2-h`o{0O5fO%eNzTPYHy__~q4hZ;lm4nhWLJcNR3q zU?uITst4}>6`Qi29onc7+R^dkT34TsZ+fB9(ok3>iIbVP^Q+9YVO7+w$$TqvH`vf* zkSpFE|G0%rO=t_OYsP}iFQV*08}A)%hLw-3ju#%xsv9MHyf;Q@hFeW{8%RSASqBuS z6^zsH$h8*>b)`<}LAs5mi#U)NTJcGTT$exn)d%e#T1(4^1hfw;%e3Kss!d zo`OpKGkVmcWJU(2S%=mgbc{SYNzW!sKL6~;&~=`ylmKm@@vkrVNQCx_Qtb^T6}m*~ zBT6eB9rw*wst=F6MJ{A&ACpWg<|}s8{;c)cSzVrHMr_oky6kmfwy4VHa&IAFl5cI|qq&?@BeF+pOLZPRTx*M+!C zQNMd`J9o;EPj^dl5vr91brD<-j zj?(~9Lf&73NF$JWAtB=HUsH5(jx(wiuJ06d)Vd(K1^UtIH0ED;PkW`PFl>VZK|w%m zKOPLpD2`B5W)_~Yi^T$$a>j|WF?MGwLtZ?+0e366G56PY zeA%2wGBfqzRmyV36BkH!=XgHzNO2!O_7`6cuHwwr&{B!I7GI@vbvj&lh-RjGX4`e= zWv@Ya$Fvtbx9X^}WyZnF_fk56a5el$(p>&jy6kc5aM^6|rx1FHzb)c>lp>W>c)l{@ zNW^sD_5X_ErIg4>YX4BbH6ePPx?mt?f5lFt1x&rWF)E#sV^0U3jyZd>93SJ)(6THW z&2QP@a~Au>^UYl&DBqS>7wGb$5e3BDjde|0cXXO4E1W2>gelSEBHyVzMr9A1p`z9+uRjaU@0I!5fE#mmwsQQ3X0asQ( zFRsm#BST?*@G{DNaf{g0~3prNX~Rx7M7z`raq6={Y;oe)|Bt_w$-nTU6@TLWKu;G{_Db9BWqNZDSa- z342$PAw$MXGXK1RKFRY`IjK>Rk2lWjd^outtCKMc#RjP=`XJMirpSCDbj=vjUVjfr zFcsch(aN02wJXP1C^nZaws0CWZG>0-9S)Y3+)}+fYwhyDi99aBbuw>2^LP^|x_a9O jTW(RBqZHW{W8UfXks!65ePc6c{}7+6>g&W2uXVOw|LTin-w#|(H5V@IDXl4c%y=opaj Q4QK*`r>mdKI;Vst07JGlO>{?_TxCu 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

&f0Pts{DzQ>VXv<7P?NJ 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_search_nor.png b/app/src/main/res/drawable-xxhdpi/icon_search_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..cb219b76ae1451391552b50b1392953e5261d84b GIT binary patch literal 574 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_setting_pre.png b/app/src/main/res/drawable-xxhdpi/icon_setting_pre.png new file mode 100644 index 0000000000000000000000000000000000000000..33c74bab6f8d9bdb818a9816ed809d985f41816e GIT binary patch literal 882 zcmV-&1C9KNP)+aMAk28CZ!b_*18+zn5lh(BZUSR*@_eHC=1`)h0K zL5U3U2+-)e3Jei}JHWsN76f1*6bJ$!F%lSB93NtM03;Gr;69KzCrW`t-9><|rpoOX zaQ4AnAaN#yTQ!}c0^4rIXx2jd=6AWiGE|@qMf~uuBJ&pMCul!7nbMmYExAEBQ2etZ zA0YxYP}nIxc*?Bj*z6l-yUlqk@a;Jsak_eftS;jef{&G1NGCypI=F9{4Dga$(f4f= z&p{!j_KX8F2am~usTo0E?1B&sZH2MEtcD zx_enynpp>vh}UuZx&WQ3RjWXN1OW*{Y84O`a0ODN-#7?h@5QbH!J-M|j!twBBlx`W zC3Q|^=VG#!bB{L%XVy-U@urW&xuv-_)l>V79-%%o->NhZ17memPu<ed;mG6nV;#ksShwC)v?_xjFdE< zD?b(gn8-3qPVY_WBP7q!rZwD`LU`+ckxC;^@84fD?;rSA7}?F9nO1>B-Szk%xt?4@ zR{{U_3p8A#&~VLzGuKS)xz<903UqNn{1`ISV`@iy0XB4ude`@%$Aj3=GT;o-U3d6>)Fx+Gh(V${hH3Pu1HpF!(kPkotSI{#cWaV^xuZ)+foMsIQ2NqXSrPGA8IzV}&)@%3h-~4;%z4juuKm7Oedp6jYh))r|JkbI`7SK9RQKNbqnA3rb@VN^=->a?rmpwl?4LFN zGSbu2*V|tDC4C^l;KU`9xko;P?YWc|sI8i`;?dj8X{phRFTM!hdyOSP@AO3cO2OTPd9kcZ(M!vlH{ zlO7gC{O>t&N$d2d{r63+{HFc=|C)~>ouPn@Vf&Z+j9Vh!ftX-EH3&Q9jDt096Q<2# zJRr$1=R8MKF?)kCg9S5{h|iLa+|P`gwp;-RU5%T-9BYO-V5?|G#6*Q&{hp^YPd;;! zO7&eAgTjyXYswq`=IPD5{6(L*xug0 zJ^7(?v5WS4yX%qD?yfxk|BsaWyyyH$(Kosh_s3rBntAkfV$9F)w_i?V$Z`$LaZ&vK zXshJq&w@uzLXz&++<$d*j&I+5^UcS1@7`_y=8>EGmOs>M>Xb>3Ut9xbFa}RoKbLh* G2~7YCh<1|z literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_text.png b/app/src/main/res/drawable-xxhdpi/icon_text.png new file mode 100644 index 0000000000000000000000000000000000000000..93c796327f349800d0b7ab345cddc3e5a894f407 GIT binary patch literal 2562 zcmV+d3jOtoP)8eb z7xBdq6O|Zjs|i+3Y~lw2BP5`-fPBQXgzj#)^kchouesYUl(HW)_uiSEyL0BHX>!lK z=l;)c&Yd}TW|jaRzE*(vdiFSZKmdFW0Rn&k_*?;>PaiV?0^oB6d_H~500@9u1>S4x zS!e)zo&i}y2!sJ(zS`94z^#c zsRZM909fS32^Q0*3;^7RlnJL=BH_o2=})$?r2t@zk=Bl$HUP58YZLQ=Ka&BNfS{`- z5`M}HzGZxn0^o4R<+X&-AH6goFZnVR0PdSi*9rg(09X+rKmZ&h$qE2`cn*PS8t=D67VL4*ovd9W01hf{6@X$wfB<*| zfD8nb8Sgf4Sn#%kZr#&00^p$1b}~T5jq&9G-fD@24>{=Covsl82UQjU;O=tZ4g?5* z2LZ@HkTl6_dn2Kb9CT6qv2eT%EF2cm3~*;TU<{Jfa1;W}0EOcy+@d_lAYcfarwtin zFlHJ%_B4i$%Jr1p8Ub)Z)rmgKf((L^0AwIYGUJ848$-$~uLyvH0Px^*2vi)50ZTIS zqG|{b02R^6(FY+6D$CRjz#*V!U~_Y0{Wq$5MF3POnWLZb06-w1CJT%&2S6zaJkz|s z{yP<}BLFH?%+rTK0LuBpp$f;L3@A|8usag&lB zW4KGEUj#r#JsY+GgF#sU(vOL&Iw)hQF-F$PKp^Z6W&rzPGzf#TAOK$$R2>|GRIpIpD)Kmqbwx%3@xfs32jxPi}8w3ae z4g_WLZ;hoW8;p{`@*|DmZp%(iG%Ohaxaf1Hm&1(eAUynFWqNvb4_4*XV|0u{Z(2i*ptURdm{nuf8EUQLvjRS@z}&;A$G%ew|#Z_ zv~7pBFZ;r758492#c!ysP6xYCpzVs1X`g|C|IZ<*C>t;9&8RAa8CAi8-G2PjRZH1s zEHwtv*sXNgSM=}=01Im$fTkt0?*v0sFsJRToc)u1NSP^!#`=L$Q^+;n0I+36Ei}|V zAS9BTMxS-vfZl;oTSJ=EgjlQ}I1F|V-vF>{{d~`#{a5>k;n;8g*^ObkJzoZ5@qS2- zC2iUJ0sx-=H?OF*B}_3Ix1YTUXRjxOhi1Sbh(a=HJ%jiHfTpFhVadGd!os>`_~FSb zFft~0d&jQ_2L@v>GBRw*?UDz8-^ahYrq1)}|6=cL`1*9OrJz}9G&nQ}w{I8DCM6HR zl82_Jul~J$$fo~n^BWo&fdt+Zsvsl9tA_FDeFdYE2B4VfpWoA4 zJvz_#+b;fC?R#=NUNDMA`@y7l3q~ai0I#{fy0-29(WcCVLJ1&XD z$Z;DEK|CG>zK_6V8-&j&(!~Ew?70Rk75Ww9&vPeCJ-|~{+xgr05gEyRb#xpA2PtHD{=VY z{4FtoT(-h%fEMKM z*Fpllw~1~=AOt`$0II+9W1Bz$1H1;vBARFh(5(oB86d|QBl=xI1i(TH(qS(^^qm0R zia?kFasZ0}6h4znx)3D#QiyIf0L%b6Ko{K#MgR(D4lP~|6#>BMZ~a-2R;UTy24<1X z?x*GX{r|ZegW9|eG7R{LbW+>u1~b4Exia4u=4bnwUeFQ*OLCx(E0L=p^>plV?tDxrg2!Q4Rlyx5gkX2A~djvr9 z0Lr?L0LUt+xjh1)c>rbIM*w6M)ZE^601mfxzeET*s=00@<30@-iw{KVFW8-s@T*~m z+b%Z}LObjZi0z$GprXo{x%=t*nBCrm0eJVswRyon@)`gL_hHvrY@btszxOqT9ud(; zDtL$6dVVDYR*MXbHtG~$0ImC*LitiazRKvx}XY8VjhK^g!) zaBD};I>z8D01*3$PEqfDY{wW}AmtF*w;^;@Mg}DSa0d>3+x?hfkk1LgQW=NPwy*;H zWE&-Phs>Fu8ATZYnGTP%b-x0HYz2UIg{OioY$(tV0G-T$Pxd#4PTH``+f+FKsvN_9 z+))4la7Sm)j)DMqHZ<-yh5)#uvu8&^06ZHScN{|i+|k*yqaXmD4UIdFApq{^?AcNN Y2Uh=(%%YOeu>b%707*qoM6N<$g0!h~?*IS* literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/img_cover_default.9.png b/app/src/main/res/drawable-xxhdpi/img_cover_default.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e1f90118235b7a0b2e4f1809831d0f58c5e25225 GIT binary patch literal 19313 zcmV)=K!m@EP)-X>3~1_P`HN(Z)z(h%ssA5*mpyHi&3CFaE$M z8PCgj_gFQrtHxY=ua7y`ss|=}KYPtJKgXz1b=O^YeeG*s{`+)*t^U=&SNiwxx%TNt z|9$!Nr+>Bl|DUI?w)lVk`!Z~&Pyg$me)j37|My=$|NP(o=Znu<`@R4DfBxe?fBt>^ z+4gClwXOf&fA;V7zxCtwpM9Tk8~15jKgW2?e*W<|eZTQI<9Flv+Gpec`~LBo#`_qL zKVCz>$M&~=&i?y&|Kn%l`Dp*~*z_FxzT@}CXE*LY-d}vS<38gv9FIRfk8vM*R`GlB z9mMO2*BF0~*B!4Zel}i5-{@VA*Vgxm*By^HUNepJ@!8QmjPEu+$8j#j=M%^Kc)jB@ z@82H`!+Mg(pKk^s8iu#;jsuSdR~)c(bK?z;KgXLMZ<35qoLq6xMT12zWc)n7yz%qQ z(8L!ue%B039LVG6qY;Sr9-nu-|M5A*$w(8*COjE-dN=X@$77A3jX%fFX)x17h{qV8 z$9TN)`Nng`|Bv@*{~zDsc+NOBXyKzduyxGEcORem>=@&7pz+_fGml|y0M=dsdlheg zqk$EzBCX~$sp6oB1CPEx4t_F5@nzDnXdu%dAg_QX!#L36wUB2LCqH=*(ZbV2v_UdH zmuMu-7?BY%?3^x{2712dj;e0R}%vt!dUuxp~{Lte}1@dV#z!Pqyxw1_RxicOw_ zxomNuSS(Htm{yLs(#4lSZa-an9LVG$SSVw$IK{YhPjT{R6VfJld`}eO(d5hqs)Z48 zj2KQ5-RSrpqlaPFZnzY!*wJ8*7E&fXVQ%68c+r#8tDvki?{?~HkO^DMW}BGKE8zuOZfeyDb4=VvIaEBX{E|mCfYBHmm-iw z7y`X~T7}3s(WHxBNz965I09XN1TW*WrIaSEuCvK!gE+2|c1~Jh3H>+VF%Iw;s~d=% zrIRUZMWAiGPg|Vg`=SMkvNQyg6W&IKH@+kCxaqruG0?Hhh=9ky+y%oO&O?a>bL?B( zXaczixFffS+(JrQ8qh_+kfl+h(XtewO-cg9=*3&eLg}wK$Y_P3RhR(W%rM23l2W1s zzFBBV27*>r0_Z4jAMe)|9rA=|ks-rj=a1n7EjF}RP{u8Kq0z&$tOte2nMY_|MhGPq z%uK|vfxyVoW4L!(rT7xXmngo(_4yL3tb}<5k?3Ts$eL6&sfvVj9}-gZ$gTXcr3)pLJP{(QzpUk@fJRq zaf*h3VpE!UF?^uwqU=Eomng$QK%Eim$UBTcUKY;SbEEee7m+v)GjQ3$UdvF}IgLh5 zhAv)L;xU{QM_7jz=gda}Q^*+D3oxc)_5cWU+(NK1k`PULOF>aq!;VX}2oWhJK+8bK zXbdynzIi;EM`0|-=-n8`k;VBmShF!g83kf45_Xk=Z8J74t>%`oG3+2dLo=RayvXy6 z=OHgUdX4lx%$TlfC87c7fMkX{jG2jYN6Q^8{>kzACtn$c(JL_gV3x6H-z%4l!B4{g zD7}~gqm<^dv}smp7$>KBGq#$WM?oGNohKTINaH30XbS*6M|%fW0ZJ98#!Vm!IC)=L zIBFqd_TDJlL6xj_d`hR%90^5KMtQdS3FbDCD-%}*E03+Bt17yxqN{xrU7dLh79u$N zaUF7$wm@kM>`hyMz+wYEX)z;CLw0U@hD5zKBS`?S@gJhsb*q(rZA1qw433@57E zu&NE8vD%Qr)@Y!}Gcp=9g-V1;SY3rt@F{d9FUsmG`Z*vgal+K)y5yRT198%$yKel1 zj5%l?z%0fy^gXMQ$g&-l`JnV_7ROdvx6-0{ntcTMkIibixg5B@VGW6k4UW;$;4J_I)=sIw7Obqi(YP) zcFp46?4?;nAc1cg;FrajCF1+qBEI4=SXnh2j`44`D%PralvR;{ane^H4v6V|7-&ia zCGvz#-@-yk^HNDeBg0kVf~tlg8icK7*`-8ON<<~Ic6>n~)nlNPCF2U`hN1G;$If4u z_->`ch54A5RXgsm4kfCry2`4nj^&tjELwKWQu3J=kFp)e*0uwDvqcLj?STfWZS&TwLOW%^g5Y5M}ZR(idR3f0q6#*rKWB?e^ zu8odu)sR+FPw2Z5cL?+&b|>jqnz5kwPlZr)PlN~2c(crm8LN9PveT>t5uY-8bny== z(^8q1<7Zl=cO_>f$g4Q7wmemwU2%5lMLdCC#Ac5nFQ!_nL>D=!$Vo*`I&KxPfRFw& z>oGA>qAOQlx%z6}bKK@V+Hi)tOl@glS1w^mh!t_{_>0lXV=%#%yxjV2-zw8B_2p7u zKEBkSG_@sT;NmRf|4YMfpBjFJzTMZ?wijt|)Z+|noCy{VW@RXWq7zLHI35jxSlRtBbsm`K0c~>Xz zSLoyoS&2;abvesYPdh__{O;m|?{RQJStc$3s=R)aLmTu*7bt@;#$F=uh z+K(fTp(MJuNpxFI-@+?e;mO)lp%xhc8jLgv2*{-n%nX^8#+xyW#)$MJ;_7T(>I`GZ zRKBeu*YKWfY>_u?V<;Y*WCX|{5gXI=JE&G?e3l8uu*MMb-V$#u>Z&>EewvfURhuTh zX-drETq1oD_?s1k&A`a)y+i|&Rf&=}l>wM^-xLlRu0o!RdCT;yEo6!wlcihV#dLu=l^%tU`%MY?>3C&V^f^&2rMUR@SAmF3+BI(Xwk( zbaKtdFFz}lqEab3ib|0&Hp!zjt%YaxjuV0t83^xk-Tz+hdb#W6t{)#8y0BK_l*-3< zkD;2UR%WI$Gsn)%B%wqm2)k(3qB=vDaVz6?eB*}Tqj3}nUl{f$7F=cd5 zt$2sPM|)8AkY*jZv%zZ$&;(v)6?K-PqnAt|B868(IHFJ}OUqUF^4IHLK500Ux2&U@ ziE5To%~HxkJidpBl<2K}Dk=OZ_2g1du0EB=>QhNT@l=l??_IfIx9jTtP`w|j_rtLp zEPZ7dtQRE<#9HmdDOJLuy!p&Uwu(b?;fzpZ+74S%WH#w%DK?5XEiawLCv;=iBrlBG%=J}xvWWOXX-!%EK!U{_<{9dAn{ld`Y?B!uFHr`#`hp^gGfVJ zbDm6mB#VQ~xWA5Z*Q~_4;Y?P3eVW!vl(nyN<0F(CS5xIL&M}6FAFwiXt_9hvD@&8H zG#N{(@7Pj(fH5p7$mqhbZ|TY^~YC zbR$tDmQuqm&+GV}mvo{!LCD}ng0d3D3M^J&8Pww%)U!~+swlUDkL~*7BSb}{dPa0k=mCqqNUPSoFl`diQ-Gh>qt zrnqvDyKL0zELOIR!>pTk)xtbiEljCIml9B^M3+i*rV@Qpq1Q`Nn1#3(;$A7t4n!gkC}C!=oQrBRQGXcS##np70dWfhp#UeCfQTgWop$e4~+b7AAzj7dh_ zxAufdtwbjJnx`)_G~a+1o1j+6W1viysmS^iQZZCUP0e~MlF>5`eOCOEc@P=;pG^V- zN-Z3rL1`+{Rz7a!+2%PKC`Mp1d2<%3Sbad|sb)oLR_tYkZ}uK6%RnA%W^ic1GA+ui zHbfiFWCp-goyPqOi7suyYH4@;mUc<4M2v= z8|5aKn_L=>`_phV-idKI(%zLubfVr8qZn-El*@Z5@8#Iu%ULLKuG+K~V)3?hZ-%6r z(pFR2YD#%0PKb?PrwktP}yuuDR{p8efQ? zMT22={p3a)7l6nYMpmH#Jri`HY>2T8X>yWFZNw>)EhDHtXMCTZTcceOf zrTJJQEG5EH#dF6lo?9^=y)E5#=3|L?RFmD3(>r!?AEqk_U?dEJ3gm=nvZ9%`M|ysgeP$5u&%f)te~)h!V30-6}-1>0EJrSY)A7Z z7A^O+I{yriB$v?QKC+7Rg0nJf`dfxaP%1BLzenyn5o6+urOby7^k|@L@K)=A> zmvu&Q&iWk~I6SMmwfCFxXUvVxbRe>Y#p)g6#3T>JQ5M)rL+x3zVmljM{64|NJYL!;I zXIiZQ>)QaHSrzvr?VMPj!mNu%%9dKO^lrdpXe^vvy@Bx>4Gar7c<7 zlDE;8M1oT$0PCNfV+_@p^zn^JExg#$l8pvl8U5EW`od$dHg%@(bY5L)m2IYHKpBWE z?MDNQUIw+4qX{re7nK@SsZqUJtxwvC%KJ%ppG(3GOfaJQTvngU>T|hIlAWY0sfuz* zl$+kZ_fb82BfwbfXE|t-q|Z{FMw%j$lcDulr{@`4F;n>=Ba;Df#+}bRE(7=Cx#<~_ zOKQbx1fE${sqrW1nn+;9`bB0M6I(#ZOldsJq?xyA&pqS%(857p6@?U5VGBYnr$m1t zOJSZHkXn^%RjyU}_|*4q7{0ci{0kZbrbxdTl(M#8C=eOZ?NYibrK`OvU4dbkXCN|t z$a*OyKUVsX$JdAa$}mtjYicZ$r!<#RCoXm352+KAH(`ZC-!EpNK_iC5<=Zi??@@7j)y_So;#73=XQG=Yp~PI1f%e@S^X@Nx zynOoJ4}SC0zy3GB^y%lm`OQyX|N7Uz+P?9PZ+!asU--pOzw)c!`SiPg_{SO|6!Y$R zyE<1EjJ?TV81kmIYp-JMHDoITt#sBknQF()OQ03yFaP={pML4z{_>e2m~G8){NRVb zgRXIP*sc!Suhh_JFbqr5H)1;z(qf`}G9laQe~CeeTk|e{^3#7PCS)-oUzQ2E3MJ-E zY)>i#+iNAFg~~`M83Jxu19Ris)>izF7=^yI5aY*x^S5brU*^S7ENR*WpF$R(sNzlk{nh_K>UT5*fAnX6zWOeCBIBTJ=lkLB{r;!#eD~Kr zXIa|MX4Kl>XF%{D{K=12=Q2uqyss8+jqj!10cyH}km}RasM`Ht+u31$Z_8`=*R1d*U}6_H27_j#dEg%CgNDzx8Xf@Z!P8A-%p%4@mfa1 zOcSRWo%kI3=h-#T)(uuWM_jb}b?mve1ZyRzNQyiK>TUT5>a0zsYi%v9D$p7y$hfr?+Uh69)tCl!KUV}=+wbkT(db6w(e{f2 z&sOC&z~c%QSNm?T`m>D_s2QU1-Nt9y&Oxli7;3bM*m)(H>)*nhaXdwDsC`bLXEazn z8`ZaHV7iC1MWD4^w}q4U>_th50LofOtppWLEy8VJ@z{In2)5swx6oFuaj;%PN3czT zadm8is)JE89YJ!>#}$$g<1E$M2IBZkVw~S&VItJT(4>QreKU6G=nnVmjMq3CVDjAh zb+_-f@PsBYWqjfaI|7X3JB^dB8J?IaiIb9I@W_4X&$Hh@;VN4x?9o_ugS&SMdtg3h z%*JIR2K(kQ+#}!KTwQY4M;G{``Sv&<`iq_A+v5r|u10;8jIQ%&+@ibPy_Fsdj|Qvb zAC_;A9zh$ZwHA|)1}U3BWU#ssir`ycHEH#Z-a-c!E#DqJr#Okm`)kjb#B`#! z5Lek~JS}BP*|#_rI?l0o$pD~4XC>F{O^l!4i|`Rwp#D;?N%*i;yoUoOBoZgc=<>En z5$|uD4DBAGkr)RhW$rPaJ67tu^XvoM_!GCk&#k>~V$b z1G()#UT2#uab=3DcfLtACC zf}l9KW2`$GqH!WNZ-M~6@z^xbvVx#Ena9rvREw^4$86ehY31+dixVjGw2b8!F@yF# zvx1=bteO#sUT3_=(U3-OX1qQ#p0ku`q;Jz$$m9l$-fguXw`v|OW!GFFHBVnIcWdTB zXnJ=guhqrm@99SxDPB-c_QRK9;>ZX5v1(iP8^71%o_(<^d{o- zjFY)d%<uwV*dN<9;ba0rkr5Nvb2By73V-$|>J$fPS zy6HW&?-Fhl$5?v~?VZpTS8OtLM^Sl7n2#svFOi2CaW&4^RRoO8I1mxwiGnP|@FR{y zrv60ecz3f&xMUniG`J%&--$+}x6oH>0^f{B&@&|VtfCv;C&etDk4Sv`EP|MAB8|^9 zPM{7<#*lAJQ^v55@RN)$5)DrWD&rU$uc31*#_x`RXj~{pFt!ujwl?&o^zBg^`l_^> z)k&B-bPOf#srer#Q(K+;gnEzWe|v!u-0b1QO!GfZke;#|4NbeganQ8MLg~ZEl8eSF zf}k<9i5^cc>>;lpdLQvzae~JXEoM^s=j4iaqY=jlJv*wmXZ51W#!3t? z#!O9|MB_NBnuN9Eo|^|t=2v&!d*$6$b?^Bqjo)k+gF zAOs)ROh+rTUK^7~q*{oG)Y1P-u?#Z|on$mqtd1+pH~=Wc+5tJD@OGA*(QDg;8wp)~ zYu7qX>UQ3-{MyJ$@jV#u)+bXofkrHYDoscBV88B&V?_G!Se70QQG6fcBpvS~8mSHh z6PA&Yt+psulecjc#cCutIsJLvr7EU4-z!&bEJsVhj1!WIs3?`!R>?8W?(y#UP$=8c zt-ZaNet)*Y7}(dnntq)G@I?=dxB>0HdSO`mPF(5xamIl`Zf;!ttmdP$H!Z~J&v+Ek ziAJ%9F45y6@1i}|c8vBjzMpO!X%(E&&70>CjngwW9jMP ztW{jB2AypqSbC`_ab)chJJMwFGu7#=4@Z{y*wAohkt_tKFCV3TY}i0g1CA4Ubl)=+ zd35);s2{h9KT>2n_}TBVT}%ILtUT<;XdXrXyc38_{kW$_n=$ENW*f-uyPYRt6!3Ok zMCCR0<1VMxx40TLZ=in`wIjyK+O9X!h)1&6_%7PBY9UMWY}&oGdu#@*{VnP)Y*9ZR zud!_-#$ht=@xEutPU4=}DlXMa+ zRb}-U1~N6{Fv^ETQ5EtOs08<3LY$9IRoz-o@T0tyXhdh#xHH}gX(D7jIjrTIb?%~O zz?8P9bb8z}-imeWqVYt4ev+=t%C4QeFn<1M>26#3JA&U_^tMk6J(>$gDa6s!c!YGf z8ADptsG~L+1d{cND@i7APboS2d)C=08~oPh&j!7v=O|vb4&ugqr4oE=w@0-cL{*N) zG>&^~>t~(2Eo8_f6yy6c1C>a-t*a+TKr%BLGpeysn`cyGv*6V6`5GqcSegvwqX+2t-#;kuUg$UUqV}_ih>CiA_ zdXL`1?#q2=s|Qt)WldKtS4-0E<9R;P)Yc^6E)8ucmba#(d+sq%q0Q@sHeeVmO_^&w zj(sJ_g|QCU)-5>eWNl0{B0sg%T0^p%7hvFIN9Jd4+AW!8_o|w^HQCHoW@>4lA?lVs zoyE&!G_%g&mix~ZB3cY+@h}g7TzLyuO>e^*CR>k8V_VvolNNO+X-}64wJcwW!CJfV zNOvZ$!Uj?1g72}O{XLl#dXX~}++@G9m83E&m06i(RxXfs%d!z~Muqs^N6^u)PSe$C zdM}-(X@Rp4+lm8?_8g5Ld1Yq=C+}!|N_8NkCvl13q=gjsY*v#o-?jjDR`D6H=aObM z@wzeqk;HZhq|0y%TQw=PFqu61JFR5o0onv4DL?|7Ga;b8c6u_*BJvv^wa9AkO2QhP z7JW{ME>!sAs4(dqk~g&1h9xHUYMCh7W)yV7P@++zl7E||rbS7UI5Ylqe=~5MjK39k zQ5Z#-6sd4qNF9k+XBdOw3sg4|Q<&YbRIK)VEVz5M1hDsZ&6WT(9x{NA_#Ro02QnH4 zJkNSk*rdKkPYS^p7F3J2-j(C`EFCv<^U2D^SlBci$fctAYNnn`WFcCGjATQDHFFtf z1C&ylwi0CA0#gGf(hnIo17FFjAp9YQMMR*Y)M2b5qBG2}{4i#END1gA`(B@S8wyC}|z1BC_wO>&xm)bh@9 z?gmCais4CaHeovPc;qT)plC5XUz6bpwGs<9lF9iDZy^V{<%4IGtr8%=IvkbT~ zvQHM*+3G+mG!L;bXIugTRWtsAr6LPMdQJ=pFoq@VO_>3Z-D9Z2o+|9A6z;K8xB@;d8$?=I z%;hNQn2)pww`(@{)^^VZ61kdNJ2aEgIzor$BFtTnFo%65h{r&+6I5hH zwdaP6T09sZE)`QfQb9M%i5t1aIvHDSgRNYIk7ObpbnO|P+$L?t=(Bo}S&2OvEko_I zx(tf>$(7F*7AvxfVMXe(t44c_abKl9eK zI-57qJg4FvTwkb1JO(PL+R~wFsS@K4mKe9y@EXRTO`N{MHqfsFeq(p#{RWe&31jIvh_ZdEp1U}X-R50Gwydut8FXd z$@J+6Y$R!VJ3b-VG^vRxXecnnaHQ5tEXS=)aa!+-wwjJy0|UA;9A^f05;j6TLED7Q z)Q1f>$$;Ff!n3DFdx!6>V5MPCbg!n>F!Kft*fwx9qx74kon_L9VsB;Z7QT`K)ihnX zHU<%Q;NF!bv%bxx%m#UHgws~eN6M@>j38cHbNe4Dv)-ObZ#AD8hFi<5XI{i!TH0q- zxK#IC0ftc~Atdc&J(2-x+cgXWg)*5jwqh$1ela0k($*kFYs2Me(IxN2n*UNG;Z?(#OIy;# zpRXRDUCS`+sS?l(!`}1^ujMhkVoSO>S5}m0uC82CIk(Y^c;yt&wLJ#w6+mHt@h+~h z`dPYiZ>!%m41;BHsE-2~?TqJ=$?`=Km8o-)fuA)GwrWpG?O#w`xkzZi1yz{{3q2g- zaMS8fotMdKW|3?p5+-#_h7lVRpW-PLv z7gnuE=OeF;gk_D((*JK0ecZ^%5h2RbdfAvGB`VWsq+`s|^@P_D1D7&Wm+G(rC7N5_ z$Jz+OA3DM5(Qc5X`6yP+9`csTySQ&=7;+j!TOq6*c~6t#QX2QnV~CT&48xvi z+!^z6Pm{vH#BrR=48uJ#SB6Jq1gm?~xV1%{aT*AN828z82j6>?*UmhKSZSJt689*t z-O?&BBRK7;Rp2cBxYaOJtH7Uei@GiSBPi_XW!JCVKVpl=Fun}he{cOGGLKUDTBVGakP$a*(wmeQ5n?PYN9nI?c{ekUA>I@1zc=v^ z^BC?e9y0T8W|)D6MdUHOdLv}iV^}w{bzzohD7K_R2xT^8+v2X-%4eyrj8tVU)G|Od z4&E(>VKg)u__&vhOjblS6YjMNPcjfz(6cooV;;clUd&^lnhZ*3?;#^&I+DbPA#!1y z14-F+4nA6Fv6t)s@$l~fgl@@7jQ4FG!=CgkW(224>RHS%hG;xz7{jYk_zeh6t1G?1 z?E-~X+==R_e1!L|ewSn=43oGOAK|^LpJ5DpTm3Q*;1V9gGw~7Li|a|Z>n$7WGQ4_o z(3!^&p9}48_iex)#gW(46_|mKd(joxVi>k$C9-F1O6A7JB}#pkM%;^NvV;2=t%%8JCSnCzB%9a==ip~WIbVL1aI z_fWHNt%|)%YZkV64704n-YWKHW!GCP_6TXuI1iWBEMyqN)=*+^H4Bdd>Q{z=v=^dE z^g2WFwq2{)N+#WIt-Q#!CpVA!M_6+YdziEeZ}k|)ftN8KZQ{iVa_eR*Rx7c$W-Bu$ z;}(y>ScTO7AigJSk4Q#h?`;+~cnn*c+`fU2uiSop3-fVCq262j^%;+0FP)%g9>W&H z@alb0`}d~RmBfOikYZGDx<@JSUWG8W@)%}@;iGQ#HA{grp_V=&KEt~5@)>K>FNyPJp+x*%hB54AK+e*Ydr3*p413EDJ zUCC@mHVSW_KU&?^dPPwDMuzF5>PcG&PFoCv0k<^SZ>^p*3njAti{^z9Ju8skv&9~G3|oLk-nW-s-?GO+){=Y=Jr1^}D>DkU<;NeTp}B<;y$3Ha3njJ^ zobI8axd$(BrlFZoqSs7ER&hEv4tt4_9#yn5!x*BMF_U)NgN)crkKs|Y-MDIJ>B>t& ziCdK88&}50vl*RxmE%h&VH&u`UyoEe5a^;gU^ANNFLvruCE-d1V1 zM~d(6A>)?zmB_t@6NVHYZ41ArnDsqfv$m!yv;FrLvt}yMd+M5%8HRqGtpulAcg?bF zQC3l!)lgi!YZhugo=^5IJtfW?&OCeT`b-FPtF&82h}v7JuXzl6(>%HXQ5h#UoOLnQLry5E;$-BPqfy zp~Nio*ju=jDLCz^N%2fR-g;!1wA;N?g!gJvoM}Ty5tRwEoRHfYh~j!U1=4R))hM%hFgnO?p2C=ODHj}>>0tygli~f zr2ZKu#7lUMvHiC27&1_cin3B-1p7&}otLqXJgsIXfN!^~rNWIOrzjJL?gU%MdcJ?-ST zFd4UC49`{&^&X}4i5Tqi=~7wwXMR{)WaY0V27Al?nwN4-wluZf1J`6$E3qXjag?UB zx0aP(WhElfDOOVES&8MYtgeI*n0(ZGHJIx3Fyr96}Ipg?!k_|mVnMJ*|8fs zQ7xMUTd1$Zv-G31IF~XbTN}=7sjj?bKgvsh!;Ii`?;^Em6vpGsG#s}WhG*_ac}bDl zDqYEp#}fjN6kgoA&Aj0h6p!1(y=9yEOUkZoe*)qj*=Bxg@5-#Vgy~9Lv(5Z0%do{T zygG9?k&m}Rs%45nwC$CYbm=8slCI1Q!!25yXM;6UiP~C3_2}lVvn<2bBC1)Knk_=s zYm`E`J*z||hG83TA%6DES__#Qdx^&|6OY}S8=HZT_tIL}f>q6gSGMXgJiFGy7OV=h z64Z$*rY@Y}=O9S04ni8Pkv`CBl)3nFLNN{>YBhEcEXxTz=no*)}(V*qW zfAhDWCq>)Zb@bo2lsjkO6Fu?Yr+iZ@cF9{q~H0^3#8qHYy@d(?W^y zU2gRlC=Em>)h)eteOU)9e!@@6`TeOH}q%m4B6=PUS!!Jpgao(ctsIqKEvZ9G- zF7zex@iUJhbD`U@e(=NJ`SdHl`khZd{|mpkc_MDz+A+WXTfhBzl4hEZZJ%46zuj9m zR9jr=41DbGb*sm4WLY*N?NKvc3pZ96Ltb)yUK>Fg4o7LIajUj!TYFdb<7dpr@nw%I z^0g;nw*A~UzxjEB(jKfBnsSdovuwP(_v&Dak#6Kcs) zuU2$*O^yYz8MBauSg7~pSb!eGNwW^tWF}IgDGrZm6HEU^S11~UOmLK9D&wjXz++hn zDpIoZY)MznLW%Eu_t!qJkk^=2lkVPq7xkfDm6tcmYZs2uT<@w(G=C4~y>OvU-{d&X(3rIT|1|G}U9=qp2Y4FfeY z8MlTKdu(EKD^=~Ri4iunjhTk6U8%aq@JyD|DgzDQxP%ft11mF6pskQ?A~o#c7A^gn zk=SA&+V!{e<9l2BksI9i?YPQ&J*ctv;gU{NA8qMJiyNh6AKlW=qzX`vVM~fKE5Uvy zTIhS4hi)Y}ZP`C=9ej(tfbswBXWz#E$M1~$*>~HPU0?ew9w$4WUGJ9bZd)@F1cYws z6VaddB`xX*E8Bx0jS2CXP6-*7nIMf+SLT`vSy=H3nhRDozO_Z&cpvvh_g`s?s?S?6 zhF8*DAfqH6!!jwko&k^xQd~0)hFP;tlW3#KOBI;JY_zmeMl3Nsfj9`ZiotFPJ!-q2 zVd(FE3&wEk3S0|Gtb?_Q+T5}N7rI>&>v6#{Y{DAM;!#{fUV^1;Vn!j0qiix$t2&}c zQ_LH^3vv~=dJG@M7;3u=d>r5R7J}0wvRQE)Mvf1aPS5HrvT9=jHYa7*?09AOE)Hb2?7k zr#;)~ZEjU?dRD!Vt%Y5x;IsxJv#iCkVm>}wIkh#riM1fJP~zydAde`griI2lLb~Vi zJ$$OL)WRyMhtW7ZBhC4eRlU-W$LBpfE6w?mzMCsbv{g>7y#zK8*DmHUatPI; zQ=h|Y6!VZJw(89?49`J`%G9U{BO=*10xXTIV03?5geZGM3#nC#Qn#wn03pVZRaCmn z+Z*$da<~zFCD8C0wEW93JO?4_9$m!uj8P=a$6S+P&3s&o!QQI0dDeE^G#!k2X(%-5 zO3b{W@BQF6Ymz-dC~=R{X3Nf)7OJU*XQ^AtN^J3lK-z8Ibt-FcdkaZ+N_|obZxbQe z(sk)QlI%2aGSs`aeQzUE@}8Z(Y_dMG)0a}BO-7z1-Nw)(ODhqd+Z2+B4oXIV$VM~6 zWF^=3!U^#uMrHp_lToXQcC4+5!59yMyoHR$AIGQF=aAPytAF%vN!XPZWb;r6bBo`T z>dGx%!@4t7&q};U$H1&~d^l7OVeS?c!&s;jV=Qa^Mk@$m4qbhS>I`Nz3tQ?YX7vrU zAJrpJ4Z@Zhh^!W3YyHElR^pNxl1tCgxAuXL?bPR|aLKJ$V^v^_Mjf!t9)2y1= z3=J5DQ&KCjHXOu^yp?dovpjI}f=H3tj1=0dGDYU%r+=Z{jBU)b4!N!*gkdVbq{L&A=@GRi8hG|%sf^l6pI=d%utLn+gqX@> z$feyD%yt=d(Q^KWb*WO?#vUi71DJ1h^%6Qq_)zKXJm>< zG=b=OWJc>1+Xg&ax*Z5k-d7?kr0NEu0KWqKDl|NPXsCvPya#J!I~s?h)}J3$W76Vn znsB8td4G+`qbiqmyMS!R_kbkyHx%xB1U>OK&MnmGTWP!3S zIaxe!8HSnO0YdUa*dXkU{? zTOro-gjgxY5dSt)jP5P!;s7N<3v%a7!HKN4A-vHGFrk)=A3(~>#BL;4pB^}Q0TgPz zTAxpo8M9EqCbH%Fjv;~Nt??sRr-Vkr*b89%FyuWe7i2;9A}Uk3jcy|$;aL}Kq9c<9&sJz#k+Kr)=nfjXp6LRbfwUIr6@FFt z^~mt+E5oo>a5|+bPOSK}sFjQ0S0)H+t~`YvCKYcYmzmNo86sK{4dKo7|7}tlutMqwy6ut+^B^R6;K$^zsC<0s&*-rnW8&yY?)ey>%Bc5osV7CA=u% zN2Y`;k0BOIt-D=w4TTL#qxl+DmG}w-`p|>T%1&pj%q$L!3OrWEJ9Fu?4&TO?kLRXm zNTGolKtisKifq+@bWP+L#(TCjaF$K53>R@%GDfRmL)mlBsLm9|5$iScHZt7E7P$<2 ziU!a;Q|j0*)s-_WVbNl%krG`s2vvhnH3-KpDNiWT^D=A`gDn@lT=1&OJa$#)nPD(7 zmbrxd+xM~ou|>p_R=oIPGKC}pFUf7U2B4XNp<@`~%6eST>O(7YCg72goMtPo5r>Rg zP9a%FD$2ZxES*a!xJ+dzL*{Aln<2;=yk<&b*$SP}w~gp$j9LnfsK&wisF(#z-xv3kDs=qI)by2O4Pql`!>l5-6@}jEKs&{2s_5!u4g!y0a{Zl;y z-4lgaG~O(QYphONh{n%KsHKEjN~ooTT4q8m&RcMb^f?Y;LY0?v;w4L5t?sJTUA4Nq zU#q(f7(>=?VnOh+(rT4ftE$ywQ|6OU;v{$j5ux6`Lz8_=3euQ^WCXGz9r9QR&!9M# z+*hKbT2q_qrBP|>XGv496r3Dq*w*nn4(tp-qx}fAC$Oe!FscTlYA|kBg8>Amxun~g z!*K2~)Cy2Ur6MXFJFPB7RGCWCq8>zSIP+{3XOYQDw zRi#>WKh-KpSDsS+$BY4KY&81aEO|yuF)~jU4`w*VZ17tDNaH4Cnh->aGTef^sf;dd ztCR5}C`=-nvejFV7iAt*e6F@yQ!E{gq}6T^5SU%NeUHM#j5|Tt3Wch)fLV`I3cc@L zsVsdZ)>V_%c!ns^#fN`w>2a#TFs?!j1EPU3-bn_AlGjGzm3dUw)KDv-xu-Mo!DY-+LL8JIS;lGJva?oE4hAT4*Nn z@!PzEHCVZncTnCzc?VBGxZBj!mIzL9i$X1xt|~?1t%}6t`DF&h^gYQCS$53u8LQwm z-HDlo11WCJcnmhCiRDTas3wU>V5QOWlNNOg)iJ6oT@yfhM{fM;=NktRT}sBXsBj^6}i7 zZY|{U%x$}D@|r~^ufrPY(15m8f^;Ftm{?jY6C|a9 zP7gJ6{R}%G%S^d>QWLVlY|URXDQ}9KX~LS@npHUx>TT`ow_+HSjRHF@NM^}&k%14E3>{A zRR3btmDcv&LcU_^GE-MWi99vAAn-UgwXNo~)tt6G!sB{`($scI6q`-Bge)^L_XfR3@qC6_8lTNWv;&E zs!2H~t3->dQ&tE>I7p_pV+0aQWfpIvcpFFOZ9oy#Dd98BH5>NG`!3Cf(rhTrhRZY? zw5cr{g$3l}mleUOGz3dS@DihMg-RBJWCcxTbj>hk?~TI0cpsUeCeM#1Cyj0MnrP9X zE>oG8WToumxB%wk`xuW=CAt`o#ds{nje}yptu3Y*K~k%B@>#+TOhBZ=&Sdq zuNtCmF{;tJt=P-dgUkq-9-{%vcFmTd$-qtmsmaqY{K5>&s{!f4WANIDS%<2sO025H z>K}4^Y%TPaFdc@|q&wBQv|CjzR-H!GX&k#wV}nqOXCcmoW8avMHK3~Sr-V_CE%T4n zmFM`v7CnY#B?en{0aX`Jou-dV&&P%{+}(OXc4Ran#{478WtQ1MNQ>3zWt&bP0g1C% zI8J!$4?zZsLa2-)P2K=8>u91FsfB>8xO$j}wWSb@NHa7rX+bbXA-x-$kk<9QX!-A_ z<*#ZbwzsKUdl)@kS-lpk*J3pTI(9Rl3HW$IEP*R6&k0TzADPQaX|as*OfH%sy_u1s zEJzmanA;v-aK>pUm8(*@+Plits)&j`g{&LZ`S(iqpzw{tH;#{QNOh&ro>{M9#2CoB zS$U`xoRHgZsln=7QGF|_Z^iZdR)DnINlLJ{6;~A#v6zU(L_B^;KX?pFq6|GNt~#Z> ze{>2t?WvZlxWMm<_E?bd}d6zXOr5X_vP%%s`r3I*Yx{ zVu_;SoE@z=c)L z`{V13BJ*+Gb?PMP$~E3l3Pz=1^b86{=G7QA-BiEmo!aEJV_Dc~S&~eak3ic=R)Sm3 z<(|T_;yY9^OyL@ZYaAcfKn15YhTx57VjabiwDT$UCqt91*b!IA#BOK8EH=>%m&iaW zN;#UiExDVS=VobJ!$imhCZn41TS$|DCPsX&R@*@=)3`91;eG{f4hXd@7j~suR${PK z^>(|ex8j5pC*&TSkPYBtMwMQN9wj|iN>Qa0b$q2LBse+vXraZM$55R4YJ*p8@Q&XG zZ`$qJJ%|OBr3>{g)O!o+Z9=>T^pY{AMlxCb1WjVXZOB+>oyV-G&Nwe7NJMFNt1YpG zg%-R_yvV#o4JFq9KWQV|(W|Kb5LJ~~Rhh^4Fa>;MwP-KJURLt)H9=~ER0ww55Nt(o zGOfp$iCB9Q%U9BF)kV6xNLLqW=T(?jZ2d@y=U~|t(@8ZQQY&bbvg-wun@*buPX#s| z6KpEpNbyF-O}kycH>9YTyF!WzDUKgfNK;!*M`qr_*wnVDv{fQ}&k|wF3R%`DQ~M@@ z5rN#<;$zf)3vG$FF)QSwg12kxt7^K^=+QB25e-BMj+WqP^%XgOUy+qzh!_KN8N86H zIv`ciR~3C7-&4ijl^O78+=l+MbO%d!aL?`CXEK47)uB*|LMrpZta(ht06dy*@ntCRJP&xH6)m>BrQkl za2;zX=;hAJ{ieOX(qvH$HtUQK~cndvUS>8f< z3*{{wTeD$m7#wKihPMUI6*yN4-N#qxmWDINa9k3V=yQyrIyV=Qs)$s_B~nRNf@&p5 zT7Di%R2*3Xr`3G;c+H13l*lz7S?y`0L{~X*l>^_R9N5yOM4lrMm^@5-f3tq7*@U;= zCuT(KJ(y;r)s$oeFI#wMq1YfFzXlw$W;6u;WSniXu=b*8burM(!i+4oGi`=AScs0A zNz9QkGsS8<2Mt*AG>DUtF*&o)FHY2%Bp8K7)qLof&4-{9)ht!H2pMWof>RN4ijY$} z8^=n63niMd1fxig`y45bGNDZa`3w)CkcF&v29g;=lqL)rQRB+fNXC*3*t~mM#aWrW}WcZa;#S-7bfLy}NtggpW;Ixog*k~ps=v-GWHdT3QA6raK?ikV59AAzP0>RdrVVz6uy^NOACEKZ$W681?1VNI2cSTk3xHS50GJH#vo`_CRl+XB5LCrN?|Sd zKqoMX6aC!bg_b`CX-O#_te*rVcwI3Laa}e-jmjz>8IXKSHS@wkg5q;Vrtfd~DserO-@mRp3Ne}97!-B?j7MT8e8@=RGOgE#Y4&9j zE=qoG{$l9rNS9{MEdQW!dko(w&=1l=B4ZK(fRB%%{tuc&_}i_83{66Ppx-+a?%J zp02ceL_+2m?94%u8D;KGwia)yU>3djz|HQco16kJR<*K%`)yD? za(xqqZ^TbVlIe*JKP6EzyezaiWA=nLd4C__?WkH#uBHG+y8g11Ym1t!;_C$E?rRord^Q;{#I_@S~^&@Ra` z<}uOmV4Ujrz1SYjj_lkrOBuhAZZVIW5Z-g5#`28}i~jyM4;E7iMXsJP8-4 zYO|H`9b_H5j#k1Gk-beP#PX9$MIvDuqSh;hr7YTDM&uy8@}loUsjV!$#!Z|BRo?BX zwl58Di9H*ieW-^?e+)CZDMzH-ot)4fZcFU3l&9ins1R`{uHpD5`z3!qF~D%>4EN@% zv6|tVFXqPG2H>WoZP)DQ&pF&WJaD)*m?iY-4}DOe9T6?V>Kw)NLIdZ7$7*nB@ubmJYhotCBDe z4f&=Vmy%=+(>qr4XCdA()X_A>b9AJvTE1O;0Q$PntDz?w+(&hZj-Q8ksoWpIt(vbk z4-;TG;gHvQX+x@yNWMBv6}J|mmXqtrTWaFIQP8c7m`{_h**%DJ7s*3aWx3F8U#G23 zL=~GwG2u<$@V0ZOjc1&_ti<7;bU_p7Qc>(-!y? zlY8OH5~bqGBZ9EDdP}78v_t1ynSusZ@c-ny9e$fSa+}Rx?qt|`(Ih^?ZQf2N^MeC~ zE2uh&0LqJ{^5C2eK4)&j?Ms(mNz4EM literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/img_shelf_lastest_tips.png b/app/src/main/res/drawable-xxhdpi/img_shelf_lastest_tips.png new file mode 100644 index 0000000000000000000000000000000000000000..80640c43debcd7e0dba1e53a4093b8e090c93b9b GIT binary patch literal 885 zcmbVKYb@1a9R9!mi(GQXIogV2^ra6?Y$h3tk^AN3oZ}Y75joPyC3JA)nncV;3(+$9 z;Bq3h)soSwbzxeGm@H-(GB%><>AzwwAKTu&@9+1#zvuTn?{9BOpv22i-&CKXC_^7_ zcNs+yF(1oy8Gg@_dynx4t8@);rKq+FgY{^R&q=Dx%Z+O76VLE57w8}4!GlAt+T zak#~yl*3I9g)E9VlyK0nh^G-raE-+c4!JC@v&dtS!Qcvm2!ddOP=Z*3^8`68q6jh> zq%*icqkzRZ0u_yH7HS4(2`b}-1aUk_!=LbP7kx_Y=LaE5lS$;1Z%1ib zorpd@dU!)O>dlXpxmmpyyG(vw3qJ0yK^epI{evNL=|PWgjGmF3yxHV{YNk`YUn(rM ztlIcpF`g?le_{LCIm=~gG`up(XkDdIp17+}D}QNi4vnY}e}?geRHZ`Zh@KIOp&hoN|}%1&T!y3ee4iG z=fqyvX7e(@WN%eT&)#z5-R&&4n~L&xbzj{f?fln3&bEyJc9+t`%T1ZZ9p0X8Dg9$d eZn0gqsB=!)o%6;*kG?$qXHY&K68Ba&MZq5=|9|%Y literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/img_shelf_other.png b/app/src/main/res/drawable-xxhdpi/img_shelf_other.png new file mode 100644 index 0000000000000000000000000000000000000000..047b7abbaa3b5c5cef86d1307f782b691f16dca1 GIT binary patch literal 3750 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 + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_ib_pre.xml b/app/src/main/res/drawable/bg_ib_pre.xml new file mode 100644 index 0000000000..a370bb64b8 --- /dev/null +++ b/app/src/main/res/drawable/bg_ib_pre.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_ib_pre2.xml b/app/src/main/res/drawable/bg_ib_pre2.xml new file mode 100644 index 0000000000..d44a8b2f01 --- /dev/null +++ b/app/src/main/res/drawable/bg_ib_pre2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_ib_pre3.xml b/app/src/main/res/drawable/bg_ib_pre3.xml new file mode 100644 index 0000000000..ef700a7d9a --- /dev/null +++ b/app/src/main/res/drawable/bg_ib_pre3.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_search_content.xml b/app/src/main/res/drawable/bg_search_content.xml new file mode 100644 index 0000000000..29ea287ba3 --- /dev/null +++ b/app/src/main/res/drawable/bg_search_content.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/moprogress_bg_white.xml b/app/src/main/res/drawable/moprogress_bg_white.xml new file mode 100644 index 0000000000..d1fc02078b --- /dev/null +++ b/app/src/main/res/drawable/moprogress_bg_white.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_download.xml b/app/src/main/res/drawable/selector_bg_download.xml new file mode 100644 index 0000000000..de0df4196b --- /dev/null +++ b/app/src/main/res/drawable/selector_bg_download.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_download_cancel.xml b/app/src/main/res/drawable/selector_bg_download_cancel.xml new file mode 100644 index 0000000000..e67909fa7a --- /dev/null +++ b/app/src/main/res/drawable/selector_bg_download_cancel.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_bg_watch.xml b/app/src/main/res/drawable/selector_bg_watch.xml new file mode 100644 index 0000000000..c93c4c9e1c --- /dev/null +++ b/app/src/main/res/drawable/selector_bg_watch.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_book_detail_read_bg.xml b/app/src/main/res/drawable/selector_book_detail_read_bg.xml new file mode 100644 index 0000000000..3c905af67a --- /dev/null +++ b/app/src/main/res/drawable/selector_book_detail_read_bg.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_book_detail_shelf_bg.xml b/app/src/main/res/drawable/selector_book_detail_shelf_bg.xml new file mode 100644 index 0000000000..3c9bda89b9 --- /dev/null +++ b/app/src/main/res/drawable/selector_book_detail_shelf_bg.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_catalog.xml b/app/src/main/res/drawable/selector_icon_catalog.xml new file mode 100644 index 0000000000..e156b6ab64 --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_catalog.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_donwload_main.xml b/app/src/main/res/drawable/selector_icon_donwload_main.xml new file mode 100644 index 0000000000..2d738e83fc --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_donwload_main.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_font.xml b/app/src/main/res/drawable/selector_icon_font.xml new file mode 100644 index 0000000000..da87cde8c8 --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_font.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_light.xml b/app/src/main/res/drawable/selector_icon_light.xml new file mode 100644 index 0000000000..fad91388ad --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_light.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_more.xml b/app/src/main/res/drawable/selector_icon_more.xml new file mode 100644 index 0000000000..d8b885d8bd --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_more.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_return.xml b/app/src/main/res/drawable/selector_icon_return.xml new file mode 100644 index 0000000000..d40f61c7ec --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_return.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_icon_setting.xml b/app/src/main/res/drawable/selector_icon_setting.xml new file mode 100644 index 0000000000..f83dd60093 --- /dev/null +++ b/app/src/main/res/drawable/selector_icon_setting.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_importbook_btn_bg.xml b/app/src/main/res/drawable/selector_importbook_btn_bg.xml new file mode 100644 index 0000000000..672efce673 --- /dev/null +++ b/app/src/main/res/drawable/selector_importbook_btn_bg.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_iv_add.xml b/app/src/main/res/drawable/selector_iv_add.xml new file mode 100644 index 0000000000..3076d258ce --- /dev/null +++ b/app/src/main/res/drawable/selector_iv_add.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_iv_library.xml b/app/src/main/res/drawable/selector_iv_library.xml new file mode 100644 index 0000000000..70c2b43aad --- /dev/null +++ b/app/src/main/res/drawable/selector_iv_library.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_iv_money.xml b/app/src/main/res/drawable/selector_iv_money.xml new file mode 100644 index 0000000000..e40c6512fa --- /dev/null +++ b/app/src/main/res/drawable/selector_iv_money.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_iv_search.xml b/app/src/main/res/drawable/selector_iv_search.xml new file mode 100644 index 0000000000..2a5807834a --- /dev/null +++ b/app/src/main/res/drawable/selector_iv_search.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pop_font_bg.xml b/app/src/main/res/drawable/selector_pop_font_bg.xml new file mode 100644 index 0000000000..35f40dcc9c --- /dev/null +++ b/app/src/main/res/drawable/selector_pop_font_bg.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_pop_font_color.xml b/app/src/main/res/drawable/selector_pop_font_color.xml new file mode 100644 index 0000000000..eab98a4511 --- /dev/null +++ b/app/src/main/res/drawable/selector_pop_font_color.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_switchbutton.xml b/app/src/main/res/drawable/selector_switchbutton.xml new file mode 100644 index 0000000000..3798dff206 --- /dev/null +++ b/app/src/main/res/drawable/selector_switchbutton.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_addshelf.xml b/app/src/main/res/drawable/selector_tv_addshelf.xml new file mode 100644 index 0000000000..a9cf4560ec --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_addshelf.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_addshelf_text.xml b/app/src/main/res/drawable/selector_tv_addshelf_text.xml new file mode 100644 index 0000000000..66b52780ea --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_addshelf_text.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_black.xml b/app/src/main/res/drawable/selector_tv_black.xml new file mode 100644 index 0000000000..eab98a4511 --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_black.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_green.xml b/app/src/main/res/drawable/selector_tv_green.xml new file mode 100644 index 0000000000..c4076a97d8 --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_green.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_rank_kind.xml b/app/src/main/res/drawable/selector_tv_rank_kind.xml new file mode 100644 index 0000000000..0ea4bec9ee --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_rank_kind.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_tv_rank_kind_color.xml b/app/src/main/res/drawable/selector_tv_rank_kind_color.xml new file mode 100644 index 0000000000..46932370ad --- /dev/null +++ b/app/src/main/res/drawable/selector_tv_rank_kind_color.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_download_cancel_nor.xml b/app/src/main/res/drawable/shape_bg_download_cancel_nor.xml new file mode 100644 index 0000000000..80358afa19 --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_download_cancel_nor.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_download_cancel_pre.xml b/app/src/main/res/drawable/shape_bg_download_cancel_pre.xml new file mode 100644 index 0000000000..1b13965db5 --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_download_cancel_pre.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_download_nor.xml b/app/src/main/res/drawable/shape_bg_download_nor.xml new file mode 100644 index 0000000000..f4899d3a48 --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_download_nor.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_download_pre.xml b/app/src/main/res/drawable/shape_bg_download_pre.xml new file mode 100644 index 0000000000..40b56073cd --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_download_pre.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_readbook_black.xml b/app/src/main/res/drawable/shape_bg_readbook_black.xml new file mode 100644 index 0000000000..cf29463566 --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_readbook_black.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_readbook_green.xml b/app/src/main/res/drawable/shape_bg_readbook_green.xml new file mode 100644 index 0000000000..f836245d24 --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_readbook_green.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_readbook_white.xml b/app/src/main/res/drawable/shape_bg_readbook_white.xml new file mode 100644 index 0000000000..03188bb0da --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_readbook_white.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_bg_readbook_yellow.xml b/app/src/main/res/drawable/shape_bg_readbook_yellow.xml new file mode 100644 index 0000000000..1bc9854c6c --- /dev/null +++ b/app/src/main/res/drawable/shape_bg_readbook_yellow.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_pop_checkaddshelf_bg.xml b/app/src/main/res/drawable/shape_pop_checkaddshelf_bg.xml new file mode 100644 index 0000000000..982ce7981c --- /dev/null +++ b/app/src/main/res/drawable/shape_pop_checkaddshelf_bg.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_pop_font_bg_nor.xml b/app/src/main/res/drawable/shape_pop_font_bg_nor.xml new file mode 100644 index 0000000000..9d6194c546 --- /dev/null +++ b/app/src/main/res/drawable/shape_pop_font_bg_nor.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_pop_font_bg_pre.xml b/app/src/main/res/drawable/shape_pop_font_bg_pre.xml new file mode 100644 index 0000000000..1d38ec3b07 --- /dev/null +++ b/app/src/main/res/drawable/shape_pop_font_bg_pre.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_progress_cursor_read.xml b/app/src/main/res/drawable/shape_progress_cursor_read.xml new file mode 100644 index 0000000000..3a653c7ea2 --- /dev/null +++ b/app/src/main/res/drawable/shape_progress_cursor_read.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_search_history_roundrect.xml b/app/src/main/res/drawable/shape_search_history_roundrect.xml new file mode 100644 index 0000000000..8d1abe27bd --- /dev/null +++ b/app/src/main/res/drawable/shape_search_history_roundrect.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_search_history_roundrect_disable.xml b/app/src/main/res/drawable/shape_search_history_roundrect_disable.xml new file mode 100644 index 0000000000..fd12ce2574 --- /dev/null +++ b/app/src/main/res/drawable/shape_search_history_roundrect_disable.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_search_history_roundrect_press.xml b/app/src/main/res/drawable/shape_search_history_roundrect_press.xml new file mode 100644 index 0000000000..ba754634fa --- /dev/null +++ b/app/src/main/res/drawable/shape_search_history_roundrect_press.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_text_cursor.xml b/app/src/main/res/drawable/shape_text_cursor.xml new file mode 100644 index 0000000000..4534c51711 --- /dev/null +++ b/app/src/main/res/drawable/shape_text_cursor.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bookchoice.xml b/app/src/main/res/layout/activity_bookchoice.xml new file mode 100644 index 0000000000..288bfb156f --- /dev/null +++ b/app/src/main/res/layout/activity_bookchoice.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_bookread.xml b/app/src/main/res/layout/activity_bookread.xml new file mode 100644 index 0000000000..035c6f2129 --- /dev/null +++ b/app/src/main/res/layout/activity_bookread.xml @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml new file mode 100644 index 0000000000..ea17f322f9 --- /dev/null +++ b/app/src/main/res/layout/activity_detail.xml @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_importbook.xml b/app/src/main/res/layout/activity_importbook.xml new file mode 100644 index 0000000000..955d79b870 --- /dev/null +++ b/app/src/main/res/layout/activity_importbook.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_library.xml b/app/src/main/res/layout/activity_library.xml new file mode 100644 index 0000000000..26a86aa2a8 --- /dev/null +++ b/app/src/main/res/layout/activity_library.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000000..27b0caada6 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml new file mode 100644 index 0000000000..5304a2eb7a --- /dev/null +++ b/app/src/main/res/layout/activity_search.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml new file mode 100644 index 0000000000..0db76654bb --- /dev/null +++ b/app/src/main/res/layout/activity_welcome.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_bookshelf_lastest.xml b/app/src/main/res/layout/adapter_bookshelf_lastest.xml new file mode 100644 index 0000000000..a4be80cae8 --- /dev/null +++ b/app/src/main/res/layout/adapter_bookshelf_lastest.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_bookshelf_other.xml b/app/src/main/res/layout/adapter_bookshelf_other.xml new file mode 100644 index 0000000000..9e0c5da8a3 --- /dev/null +++ b/app/src/main/res/layout/adapter_bookshelf_other.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_content_switch_item.xml b/app/src/main/res/layout/adapter_content_switch_item.xml new file mode 100644 index 0000000000..06fe0bc38b --- /dev/null +++ b/app/src/main/res/layout/adapter_content_switch_item.xml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_library_hotauthor_item.xml b/app/src/main/res/layout/adapter_library_hotauthor_item.xml new file mode 100644 index 0000000000..e597600467 --- /dev/null +++ b/app/src/main/res/layout/adapter_library_hotauthor_item.xml @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_library_kindbook.xml b/app/src/main/res/layout/adapter_library_kindbook.xml new file mode 100644 index 0000000000..97585f5c53 --- /dev/null +++ b/app/src/main/res/layout/adapter_library_kindbook.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_searchbook_item.xml b/app/src/main/res/layout/adapter_searchbook_item.xml new file mode 100644 index 0000000000..a43390af1c --- /dev/null +++ b/app/src/main/res/layout/adapter_searchbook_item.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_searchhistory_item.xml b/app/src/main/res/layout/adapter_searchhistory_item.xml new file mode 100644 index 0000000000..e597600467 --- /dev/null +++ b/app/src/main/res/layout/adapter_searchhistory_item.xml @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/layout/moprogress_dialog_downloadchoice.xml b/app/src/main/res/layout/moprogress_dialog_downloadchoice.xml new file mode 100644 index 0000000000..cd7774b891 --- /dev/null +++ b/app/src/main/res/layout/moprogress_dialog_downloadchoice.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/moprogress_dialog_infor.xml b/app/src/main/res/layout/moprogress_dialog_infor.xml new file mode 100644 index 0000000000..f108b8fb91 --- /dev/null +++ b/app/src/main/res/layout/moprogress_dialog_infor.xml @@ -0,0 +1,50 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/moprogress_dialog_loading.xml b/app/src/main/res/layout/moprogress_dialog_loading.xml new file mode 100644 index 0000000000..f1dda950ab --- /dev/null +++ b/app/src/main/res/layout/moprogress_dialog_loading.xml @@ -0,0 +1,44 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/moprogress_dialog_two.xml b/app/src/main/res/layout/moprogress_dialog_two.xml new file mode 100644 index 0000000000..7347129e78 --- /dev/null +++ b/app/src/main/res/layout/moprogress_dialog_two.xml @@ -0,0 +1,54 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_adapter_chapterlist.xml b/app/src/main/res/layout/view_adapter_chapterlist.xml new file mode 100644 index 0000000000..d54e1475a1 --- /dev/null +++ b/app/src/main/res/layout/view_adapter_chapterlist.xml @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_adapter_importbook.xml b/app/src/main/res/layout/view_adapter_importbook.xml new file mode 100644 index 0000000000..71f2ddc841 --- /dev/null +++ b/app/src/main/res/layout/view_adapter_importbook.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_chapterlist.xml b/app/src/main/res/layout/view_chapterlist.xml new file mode 100644 index 0000000000..669f28c112 --- /dev/null +++ b/app/src/main/res/layout/view_chapterlist.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_kind.xml b/app/src/main/res/layout/view_kind.xml new file mode 100644 index 0000000000..efcceab2a4 --- /dev/null +++ b/app/src/main/res/layout/view_kind.xml @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_library_hotauthor.xml b/app/src/main/res/layout/view_library_hotauthor.xml new file mode 100644 index 0000000000..aa29afd8a9 --- /dev/null +++ b/app/src/main/res/layout/view_library_hotauthor.xml @@ -0,0 +1,24 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_library_kindbook.xml b/app/src/main/res/layout/view_library_kindbook.xml new file mode 100644 index 0000000000..fbc25a24e8 --- /dev/null +++ b/app/src/main/res/layout/view_library_kindbook.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_pop_checkaddshelf.xml b/app/src/main/res/layout/view_pop_checkaddshelf.xml new file mode 100644 index 0000000000..e07473552a --- /dev/null +++ b/app/src/main/res/layout/view_pop_checkaddshelf.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_pop_downloadlist.xml b/app/src/main/res/layout/view_pop_downloadlist.xml new file mode 100644 index 0000000000..c34aec068a --- /dev/null +++ b/app/src/main/res/layout/view_pop_downloadlist.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_pop_font.xml b/app/src/main/res/layout/view_pop_font.xml new file mode 100644 index 0000000000..1a0169d697 --- /dev/null +++ b/app/src/main/res/layout/view_pop_font.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_pop_menumore.xml b/app/src/main/res/layout/view_pop_menumore.xml new file mode 100644 index 0000000000..6240b764cd --- /dev/null +++ b/app/src/main/res/layout/view_pop_menumore.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/view_pop_moresetting.xml b/app/src/main/res/layout/view_pop_moresetting.xml new file mode 100644 index 0000000000..93a44bc3db --- /dev/null +++ b/app/src/main/res/layout/view_pop_moresetting.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_pop_windowlight.xml b/app/src/main/res/layout/view_pop_windowlight.xml new file mode 100644 index 0000000000..147067fafd --- /dev/null +++ b/app/src/main/res/layout/view_pop_windowlight.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_refresh_loadmore.xml b/app/src/main/res/layout/view_refresh_loadmore.xml new file mode 100644 index 0000000000..5af142f8c8 --- /dev/null +++ b/app/src/main/res/layout/view_refresh_loadmore.xml @@ -0,0 +1,17 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_refresh_recyclerview.xml b/app/src/main/res/layout/view_refresh_recyclerview.xml new file mode 100644 index 0000000000..fda88e6ef2 --- /dev/null +++ b/app/src/main/res/layout/view_refresh_recyclerview.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_searchbook_nodata.xml b/app/src/main/res/layout/view_searchbook_nodata.xml new file mode 100644 index 0000000000..88c086bc74 --- /dev/null +++ b/app/src/main/res/layout/view_searchbook_nodata.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_searchbook_refresherror.xml b/app/src/main/res/layout/view_searchbook_refresherror.xml new file mode 100644 index 0000000000..562c64cd03 --- /dev/null +++ b/app/src/main/res/layout/view_searchbook_refresherror.xml @@ -0,0 +1,30 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..06b7002679494541467a9084364d9ec6538e5dcf GIT binary patch literal 18258 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d2dc8c1188d3f5b8a59622257ac0b3c1295ce42b GIT binary patch literal 19350 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

DYl*|s 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5273ac93d75df346894d115872d8175e31f5a799 GIT binary patch literal 24989 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/values/attr.xml b/app/src/main/res/values/attr.xml new file mode 100644 index 0000000000..e3c07ebc7b --- /dev/null +++ b/app/src/main/res/values/attr.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000000..98cc17649b --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,19 @@ + + + #3F51B5 + #303F9F + #FF4081 + + #c1c1c1 + #aaaaaa + + #737373 + #adadad + #343434 + #f1f1f1 + + #ffffff + #7891A5 + #7891A5 + #587A8A + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000000..47c8224673 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,5 @@ + + + 16dp + 16dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000000..948c7137f7 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,18 @@ + + MONKOVEL + + 5954b3f999f0c76d1b001600 + + 9942412 + 5cZ5UKGW2tqEXK0dUiv4ngLEQ7I4Bf6s + + 没有网络 + 网络连接超时 + 数据解析失败 + + 观看至:%s + 《%s》 + 最新章节:%s + 是否将《%s》放入书架? + 共%s个Text文件 + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml new file mode 100644 index 0000000000..5525b74a4a --- /dev/null +++ b/app/src/main/res/values/styles.xml @@ -0,0 +1,40 @@ + + + + + + + + + + ' + + + + + + \ No newline at end of file diff --git a/app/src/test/java/com/monke/monkeybook/ExampleUnitTest.java b/app/src/test/java/com/monke/monkeybook/ExampleUnitTest.java new file mode 100644 index 0000000000..59cf255f1a --- /dev/null +++ b/app/src/test/java/com/monke/monkeybook/ExampleUnitTest.java @@ -0,0 +1,14 @@ +package com.monke.monkeybook; + +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * To work on unit tests, switch the Test Artifact in the Build Variants view. + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/basemvplib/.gitignore b/basemvplib/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/basemvplib/.gitignore @@ -0,0 +1 @@ +/build diff --git a/basemvplib/build.gradle b/basemvplib/build.gradle new file mode 100644 index 0000000000..56b089664f --- /dev/null +++ b/basemvplib/build.gradle @@ -0,0 +1,46 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion 25 + buildToolsVersion '25.0.0' + + defaultConfig { + minSdkVersion 14 + targetSdkVersion 25 + versionCode 2 + versionName "1.1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + testCompile 'junit:junit:4.12' + compile 'com.android.support:appcompat-v7:25.1.0' + + //RxAndroid + compile 'io.reactivex.rxjava2:rxandroid:2.0.1' + compile 'io.reactivex.rxjava2:rxjava:2.0.1' + + //Rxlifecycle + compile 'com.trello.rxlifecycle2:rxlifecycle:2.0.1' + compile 'com.trello.rxlifecycle2:rxlifecycle-android:2.0.1' // If you want to bind to Android-specific lifecycles + compile 'com.trello.rxlifecycle2:rxlifecycle-components:2.0.1' // If you want pre-written Activities and Fragments you can subclass as providers + compile 'com.trello.rxlifecycle2:rxlifecycle-navi:2.0.1' // If you want to use Navi for providers + compile 'com.trello.rxlifecycle2:rxlifecycle-kotlin:2.0.1' // If you want to use Kotlin syntax + + //Retrofit + compile 'com.squareup.retrofit2:retrofit:2.2.0' + compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0' + compile 'com.squareup.retrofit2:converter-scalars:2.2.0' + + //RxBus + compile ('com.hwangjr.rxbus:rxbus:2.0.0-beta') { + exclude group: 'com.jakewharton.timber', module: 'timber' + } +} \ No newline at end of file diff --git a/basemvplib/proguard-rules.pro b/basemvplib/proguard-rules.pro new file mode 100644 index 0000000000..8993fa46d1 --- /dev/null +++ b/basemvplib/proguard-rules.pro @@ -0,0 +1,35 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in D:\CodeTool\Android\Android_SDK/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} +-optimizationpasses 5 +-dontskipnonpubliclibraryclassmembers +-dontusemixedcaseclassnames +-classobfuscationdictionary obfuscationClassNames.txt +-dontskipnonpubliclibraryclasses + +##################OKGO######################## +#okgo +-dontwarn com.lzy.okgo.** +-keep class com.lzy.okgo.**{*;} + +#okrx +-dontwarn com.lzy.okrx.** +-keep class com.lzy.okrx.**{*;} + +#okserver +-dontwarn com.lzy.okserver.** +-keep class com.lzy.okserver.**{*;} \ No newline at end of file diff --git a/basemvplib/src/androidTest/java/com/monke/basemvplib/ApplicationTest.java b/basemvplib/src/androidTest/java/com/monke/basemvplib/ApplicationTest.java new file mode 100644 index 0000000000..19307d1ed6 --- /dev/null +++ b/basemvplib/src/androidTest/java/com/monke/basemvplib/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.monke.basemvplib; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/basemvplib/src/main/AndroidManifest.xml b/basemvplib/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..4ae41b34b3 --- /dev/null +++ b/basemvplib/src/main/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/basemvplib/src/main/java/com/monke/basemvplib/AppActivityManager.java b/basemvplib/src/main/java/com/monke/basemvplib/AppActivityManager.java new file mode 100644 index 0000000000..87e1062192 --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/AppActivityManager.java @@ -0,0 +1,115 @@ +package com.monke.basemvplib; + +import android.app.Activity; + +import com.monke.basemvplib.impl.BaseActivity; +import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * Activity管理器,管理项目中Activity的状态 + */ +public class AppActivityManager { + + private static List> activities; + + private AppActivityManager(){ + activities = new ArrayList<>(); + } + + private static volatile AppActivityManager instance; + + public static AppActivityManager getInstance(){ + if(null == instance){ + synchronized (AppActivityManager.class){ + if(null == instance){ + instance = new AppActivityManager(); + } + } + } + return instance; + } + + public List> getActivities() { + return activities; + } + + /* + 添加Activity + */ + public void add(Activity activity){ + activities.add(new WeakReference(activity)); + } + + /* + 移除Activity + */ + public void remove(Activity activity){ + for(WeakReference temp :activities){ + if(null != temp.get() && temp.get() == activity){ + activities.remove(temp); + break; + } + } + } + + /* + 移除Activity + */ + public void remove(Class activityClass){ + for(Iterator> iterator = activities.iterator();iterator.hasNext();){ + WeakReference item = iterator.next(); + if(null != item && null != item.get() && item.get().getClass() == activityClass){ + iterator.remove(); + } + } + } + + /* + 关闭指定 activity + */ + public void finishActivity(BaseActivity... activities){ + for(int i=0;i... activityClasses){ + ArrayList> waitfinish = new ArrayList<>(); + for(WeakReference temp :activities){ + for(int i=0;i activityWeakReference:waitfinish){ + if(null != activityWeakReference.get()){ + activityWeakReference.get().finish(); + } + } + } + + /* + 判断指定Activity是否存在 + */ + public Boolean isExist(Class activityClass){ + Boolean result = false; + for(Iterator> iterator = activities.iterator();iterator.hasNext();){ + WeakReference item = iterator.next(); + if(null != item && null != item.get() && item.get().getClass() == activityClass){ + result = true; + break; + } + } + return result; + } +} \ No newline at end of file diff --git a/basemvplib/src/main/java/com/monke/basemvplib/BaseApplication.java b/basemvplib/src/main/java/com/monke/basemvplib/BaseApplication.java new file mode 100644 index 0000000000..f030ad6b7b --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/BaseApplication.java @@ -0,0 +1,10 @@ +package com.monke.basemvplib; + +import android.app.Application; + +public class BaseApplication extends Application{ + @Override + public void onCreate() { + super.onCreate(); + } +} \ No newline at end of file diff --git a/basemvplib/src/main/java/com/monke/basemvplib/EncodoConverter.java b/basemvplib/src/main/java/com/monke/basemvplib/EncodoConverter.java new file mode 100644 index 0000000000..23cde75d7a --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/EncodoConverter.java @@ -0,0 +1,44 @@ +package com.monke.basemvplib; + +import java.io.IOException; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.nio.charset.Charset; +import okhttp3.ResponseBody; +import okio.BufferedSource; +import okio.Okio; +import retrofit2.Converter; +import retrofit2.Retrofit; + +public class EncodoConverter extends Converter.Factory { + + private String encode = "utf-8"; + + private EncodoConverter(){ + + } + private EncodoConverter(String encode){ + this.encode = encode; + } + + public static EncodoConverter create(){ + return new EncodoConverter(); + } + + public static EncodoConverter create(String en){ + return new EncodoConverter(en); + } + + @Override + public Converter responseBodyConverter(Type type, Annotation[] annotations, + Retrofit retrofit) { + return new Converter() { + @Override + public String convert(ResponseBody value) throws IOException { + BufferedSource bufferedSource = Okio.buffer(value.source()); + String responseData = bufferedSource.readString(Charset.forName(encode)); + return responseData; + } + }; + } +} diff --git a/basemvplib/src/main/java/com/monke/basemvplib/IPresenter.java b/basemvplib/src/main/java/com/monke/basemvplib/IPresenter.java new file mode 100644 index 0000000000..80fe36e934 --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/IPresenter.java @@ -0,0 +1,15 @@ +package com.monke.basemvplib; + +import android.support.annotation.NonNull; + +public interface IPresenter { + /** + * 注入View,使之能够与View相互响应 + */ + void attachView(@NonNull IView iView); + + /** + * 释放资源,如果使用了网络请求 可以在此执行IModel.cancelRequest() + */ + void detachView(); +} diff --git a/basemvplib/src/main/java/com/monke/basemvplib/IView.java b/basemvplib/src/main/java/com/monke/basemvplib/IView.java new file mode 100644 index 0000000000..667797a152 --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/IView.java @@ -0,0 +1,7 @@ +package com.monke.basemvplib; + +import android.content.Context; + +public interface IView { + public Context getContext(); +} diff --git a/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseActivity.java b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseActivity.java new file mode 100644 index 0000000000..8ed98d5bfc --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseActivity.java @@ -0,0 +1,140 @@ +package com.monke.basemvplib.impl; + +import android.app.ActivityOptions; +import android.content.Context; +import android.content.Intent; +import android.os.Build; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.view.View; +import com.monke.basemvplib.AppActivityManager; +import com.monke.basemvplib.IPresenter; +import com.monke.basemvplib.IView; +import com.trello.rxlifecycle2.components.support.RxAppCompatActivity; + +public abstract class BaseActivity extends RxAppCompatActivity implements IView { + protected Bundle savedInstanceState; + protected T mPresenter; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + this.savedInstanceState = savedInstanceState; + AppActivityManager.getInstance().add(this); + initSDK(); + onCreateActivity(); + mPresenter = initInjector(); + attachView(); + initData(); + bindView(); + bindEvent(); + firstRequest(); + } + + /** + * 首次逻辑操作 + */ + protected void firstRequest() { + + } + + /** + * 事件触发绑定 + */ + protected void bindEvent() { + + } + + /** + * 控件绑定 + */ + protected void bindView() { + + } + + /** + * P层绑定V层 + */ + private void attachView() { + if (null != mPresenter) { + mPresenter.attachView(this); + } + } + + /** + * P层解绑V层 + */ + private void detachView() { + if (null != mPresenter) { + mPresenter.detachView(); + } + } + + /** + * SDK初始化 + */ + protected void initSDK() { + + } + + /** + * P层绑定 若无则返回null; + * + * @return + */ + protected abstract T initInjector(); + + /** + * 布局载入 setContentView() + */ + protected abstract void onCreateActivity(); + + /** + * 数据初始化 + */ + protected abstract void initData(); + + @Override + protected void onResume() { + super.onResume(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + detachView(); + AppActivityManager.getInstance().remove(this); + } + + ////////////////////////////////启动Activity转场动画///////////////////////////////////////////// + + protected void startActivityForResultByAnim(Intent intent, int requestCode, int animIn, int animExit) { + startActivityForResult(intent, requestCode); + overridePendingTransition(animIn, animExit); + } + + protected void startActivityByAnim(Intent intent, int animIn, int animExit) { + startActivity(intent); + overridePendingTransition(animIn, animExit); + } + + protected void startActivityForResultByAnim(Intent intent, int requestCode, @NonNull View view, @NonNull String transitionName, int animIn, int animExit) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + startActivityForResult(intent, requestCode, ActivityOptions.makeSceneTransitionAnimation(this, view, transitionName).toBundle()); + } else { + startActivityForResultByAnim(intent, requestCode, animIn, animExit); + } + } + + protected void startActivityByAnim(Intent intent, @NonNull View view, @NonNull String transitionName, int animIn, int animExit) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(this, view, transitionName).toBundle()); + } else { + startActivityByAnim(intent, animIn, animExit); + } + } + + public Context getContext(){ + return this; + } +} \ No newline at end of file diff --git a/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseFragment.java b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseFragment.java new file mode 100644 index 0000000000..d27f45a61d --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseFragment.java @@ -0,0 +1,67 @@ +package com.monke.basemvplib.impl; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.monke.basemvplib.IPresenter; +import com.monke.basemvplib.IView; +import com.trello.rxlifecycle2.components.RxFragment; + +public abstract class BaseFragment extends RxFragment implements IView{ + protected View view; + protected Bundle savedInstanceState; + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + this.savedInstanceState = savedInstanceState; + initSDK(); + view = createView(inflater, container); + initData(); + bindView(); + bindEvent(); + firstRequest(); + return view; + } + + /** + * 事件触发绑定 + */ + protected void bindEvent() { + + } + + /** + * 控件绑定 + */ + protected void bindView() { + + } + + /** + * 数据初始化 + */ + protected void initData() { + + } + + /** + * 首次逻辑操作 + */ + protected void firstRequest() { + + } + + /** + * 加载布局 + */ + protected abstract View createView(LayoutInflater inflater, ViewGroup container); + + /** + * 第三方SDK初始化 + */ + protected void initSDK() { + + } +} diff --git a/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseModelImpl.java b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseModelImpl.java new file mode 100644 index 0000000000..dfcfb853ce --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/impl/BaseModelImpl.java @@ -0,0 +1,39 @@ +package com.monke.basemvplib.impl; + +import com.monke.basemvplib.EncodoConverter; + +import java.util.concurrent.TimeUnit; + +import okhttp3.OkHttpClient; +import retrofit2.Retrofit; +import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +public class BaseModelImpl { + + protected OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder() + .connectTimeout(10, TimeUnit.SECONDS) + .writeTimeout(10, TimeUnit.SECONDS) + .readTimeout(10, TimeUnit.SECONDS) + .addInterceptor(new RetryIntercepter(1)); + + protected Retrofit getRetrofitObject(String url) { + return new Retrofit.Builder().baseUrl(url) + //增加返回值为字符串的支持(以实体类返回) + .addConverterFactory(ScalarsConverterFactory.create()) + //增加返回值为Oservable的支持 + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + .client(clientBuilder.build()) + .build(); + } + + protected Retrofit getRetrofitString(String url, String encode) { + return new Retrofit.Builder().baseUrl(url) + //增加返回值为字符串的支持(以实体类返回) + .addConverterFactory(EncodoConverter.create(encode)) + //增加返回值为Oservable的支持 + .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) + .client(clientBuilder.build()) + .build(); + } +} \ No newline at end of file diff --git a/basemvplib/src/main/java/com/monke/basemvplib/impl/BasePresenterImpl.java b/basemvplib/src/main/java/com/monke/basemvplib/impl/BasePresenterImpl.java new file mode 100644 index 0000000000..b11479c49a --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/impl/BasePresenterImpl.java @@ -0,0 +1,14 @@ +package com.monke.basemvplib.impl; + +import android.support.annotation.NonNull; +import com.monke.basemvplib.IPresenter; +import com.monke.basemvplib.IView; + +public abstract class BasePresenterImpl implements IPresenter{ + protected T mView; + + @Override + public void attachView(@NonNull IView iView) { + mView = (T) iView; + } +} diff --git a/basemvplib/src/main/java/com/monke/basemvplib/impl/RetryIntercepter.java b/basemvplib/src/main/java/com/monke/basemvplib/impl/RetryIntercepter.java new file mode 100644 index 0000000000..0966e3db34 --- /dev/null +++ b/basemvplib/src/main/java/com/monke/basemvplib/impl/RetryIntercepter.java @@ -0,0 +1,27 @@ +package com.monke.basemvplib.impl; + +import java.io.IOException; + +import okhttp3.Interceptor; +import okhttp3.Request; +import okhttp3.Response; + +public class RetryIntercepter implements Interceptor { + public int maxRetry;//最大重试次数 + private int retryNum = 0;//假如设置为3次重试的话,则最大可能请求4次(默认1次+3次重试) + + public RetryIntercepter(int maxRetry) { + this.maxRetry = maxRetry; + } + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + Response response = chain.proceed(request); + while (!response.isSuccessful() && retryNum < maxRetry) { + retryNum++; + response = chain.proceed(request); + } + return response; + } +} diff --git a/basemvplib/src/main/res/mipmap-hdpi/ic_launcher.png b/basemvplib/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/basemvplib/src/main/res/mipmap-xhdpi/ic_launcher.png b/basemvplib/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/basemvplib/src/main/res/mipmap-xxhdpi/ic_launcher.png b/basemvplib/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..324e72cdd7480cb983fa1bcc7ce686e51ef87fe7 GIT binary patch literal 7718 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 literal 0 HcmV?d00001 diff --git a/basemvplib/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/basemvplib/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..aee44e138434630332d88b1680f33c4b24c70ab3 GIT binary patch literal 10486 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 + + #3F51B5 + #303F9F + #FF4081 + diff --git a/basemvplib/src/main/res/values/strings.xml b/basemvplib/src/main/res/values/strings.xml new file mode 100644 index 0000000000..ab8ac00723 --- /dev/null +++ b/basemvplib/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + BaseMvpLib + diff --git a/basemvplib/src/main/res/values/styles.xml b/basemvplib/src/main/res/values/styles.xml new file mode 100644 index 0000000000..5885930df6 --- /dev/null +++ b/basemvplib/src/main/res/values/styles.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/basemvplib/src/test/java/com/monke/basemvplib/ExampleUnitTest.java b/basemvplib/src/test/java/com/monke/basemvplib/ExampleUnitTest.java new file mode 100644 index 0000000000..8e8424df97 --- /dev/null +++ b/basemvplib/src/test/java/com/monke/basemvplib/ExampleUnitTest.java @@ -0,0 +1,15 @@ +package com.monke.basemvplib; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * To work on unit tests, switch the Test Artifact in the Build Variants view. + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000000..2cb82cc114 --- /dev/null +++ b/build.gradle @@ -0,0 +1,21 @@ + +buildscript { + repositories { + jcenter() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' + } +} + +allprojects { + repositories { + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000000..1fd9202b5d --- /dev/null +++ b/gradle.properties @@ -0,0 +1,20 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx10248m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +APP_NAME = MONKOVEL \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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ⅅ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 H-+%o-(+5aQ literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..a047b7a90f --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Fri May 26 22:05:25 CST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/gradlew b/gradlew new file mode 100644 index 0000000000..9d82f78915 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000000..8a0b282aa6 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/projectFilesBackup/.idea/workspace.xml b/projectFilesBackup/.idea/workspace.xml new file mode 100644 index 0000000000..f6d9b91015 --- /dev/null +++ b/projectFilesBackup/.idea/workspace.xml @@ -0,0 +1,3520 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1498441612398 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000000..c6610a591e --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app', ':basemvplib'

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 Y0N3wmX~Gf<+yDRo07*qoM6N<$g6j!`U;qFB literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/bg_search.9.png b/app/src/main/res/drawable-xxhdpi/bg_search.9.png new file mode 100644 index 0000000000000000000000000000000000000000..00a193d3d2a7b4f2babc3b33920ff24ec8830f8b GIT binary patch literal 4619 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/bg_shadow2.png b/app/src/main/res/drawable-xxhdpi/bg_shadow2.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0124b670691689ed19d44fb1498230f91cbf68 GIT binary patch literal 3127 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%0DV1LM_r@^G@G-uFvDJS%R}^K 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�aUvZ$xcLLysTWT#_vxtSLO<3M+?{aI2SLn@d@ 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 literal 0 HcmV?d00001 diff --git a/app/libs/juniversalchardet-1.0.3.jar b/app/libs/juniversalchardet-1.0.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..1af703fec54c010447144da8c5bb3a47635c5770 GIT binary patch literal 206373 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RKau%I~9@` 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