├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── libs │ ├── ShareSDK-Core-3.1.0.jar │ ├── ShareSDK-Email-3.1.0.jar │ ├── ShareSDK-QQ-3.1.0.jar │ ├── ShareSDK-QZone-3.1.0.jar │ └── ShareSDK-ShortMessage-3.1.0.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── zyw │ │ └── horrarndoo │ │ └── yizhi │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── ShareSDK.xml │ ├── java │ │ ├── cn │ │ │ └── sharesdk │ │ │ │ └── onekeyshare │ │ │ │ ├── CustomerLogo.java │ │ │ │ ├── OnekeyShare.java │ │ │ │ ├── OnekeySharePage.java │ │ │ │ ├── OnekeyShareTheme.java │ │ │ │ ├── OnekeyShareThemeImpl.java │ │ │ │ ├── ShareContentCustomizeCallback.java │ │ │ │ └── themes │ │ │ │ └── classic │ │ │ │ ├── ClassicTheme.java │ │ │ │ ├── EditPage.java │ │ │ │ ├── FriendAdapter.java │ │ │ │ ├── FriendListItem.java │ │ │ │ ├── FriendListPage.java │ │ │ │ ├── IndicatorView.java │ │ │ │ ├── PRTHeader.java │ │ │ │ ├── PicViewerPage.java │ │ │ │ ├── PlatformPage.java │ │ │ │ ├── PlatformPageAdapter.java │ │ │ │ ├── RotateImageView.java │ │ │ │ ├── XView.java │ │ │ │ ├── land │ │ │ │ ├── EditPageLand.java │ │ │ │ ├── FriendListPageLand.java │ │ │ │ ├── PlatformPageAdapterLand.java │ │ │ │ └── PlatformPageLand.java │ │ │ │ └── port │ │ │ │ ├── EditPagePort.java │ │ │ │ ├── FriendListPagePort.java │ │ │ │ ├── PlatformPageAdapterPort.java │ │ │ │ └── PlatformPagePort.java │ │ └── com │ │ │ └── zyw │ │ │ └── horrarndoo │ │ │ └── yizhi │ │ │ ├── adapter │ │ │ ├── BaseCompatAdapter.java │ │ │ ├── BookCustomAdapter.java │ │ │ ├── GankIoCustomAdapter.java │ │ │ ├── GankIoDayAdapter.java │ │ │ ├── GankIoWelfareAdapter.java │ │ │ ├── HotMovieAdapter.java │ │ │ ├── MovieDetailAdapter.java │ │ │ ├── TopMovieAdapter.java │ │ │ ├── WangyiAdapter.java │ │ │ ├── WeixinAdapter.java │ │ │ └── ZhihuAdapter.java │ │ │ ├── api │ │ │ ├── DoubanApi.java │ │ │ ├── GankioApi.java │ │ │ ├── WangyiApi.java │ │ │ ├── WeixinApi.java │ │ │ └── ZhihuApi.java │ │ │ ├── cache │ │ │ └── Cache.java │ │ │ ├── constant │ │ │ ├── BundleKeyConstant.java │ │ │ ├── HeadConstant.java │ │ │ ├── InternKeyConstant.java │ │ │ ├── RxBusCode.java │ │ │ └── TabFragmentIndex.java │ │ │ ├── contract │ │ │ ├── book │ │ │ │ ├── BookDeatilContract.java │ │ │ │ ├── BookMainContract.java │ │ │ │ └── tabs │ │ │ │ │ └── BookCustomContract.java │ │ │ ├── detail │ │ │ │ ├── BaseWebViewLoadContract.java │ │ │ │ ├── GankIoDetailContract.java │ │ │ │ ├── WangyiDetailContract.java │ │ │ │ ├── WebViewLoadConaract.java │ │ │ │ ├── WeixinDetailContract.java │ │ │ │ └── ZhihuDetailContract.java │ │ │ ├── gankio │ │ │ │ ├── GankIoMainContract.java │ │ │ │ └── tabs │ │ │ │ │ ├── BaseTabsContract.java │ │ │ │ │ ├── GankIoCustomContract.java │ │ │ │ │ ├── GankIoDayContract.java │ │ │ │ │ └── GankIoWelfareContract.java │ │ │ ├── home │ │ │ │ ├── HomeMainContract.java │ │ │ │ └── tabs │ │ │ │ │ ├── BaseTabsContract.java │ │ │ │ │ ├── WangyiContract.java │ │ │ │ │ ├── WeixinContract.java │ │ │ │ │ └── ZhihuContract.java │ │ │ ├── movie │ │ │ │ ├── MovieDetailContract.java │ │ │ │ ├── MovieMainContract.java │ │ │ │ └── TopMovieContract.java │ │ │ └── personal │ │ │ │ └── PersonalContract.java │ │ │ ├── global │ │ │ └── MyApplication.java │ │ │ ├── helper │ │ │ └── JsonHelper.java │ │ │ ├── model │ │ │ ├── bean │ │ │ │ ├── douban │ │ │ │ │ ├── book │ │ │ │ │ │ ├── BookDetailBean.java │ │ │ │ │ │ ├── BookItemBean.java │ │ │ │ │ │ ├── BookListBean.java │ │ │ │ │ │ └── child │ │ │ │ │ │ │ └── ImagesBean.java │ │ │ │ │ └── movie │ │ │ │ │ │ ├── HotMovieBean.java │ │ │ │ │ │ ├── MovieDetailBean.java │ │ │ │ │ │ └── child │ │ │ │ │ │ ├── ImagesBean.java │ │ │ │ │ │ ├── PersonBean.java │ │ │ │ │ │ ├── RatingBean.java │ │ │ │ │ │ └── SubjectsBean.java │ │ │ │ ├── gankio │ │ │ │ │ ├── GankIoCustomItemBean.java │ │ │ │ │ ├── GankIoCustomListBean.java │ │ │ │ │ ├── GankIoDayBean.java │ │ │ │ │ ├── GankIoDayItemBean.java │ │ │ │ │ ├── GankIoWelfareItemBean.java │ │ │ │ │ └── GankIoWelfareListBean.java │ │ │ │ ├── rxbus │ │ │ │ │ └── RxEventHeadBean.java │ │ │ │ ├── wangyi │ │ │ │ │ ├── WangyiNewsDetailBean.java │ │ │ │ │ ├── WangyiNewsItemBean.java │ │ │ │ │ └── WangyiNewsListBean.java │ │ │ │ ├── weixin │ │ │ │ │ ├── WeixinChoiceItemBean.java │ │ │ │ │ └── WeixinChoiceListBean.java │ │ │ │ └── zhihu │ │ │ │ │ ├── ZhihuDailyDetailBean.java │ │ │ │ │ ├── ZhihuDailyItemBean.java │ │ │ │ │ └── ZhihuDailyListBean.java │ │ │ ├── book │ │ │ │ ├── BookDetailModel.java │ │ │ │ ├── BookMainModel.java │ │ │ │ └── tabs │ │ │ │ │ └── BookCustomModel.java │ │ │ ├── detail │ │ │ │ ├── GankIoDetailModel.java │ │ │ │ ├── WangyiDetailModel.java │ │ │ │ ├── WebViewLoadModel.java │ │ │ │ ├── WeixinDetailModel.java │ │ │ │ └── ZhihuDetailModel.java │ │ │ ├── gankio │ │ │ │ ├── GankIoMainModel.java │ │ │ │ └── tabs │ │ │ │ │ ├── GankIoCustomModel.java │ │ │ │ │ ├── GankIoDayModel.java │ │ │ │ │ └── GankIoWelfareModel.java │ │ │ ├── home │ │ │ │ ├── HomeMainModel.java │ │ │ │ └── tabs │ │ │ │ │ ├── WangyiModel.java │ │ │ │ │ ├── WeixinChoiceModel.java │ │ │ │ │ └── ZhihuModel.java │ │ │ ├── movie │ │ │ │ ├── MovieDetailModel.java │ │ │ │ ├── MovieMainModel.java │ │ │ │ └── TopMovieModel.java │ │ │ └── personal │ │ │ │ └── PersonalUpperModel.java │ │ │ ├── presenter │ │ │ ├── book │ │ │ │ ├── BookDetailPresenter.java │ │ │ │ ├── BookMainPresenter.java │ │ │ │ └── tabs │ │ │ │ │ └── BookCustomPresenter.java │ │ │ ├── detail │ │ │ │ ├── BaseWebViewLoadPresenter.java │ │ │ │ ├── GankIoDetailPresenter.java │ │ │ │ ├── WangyiDetailPresenter.java │ │ │ │ ├── WebViewLoadPresenter.java │ │ │ │ ├── WeixinDetailPresenter.java │ │ │ │ └── ZhihuDetailPresenter.java │ │ │ ├── gankio │ │ │ │ ├── GankIoMainPresenter.java │ │ │ │ └── tabs │ │ │ │ │ ├── GankIoCustomPresenter.java │ │ │ │ │ ├── GankIoDayPresenter.java │ │ │ │ │ └── GankIoWelfarePresenter.java │ │ │ ├── home │ │ │ │ ├── HomeMainPresenter.java │ │ │ │ └── tabs │ │ │ │ │ ├── WangyiPresenter.java │ │ │ │ │ ├── WeixinPresenter.java │ │ │ │ │ └── ZhihuPresenter.java │ │ │ ├── movie │ │ │ │ ├── MovieDetailPresenter.java │ │ │ │ ├── MovieMainPresenter.java │ │ │ │ └── TopMoviePresenter.java │ │ │ └── personal │ │ │ │ └── PersonalUpperPresenter.java │ │ │ └── ui │ │ │ ├── activity │ │ │ ├── AboutActivity.java │ │ │ ├── FlashActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── QRCodeActivity.java │ │ │ ├── detail │ │ │ │ ├── BaseWebViewLoadActivity.java │ │ │ │ ├── BookDetailActivity.java │ │ │ │ ├── GankIoDetailActivity.java │ │ │ │ ├── MovieDetailActivity.java │ │ │ │ ├── WangyiDailyDetailActivity.java │ │ │ │ ├── WebViewLoadActivity.java │ │ │ │ ├── WeixinChoiceDetailActivity.java │ │ │ │ └── ZhihuDailyDetailActivity.java │ │ │ ├── personal │ │ │ │ └── HeadSettingActivity.java │ │ │ └── pic │ │ │ │ └── ImageBrowseActivity.java │ │ │ ├── fragment │ │ │ ├── book │ │ │ │ ├── BookRootFragment.java │ │ │ │ └── child │ │ │ │ │ ├── BookFragment.java │ │ │ │ │ └── tabs │ │ │ │ │ └── BookCustomFragment.java │ │ │ ├── gankio │ │ │ │ ├── GankIoRootFragment.java │ │ │ │ └── child │ │ │ │ │ ├── GankIoFragment.java │ │ │ │ │ └── tabs │ │ │ │ │ ├── GankIoCustomFragment.java │ │ │ │ │ ├── GankIoDayFragment.java │ │ │ │ │ └── GankIoWelfareFragment.java │ │ │ ├── home │ │ │ │ ├── HomeRootFragment.java │ │ │ │ └── child │ │ │ │ │ ├── HomeFragment.java │ │ │ │ │ └── tabs │ │ │ │ │ ├── WangyiFragment.java │ │ │ │ │ ├── WeixinFragment.java │ │ │ │ │ └── ZhihuFragment.java │ │ │ ├── movie │ │ │ │ ├── MovieRootFragment.java │ │ │ │ └── child │ │ │ │ │ ├── MovieFragment.java │ │ │ │ │ └── top │ │ │ │ │ └── TopMoiveFragment.java │ │ │ └── personal │ │ │ │ ├── PersonalRootFragment.java │ │ │ │ └── child │ │ │ │ ├── PersonalLowerFragment.java │ │ │ │ ├── PersonalSettingFragment.java │ │ │ │ └── PersonalUpperFragment.java │ │ │ └── widgets │ │ │ ├── PersonalPopupWindow.java │ │ │ ├── RvLoadMoreView.java │ │ │ └── WebViewLongClickedPopWindow.java │ └── res │ │ ├── animator │ │ └── raise.xml │ │ ├── color │ │ └── selector_bottom_item_color.xml │ │ ├── drawable-hdpi │ │ └── ssdk_oks_ptr_ptr.png │ │ ├── drawable-v21 │ │ ├── ripple_hot_moive_item_bg.xml │ │ └── shape_corner_bg.xml │ │ ├── drawable-xhdpi │ │ ├── ssdk_auth_title_back.png │ │ ├── ssdk_back_arr.png │ │ ├── ssdk_country_back_arrow.png │ │ ├── ssdk_country_cl_divider.png │ │ ├── ssdk_country_clear_search.png │ │ ├── ssdk_country_search_icon.png │ │ ├── ssdk_country_sharesdk_icon.png │ │ ├── ssdk_input_bg_focus.9.png │ │ ├── ssdk_logo.png │ │ ├── ssdk_oks_classic_alipay.png │ │ ├── ssdk_oks_classic_alipaymoments.png │ │ ├── ssdk_oks_classic_bluetooth.png │ │ ├── ssdk_oks_classic_check_checked.png │ │ ├── ssdk_oks_classic_check_default.png │ │ ├── ssdk_oks_classic_dingding.png │ │ ├── ssdk_oks_classic_douban.png │ │ ├── ssdk_oks_classic_dropbox.png │ │ ├── ssdk_oks_classic_email.png │ │ ├── ssdk_oks_classic_evernote.png │ │ ├── ssdk_oks_classic_facebook.png │ │ ├── ssdk_oks_classic_facebookmessenger.png │ │ ├── ssdk_oks_classic_flickr.png │ │ ├── ssdk_oks_classic_foursquare.png │ │ ├── ssdk_oks_classic_googleplus.png │ │ ├── ssdk_oks_classic_instagram.png │ │ ├── ssdk_oks_classic_instapaper.png │ │ ├── ssdk_oks_classic_kaixin.png │ │ ├── ssdk_oks_classic_kakaostory.png │ │ ├── ssdk_oks_classic_kakaotalk.png │ │ ├── ssdk_oks_classic_laiwang.png │ │ ├── ssdk_oks_classic_laiwangmoments.png │ │ ├── ssdk_oks_classic_line.png │ │ ├── ssdk_oks_classic_linkedin.png │ │ ├── ssdk_oks_classic_meipai.png │ │ ├── ssdk_oks_classic_mingdao.png │ │ ├── ssdk_oks_classic_pinterest.png │ │ ├── ssdk_oks_classic_pocket.png │ │ ├── ssdk_oks_classic_qq.png │ │ ├── ssdk_oks_classic_qzone.png │ │ ├── ssdk_oks_classic_renren.png │ │ ├── ssdk_oks_classic_shortmessage.png │ │ ├── ssdk_oks_classic_sinaweibo.png │ │ ├── ssdk_oks_classic_telegram.png │ │ ├── ssdk_oks_classic_tencentweibo.png │ │ ├── ssdk_oks_classic_tumblr.png │ │ ├── ssdk_oks_classic_twitter.png │ │ ├── ssdk_oks_classic_vkontakte.png │ │ ├── ssdk_oks_classic_wechat.png │ │ ├── ssdk_oks_classic_wechatfavorite.png │ │ ├── ssdk_oks_classic_wechatmoments.png │ │ ├── ssdk_oks_classic_whatsapp.png │ │ ├── ssdk_oks_classic_yixin.png │ │ ├── ssdk_oks_classic_yixinmoments.png │ │ ├── ssdk_oks_classic_youdao.png │ │ ├── ssdk_oks_classic_youtube.png │ │ ├── ssdk_title_div.png │ │ ├── ssdk_weibo_common_shadow_top.9.png │ │ └── ssdk_weibo_empty_failed.png │ │ ├── drawable │ │ ├── bg_frame_deep_gray.xml │ │ ├── bg_frame_gray.xml │ │ ├── flash_bg.xml │ │ ├── ic_vector_about.xml │ │ ├── ic_vector_bottom_book.xml │ │ ├── ic_vector_bottom_gankio.xml │ │ ├── ic_vector_bottom_home.xml │ │ ├── ic_vector_bottom_movie.xml │ │ ├── ic_vector_bottom_personal.xml │ │ ├── ic_vector_classify_white.xml │ │ ├── ic_vector_download.xml │ │ ├── ic_vector_github_grey.xml │ │ ├── ic_vector_github_white.xml │ │ ├── ic_vector_head_classify.xml │ │ ├── ic_vector_head_vertical_line.xml │ │ ├── ic_vector_image_load_before.xml │ │ ├── ic_vector_item_all.xml │ │ ├── ic_vector_item_app.xml │ │ ├── ic_vector_item_tuijian.xml │ │ ├── ic_vector_item_tuozhan.xml │ │ ├── ic_vector_more.xml │ │ ├── ic_vector_more_right.xml │ │ ├── ic_vector_pic_save.xml │ │ ├── ic_vector_publish.xml │ │ ├── ic_vector_qr_code.xml │ │ ├── ic_vector_share.xml │ │ ├── ic_vector_title_android.xml │ │ ├── ic_vector_title_front.xml │ │ ├── ic_vector_title_ios.xml │ │ ├── ic_vector_title_refesh.xml │ │ ├── ic_vector_title_video.xml │ │ ├── ic_vector_title_welfare.xml │ │ ├── ic_vetor_setting.xml │ │ ├── ripple_hot_moive_item_bg.xml │ │ ├── select_gank_custom.xml │ │ ├── select_personal_about.xml │ │ ├── select_personal_setting.xml │ │ ├── select_top_movie_header.xml │ │ ├── shape_corner_bg.xml │ │ ├── shape_count_down_bg.xml │ │ ├── ssdk_oks_classic_platform_cell_back.xml │ │ ├── ssdk_oks_classic_progressbar.xml │ │ └── web_progress_bar_bg.xml │ │ ├── layout-v19 │ │ └── activity_main.xml │ │ ├── layout-v21 │ │ └── activity_main.xml │ │ ├── layout │ │ ├── activity_about.xml │ │ ├── activity_book_detail.xml │ │ ├── activity_detail.xml │ │ ├── activity_flash.xml │ │ ├── activity_head_setting.xml │ │ ├── activity_main.xml │ │ ├── activity_moive_detail.xml │ │ ├── activity_pic_browse.xml │ │ ├── activity_qr_code.xml │ │ ├── fragment_book.xml │ │ ├── fragment_book_.xml │ │ ├── fragment_book_custom.xml │ │ ├── fragment_gank_io.xml │ │ ├── fragment_gank_io_.xml │ │ ├── fragment_gank_io_custom.xml │ │ ├── fragment_gank_io_day.xml │ │ ├── fragment_gank_io_welfare.xml │ │ ├── fragment_home.xml │ │ ├── fragment_home_.xml │ │ ├── fragment_home_wangyi.xml │ │ ├── fragment_home_weixin.xml │ │ ├── fragment_home_zhihu.xml │ │ ├── fragment_movie.xml │ │ ├── fragment_movie_hot.xml │ │ ├── fragment_movie_top.xml │ │ ├── fragment_personal.xml │ │ ├── fragment_personal_lower.xml │ │ ├── fragment_personal_setting.xml │ │ ├── fragment_personal_upper.xml │ │ ├── item_book_custom.xml │ │ ├── item_gank_io_custom_image.xml │ │ ├── item_gank_io_custom_no_image.xml │ │ ├── item_gank_io_custom_normal.xml │ │ ├── item_gank_io_day_normal.xml │ │ ├── item_gank_io_day_refesh.xml │ │ ├── item_gank_io_welfare.xml │ │ ├── item_hot_movie.xml │ │ ├── item_load_more.xml │ │ ├── item_movie_detail_person.xml │ │ ├── item_recycle_home.xml │ │ ├── item_top_movie.xml │ │ ├── layout_popupwindow.xml │ │ ├── nav_header_main.xml │ │ ├── popup_pic_longclick.xml │ │ ├── sub_book_detail_header.xml │ │ ├── sub_book_detail_mid.xml │ │ ├── sub_gank_io_custom_head.xml │ │ ├── sub_item_gank_io_custom_bottom.xml │ │ ├── sub_item_gank_io_day_content.xml │ │ ├── sub_movie_detail_header.xml │ │ ├── sub_movie_detail_mid.xml │ │ ├── sub_movie_top_header.xml │ │ └── sub_net_status.xml │ │ ├── menu │ │ ├── activity_main_drawer.xml │ │ ├── bottom_navigation_menu.xml │ │ ├── gank_io_custom_bottom_sheet.xml │ │ └── toolbar_menu.xml │ │ ├── mipmap-hdpi │ │ ├── download.png │ │ ├── header_icon.jpg │ │ ├── home_arrow_right_gray.png │ │ ├── icon.png │ │ ├── img_default_book.png │ │ ├── img_default_meizi.png │ │ ├── img_default_movie.png │ │ └── img_load_before.png │ │ ├── mipmap-mdpi │ │ ├── app_qrcode.png │ │ └── icon.png │ │ ├── mipmap-xhdpi │ │ ├── gank_io_day_item_android1.jpg │ │ ├── gank_io_day_item_android2.jpg │ │ ├── gank_io_day_item_android3.jpg │ │ ├── gank_io_day_item_android4.jpg │ │ ├── gank_io_day_item_android5.jpg │ │ ├── gank_io_day_item_android6.jpg │ │ ├── gank_io_day_item_ios1.jpg │ │ ├── gank_io_day_item_ios2.jpg │ │ ├── gank_io_day_item_ios3.jpg │ │ ├── gank_io_day_item_video.jpg │ │ ├── gank_io_day_item_web.jpg │ │ ├── ic_drawer_home.png │ │ └── icon.png │ │ ├── mipmap-xxhdpi │ │ ├── about_bg.jpg │ │ ├── about_head_bg.jpg │ │ ├── bg_flash.png │ │ ├── ic_drawer_home.png │ │ ├── icon.png │ │ ├── load_bg.png │ │ ├── menu_header_background.jpg │ │ └── top_movie_head_bg.png │ │ ├── mipmap-xxxhdpi │ │ └── icon.png │ │ ├── values-en │ │ ├── ssdk_country_arrays.xml │ │ ├── ssdk_oks_strings.xml │ │ └── ssdk_strings.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ssdk_coutry_arrays.xml │ │ ├── ssdk_instapaper_strings.xml │ │ ├── ssdk_oks_color_drawables.xml │ │ ├── ssdk_oks_strings.xml │ │ ├── ssdk_strings.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── file_paths.xml │ └── test │ └── java │ └── com │ └── zyw │ └── horrarndoo │ └── yizhi │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── sdk ├── .gitignore ├── build.gradle ├── libs │ ├── MobCommons-2017.0914.1125.jar │ ├── MobTools-2017.0914.1125.jar │ └── nineoldandroids-2.4.0.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── zyw │ │ └── horrarndoo │ │ └── sdk │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── zyw │ │ │ └── horrarndoo │ │ │ └── sdk │ │ │ ├── AppManager.java │ │ │ ├── RxManager.java │ │ │ ├── adapter │ │ │ └── FragmentAdapter.java │ │ │ ├── anim │ │ │ ├── AnimManager.java │ │ │ ├── AnimUtils.java │ │ │ └── ToolbarAnimManager.java │ │ │ ├── base │ │ │ ├── BaseModel.java │ │ │ ├── BasePresenter.java │ │ │ ├── IBaseActivity.java │ │ │ ├── IBaseFragment.java │ │ │ ├── IBaseModel.java │ │ │ ├── IBaseView.java │ │ │ ├── activity │ │ │ │ ├── BaseCompatActivity.java │ │ │ │ └── BaseMVPCompatActivity.java │ │ │ └── fragment │ │ │ │ ├── BaseCompatFragment.java │ │ │ │ ├── BaseMVPCompatFragment.java │ │ │ │ └── BaseRecycleFragment.java │ │ │ ├── config │ │ │ ├── DBConfig.java │ │ │ └── ItemState.java │ │ │ ├── global │ │ │ └── GlobalApplication.java │ │ │ ├── helper │ │ │ ├── BottomNavigationViewHelper.java │ │ │ ├── RetrofitCreateHelper.java │ │ │ ├── RxHelper.java │ │ │ └── okhttp │ │ │ │ ├── CacheInterceptor.java │ │ │ │ ├── HttpCache.java │ │ │ │ ├── NetInterceptor.java │ │ │ │ ├── NoNetInterceptor.java │ │ │ │ └── TrustManager.java │ │ │ ├── rxbus │ │ │ ├── BusData.java │ │ │ ├── RxBus.java │ │ │ ├── Subscribe.java │ │ │ ├── SubscriberMethod.java │ │ │ └── ThreadMode.java │ │ │ ├── utils │ │ │ ├── AppUtils.java │ │ │ ├── BitmapUtils.java │ │ │ ├── DBUtils.java │ │ │ ├── DateUtils.java │ │ │ ├── DialogUtils.java │ │ │ ├── DisplayUtils.java │ │ │ ├── FileUtils.java │ │ │ ├── HtmlUtils.java │ │ │ ├── HttpUtils.java │ │ │ ├── IOUtils.java │ │ │ ├── ImageUtils.java │ │ │ ├── JsonUtils.java │ │ │ ├── LogUtils.java │ │ │ ├── MD5Utils.java │ │ │ ├── NavigationUtils.java │ │ │ ├── NetworkConnectionUtils.java │ │ │ ├── ResourcesUtils.java │ │ │ ├── RoundUtils.java │ │ │ ├── ScreenUtils.java │ │ │ ├── SnackbarUtils.java │ │ │ ├── SpUtils.java │ │ │ ├── StatusBarUtils.java │ │ │ ├── StringUtils.java │ │ │ ├── ThemeUtils.java │ │ │ ├── TimestampUtils.java │ │ │ ├── ToastUtils.java │ │ │ ├── UnicodeUtils.java │ │ │ └── WifiAutoConnectManager.java │ │ │ └── widgets │ │ │ ├── CompatNestedScrollView.java │ │ │ ├── HistoryChartView.java │ │ │ ├── HistoryModeView.java │ │ │ ├── HistoryTipView.java │ │ │ ├── MovingImageView.java │ │ │ ├── MovingViewAnimator.java │ │ │ ├── NestedScrollWebView.java │ │ │ ├── PickerView.java │ │ │ ├── ProgressButton.java │ │ │ ├── SlideSwitchView.java │ │ │ ├── WaitPorgressDialog.java │ │ │ └── headclip │ │ │ ├── ClipView.java │ │ │ └── ClipViewLayout.java │ └── res │ │ ├── anim │ │ ├── activity_finish_trans_in.xml │ │ ├── activity_finish_trans_out.xml │ │ ├── activity_finish_zoom_in.xml │ │ ├── activity_finish_zoom_out.xml │ │ ├── activity_start_trans_in.xml │ │ ├── activity_start_trans_out.xml │ │ ├── activity_start_zoom_in.xml │ │ └── activity_start_zoom_out.xml │ │ ├── drawable-v21 │ │ └── item_touch_bg.xml │ │ ├── drawable │ │ ├── ic_vector_empty.xml │ │ ├── ic_vector_loading.xml │ │ ├── ic_vector_net_error.xml │ │ ├── indoor_temp.png │ │ ├── item_touch_bg.xml │ │ ├── stackblur_default.png │ │ ├── week_normal.png │ │ ├── week_selector.png │ │ ├── week_status.xml │ │ └── week_tv_status.xml │ │ ├── layout │ │ ├── sub_history_click_view.xml │ │ ├── sub_history_tips.xml │ │ ├── view_empty.xml │ │ ├── view_loading.xml │ │ └── view_network_error.xml │ │ ├── mipmap-xhdpi │ │ └── ic_arrow_back_white.png │ │ ├── mipmap-xxhdpi │ │ └── ic_arrow_back_white.png │ │ ├── values-v21 │ │ └── styles.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ ├── themes.xml │ │ └── themes_colors.xml │ └── test │ └── java │ └── com │ └── zyw │ └── horrarndoo │ └── sdk │ └── ExampleUnitTest.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/libs/ShareSDK-Core-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/libs/ShareSDK-Core-3.1.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-Email-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/libs/ShareSDK-Email-3.1.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-QQ-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/libs/ShareSDK-QQ-3.1.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-QZone-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/libs/ShareSDK-QZone-3.1.0.jar -------------------------------------------------------------------------------- /app/libs/ShareSDK-ShortMessage-3.1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/libs/ShareSDK-ShortMessage-3.1.0.jar -------------------------------------------------------------------------------- /app/src/androidTest/java/com/zyw/horrarndoo/yizhi/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.zyw.horrarndoo.yizhi", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/CustomerLogo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import android.graphics.Bitmap; 12 | import android.view.View.OnClickListener; 13 | 14 | /** 九宫格自定义的图标对象 */ 15 | public class CustomerLogo { 16 | public String label; 17 | public Bitmap logo; 18 | public OnClickListener listener; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/OnekeyShareTheme.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.onekeyshare.themes.classic.ClassicTheme; 12 | 13 | /** 快捷分享的主题样式 */ 14 | public enum OnekeyShareTheme { 15 | /** 九格宫的主题样式 ,对应的实现类ClassicTheme */ 16 | CLASSIC(0, new ClassicTheme()); 17 | 18 | private final int value; 19 | private final OnekeyShareThemeImpl impl; 20 | 21 | private OnekeyShareTheme(int value, OnekeyShareThemeImpl impl) { 22 | this.value = value; 23 | this.impl = impl; 24 | } 25 | 26 | public int getValue() { 27 | return value; 28 | } 29 | 30 | public OnekeyShareThemeImpl getImpl() { 31 | return impl; 32 | } 33 | 34 | public static OnekeyShareTheme fromValue(int value) { 35 | for (OnekeyShareTheme theme : OnekeyShareTheme.values()) { 36 | if (theme.value == value) { 37 | return theme; 38 | } 39 | } 40 | return CLASSIC; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/ShareContentCustomizeCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare; 10 | 11 | import cn.sharesdk.framework.Platform; 12 | import cn.sharesdk.framework.Platform.ShareParams; 13 | 14 | /** 自定义不同平台分享不同内容的接口 */ 15 | public interface ShareContentCustomizeCallback { 16 | 17 | public void onShare(Platform platform, ShareParams paramsToShare); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/RotateImageView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.widget.ImageView; 14 | 15 | /** 在At好友页面中,下拉刷新列表头部的旋转箭头 */ 16 | public class RotateImageView extends ImageView { 17 | private float rotation; 18 | 19 | public RotateImageView(Context context) { 20 | super(context); 21 | } 22 | 23 | public void setRotation(float rotation) { 24 | this.rotation = rotation; 25 | invalidate(); 26 | } 27 | 28 | protected void onDraw(Canvas canvas) { 29 | canvas.rotate(rotation, getWidth() / 2, getHeight() / 2); 30 | super.onDraw(canvas); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/XView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic; 10 | 11 | import android.content.Context; 12 | import android.graphics.Canvas; 13 | import android.graphics.Paint; 14 | import android.view.View; 15 | 16 | /** 编辑页面中删除图片“X”按钮 */ 17 | public class XView extends View { 18 | private float ratio; 19 | 20 | public XView(Context context) { 21 | super(context); 22 | } 23 | 24 | public void setRatio(float ratio) { 25 | this.ratio = ratio; 26 | } 27 | 28 | protected void onDraw(Canvas canvas) { 29 | int width = getWidth() / 2; 30 | int height = getHeight() / 2; 31 | 32 | Paint paint = new Paint(); 33 | paint.setAntiAlias(true); 34 | paint.setColor(0xffa0a0a0); 35 | canvas.drawRect(width, 0, getWidth(), height, paint); 36 | 37 | paint = new Paint(); 38 | paint.setAntiAlias(true); 39 | paint.setStrokeWidth(3f * ratio); 40 | paint.setColor(0xffffffff); 41 | float left = 8f * ratio; 42 | canvas.drawLine(width + left, left, getWidth() - left, width - left, paint); 43 | canvas.drawLine(width + left, width - left, getWidth() - left, left, paint); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/FriendListPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 12 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 13 | 14 | import com.mob.tools.utils.ResHelper; 15 | 16 | /** 横屏的好友列表 */ 17 | public class FriendListPageLand extends FriendListPage { 18 | private static final int DESIGN_SCREEN_WIDTH = 1280; 19 | private static final int DESIGN_TITLE_HEIGHT = 70; 20 | 21 | public FriendListPageLand(OnekeyShareThemeImpl impl) { 22 | super(impl); 23 | } 24 | 25 | protected float getRatio() { 26 | float screenWidth = ResHelper.getScreenWidth(activity); 27 | return screenWidth / DESIGN_SCREEN_WIDTH; 28 | } 29 | 30 | protected int getDesignTitleHeight() { 31 | return DESIGN_TITLE_HEIGHT; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/land/PlatformPageLand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.land; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 横屏的九宫格页面 */ 18 | public class PlatformPageLand extends PlatformPage { 19 | 20 | public PlatformPageLand(OnekeyShareThemeImpl impl) { 21 | super(impl); 22 | } 23 | 24 | public void onCreate() { 25 | requestLandscapeOrientation(); 26 | super.onCreate(); 27 | } 28 | 29 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 30 | return new PlatformPageAdapterLand(this, cells); 31 | } 32 | 33 | } 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/FriendListPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 12 | import cn.sharesdk.onekeyshare.themes.classic.FriendListPage; 13 | 14 | import com.mob.tools.utils.ResHelper; 15 | 16 | /** 竖屏的好友列表 */ 17 | public class FriendListPagePort extends FriendListPage { 18 | private static final int DESIGN_SCREEN_WIDTH = 720; 19 | private static final int DESIGN_TITLE_HEIGHT = 96; 20 | 21 | public FriendListPagePort(OnekeyShareThemeImpl impl) { 22 | super(impl); 23 | } 24 | 25 | protected float getRatio() { 26 | float screenWidth = ResHelper.getScreenWidth(activity); 27 | return screenWidth / DESIGN_SCREEN_WIDTH; 28 | } 29 | 30 | protected int getDesignTitleHeight() { 31 | return DESIGN_TITLE_HEIGHT; 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/cn/sharesdk/onekeyshare/themes/classic/port/PlatformPagePort.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 官网地站:http://www.mob.com 3 | * 技术支持QQ: 4006852216 4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复) 5 | * 6 | * Copyright (c) 2013年 mob.com. All rights reserved. 7 | */ 8 | 9 | package cn.sharesdk.onekeyshare.themes.classic.port; 10 | 11 | import java.util.ArrayList; 12 | 13 | import cn.sharesdk.onekeyshare.OnekeyShareThemeImpl; 14 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPage; 15 | import cn.sharesdk.onekeyshare.themes.classic.PlatformPageAdapter; 16 | 17 | /** 竖屏的九宫格页面 */ 18 | public class PlatformPagePort extends PlatformPage { 19 | 20 | public PlatformPagePort(OnekeyShareThemeImpl impl) { 21 | super(impl); 22 | } 23 | 24 | public void onCreate() { 25 | requestPortraitOrientation(); 26 | super.onCreate(); 27 | } 28 | 29 | protected PlatformPageAdapter newAdapter(ArrayList cells) { 30 | return new PlatformPageAdapterPort(this, cells); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/adapter/BaseCompatAdapter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.adapter; 2 | 3 | import android.support.annotation.LayoutRes; 4 | import android.support.annotation.Nullable; 5 | 6 | import com.chad.library.adapter.base.BaseQuickAdapter; 7 | import com.chad.library.adapter.base.BaseViewHolder; 8 | import com.zyw.horrarndoo.yizhi.ui.widgets.RvLoadMoreView; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * Created by Horrarndoo on 2017/9/20. 14 | *

15 | */ 16 | 17 | public abstract class BaseCompatAdapter extends BaseQuickAdapter { 19 | 20 | public BaseCompatAdapter(@LayoutRes int layoutResId, @Nullable List data) { 21 | super(layoutResId, data); 22 | init(); 23 | } 24 | 25 | public BaseCompatAdapter(@Nullable List data) { 26 | super(data); 27 | init(); 28 | } 29 | 30 | public BaseCompatAdapter(@LayoutRes int layoutResId) { 31 | super(layoutResId); 32 | init(); 33 | } 34 | 35 | private void init(){ 36 | setLoadMoreView(new RvLoadMoreView()); 37 | setEnableLoadMore(true); 38 | openLoadAnimation();//开启默认动画载入(仅开启加载新item时开启动画) 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/adapter/BookCustomAdapter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.adapter; 2 | 3 | import android.support.annotation.LayoutRes; 4 | import android.support.annotation.Nullable; 5 | import android.widget.ImageView; 6 | 7 | import com.bumptech.glide.Glide; 8 | import com.chad.library.adapter.base.BaseViewHolder; 9 | import com.zyw.horrarndoo.yizhi.R; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.book.BookItemBean; 11 | 12 | import java.util.List; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/23. 16 | *

17 | */ 18 | 19 | public class BookCustomAdapter extends BaseCompatAdapter { 20 | public BookCustomAdapter(@LayoutRes int layoutResId, @Nullable List data) { 21 | super(layoutResId, data); 22 | } 23 | 24 | public BookCustomAdapter(@Nullable List data) { 25 | super(data); 26 | } 27 | 28 | public BookCustomAdapter(@LayoutRes int layoutResId) { 29 | super(layoutResId); 30 | } 31 | 32 | @Override 33 | protected void convert(BaseViewHolder helper, BookItemBean item) { 34 | helper.setText(R.id.tv_item_title, "《" + item.getTitle() + "》"); 35 | helper.setText(R.id.tv_item_author, "作者:" + item.getAuthorsString()); 36 | helper.setText(R.id.tv_item_publisher, "出版社:" + item.getPublisher()); 37 | helper.setText(R.id.tv_item_pubdate, "出版日期:" + item.getPubdate()); 38 | helper.setText(R.id.tv_item_rate, "评分:" + item.getRating().getAverage()); 39 | Glide.with(mContext).load(item.getImage()).crossFade(300).into((ImageView) helper.getView 40 | (R.id.iv_item_image)); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/adapter/GankIoWelfareAdapter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.adapter; 2 | 3 | import android.support.annotation.LayoutRes; 4 | import android.support.annotation.Nullable; 5 | import android.widget.ImageView; 6 | 7 | import com.bumptech.glide.Glide; 8 | import com.chad.library.adapter.base.BaseViewHolder; 9 | import com.zyw.horrarndoo.yizhi.R; 10 | import com.zyw.horrarndoo.yizhi.model.bean.gankio.GankIoWelfareItemBean; 11 | 12 | import java.util.List; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/16. 16 | *

17 | */ 18 | 19 | public class GankIoWelfareAdapter extends BaseCompatAdapter{ 20 | public GankIoWelfareAdapter(@LayoutRes int layoutResId) { 21 | super(layoutResId); 22 | } 23 | 24 | public GankIoWelfareAdapter(@LayoutRes int layoutResId, @Nullable List 25 | data) { 26 | super(layoutResId, data); 27 | } 28 | 29 | public GankIoWelfareAdapter(@Nullable List data) { 30 | super(data); 31 | } 32 | 33 | @Override 34 | protected void convert(BaseViewHolder helper, GankIoWelfareItemBean item) { 35 | Glide.with(mContext) 36 | .load(item.getUrl()) 37 | .crossFade(500) 38 | .placeholder(R.mipmap.img_default_meizi) 39 | .into((ImageView) helper.getView(R.id.iv_item_image)); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/adapter/TopMovieAdapter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.adapter; 2 | 3 | import android.support.annotation.LayoutRes; 4 | import android.support.annotation.Nullable; 5 | import android.widget.ImageView; 6 | 7 | import com.bumptech.glide.Glide; 8 | import com.chad.library.adapter.base.BaseViewHolder; 9 | import com.zyw.horrarndoo.yizhi.R; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.movie.child.SubjectsBean; 11 | 12 | import java.util.List; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/18. 16 | *

17 | */ 18 | 19 | public class TopMovieAdapter extends BaseCompatAdapter { 20 | 21 | public TopMovieAdapter(@LayoutRes int layoutResId, @Nullable List data) { 22 | super(layoutResId, data); 23 | } 24 | 25 | public TopMovieAdapter(@Nullable List data) { 26 | super(data); 27 | } 28 | 29 | public TopMovieAdapter(@LayoutRes int layoutResId) { 30 | super(layoutResId); 31 | } 32 | 33 | @Override 34 | protected void convert(BaseViewHolder helper, SubjectsBean item) { 35 | helper.setText(R.id.tv_top_moive_name, item.getTitle()); 36 | helper.setText(R.id.tv_top_moive_rate, String.valueOf(item.getRating().getAverage())); 37 | Glide.with(mContext).load(item.getImages().getLarge()).crossFade(300).placeholder(R 38 | .mipmap.img_default_movie).into((ImageView) helper.getView(R.id 39 | .iv_top_moive_photo)); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/api/WangyiApi.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.api; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.wangyi.WangyiNewsListBean; 4 | 5 | import io.reactivex.Observable; 6 | import okhttp3.ResponseBody; 7 | import retrofit2.http.GET; 8 | import retrofit2.http.Path; 9 | 10 | /** 11 | * Created by Horrarndoo on 2017/9/18. 12 | *

13 | */ 14 | 15 | public interface WangyiApi { 16 | public final String HOST = "http://c.m.163.com"; 17 | 18 | @GET("/nc/article/headline/T1348647909107/{id}-20.html") 19 | Observable getNewsList(@Path("id") int id); 20 | 21 | @GET("/nc/article/{id}/full.html") 22 | Observable getNewsDetail(@Path("id") String id); 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/api/WeixinApi.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.api; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.weixin.WeixinChoiceListBean; 4 | 5 | import io.reactivex.Observable; 6 | import retrofit2.http.GET; 7 | import retrofit2.http.Query; 8 | 9 | /** 10 | * Created by Horrarndoo on 2017/9/21. 11 | *

12 | */ 13 | 14 | public interface WeixinApi { 15 | public static final String HOST = "http://v.juhe.cn"; 16 | 17 | @GET("/weixin/query") 18 | Observable getWeixinChoiceList(@Query("pno") int page, @Query("ps") int 19 | ps, @Query("dtype") String dttype, @Query("key") String key); 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/api/ZhihuApi.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.api; 2 | 3 | 4 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyDetailBean; 5 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyListBean; 6 | 7 | import io.reactivex.Observable; 8 | import retrofit2.http.GET; 9 | import retrofit2.http.Path; 10 | 11 | 12 | public interface ZhihuApi { 13 | public final String HOST = "http://news-at.zhihu.com"; 14 | 15 | @GET("/api/4/news/latest") 16 | Observable getLastDailyList(); 17 | 18 | @GET("/api/4/news/before/{date}") 19 | Observable getDailyListWithDate(@Path("date") String date); 20 | 21 | @GET("/api/4/news/{id}") 22 | Observable getZhihuDailyDetail(@Path("id") String id); 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/cache/Cache.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.cache; 2 | 3 | import com.zyw.horrarndoo.sdk.utils.SpUtils; 4 | import com.zyw.horrarndoo.yizhi.model.bean.douban.movie.child.SubjectsBean; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/17. 10 | *

11 | */ 12 | 13 | public class Cache { 14 | /** 15 | * 获取豆瓣电影hot cache 16 | * 17 | * @return 豆瓣电影hot cache 18 | */ 19 | public static List getHotMovieCache() { 20 | return SpUtils.getDataList("hot_movie_cache", SubjectsBean.class); 21 | } 22 | 23 | /** 24 | * 保存豆瓣电影hot cache 25 | */ 26 | public static void saveHotMovieCache(List list) { 27 | SpUtils.setDataList("hot_movie_cache", list); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/constant/HeadConstant.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.constant; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/9/26. 5 | *

6 | */ 7 | 8 | public class HeadConstant { 9 | public static final String HEAD_IMAGE_NAME = "yizhi_head_image"; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/constant/InternKeyConstant.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.constant; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/10/18. 5 | *

6 | */ 7 | 8 | public class InternKeyConstant { 9 | public static final String INTENT_KEY_MOVIE_SUBJECTBEAN = "intent_key_movie_subjectbean"; 10 | public static final String INTENT_KEY_BOOK_BOOK_ITEM_BEAN = "intent_key_book_book_item_bean"; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/constant/RxBusCode.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.constant; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/9/25. 5 | *

6 | */ 7 | 8 | public class RxBusCode { 9 | public final static int RX_BUS_CODE_HEAD_IMAGE_URI = 10001; 10 | 11 | public final static int RX_BUS_CODE_GANKIO_PARENT_FAB_CLICK = 10002; 12 | 13 | public final static int RX_BUS_CODE_GANKIO_CUSTOM_TYPE = 10003; 14 | 15 | public final static int RX_BUS_CODE_GANKIO_WELFARE_TYPE = 10004; 16 | 17 | public final static int RX_BUS_CODE_GANKIO_SELECT_TO_CHILD = 10005; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/constant/TabFragmentIndex.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.constant; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/9/11. 5 | *

6 | * TabLayout 中fragment index 常量值 7 | */ 8 | 9 | public class TabFragmentIndex { 10 | public final static int TAB_ZHIHU_INDEX = 0; 11 | public final static int TAB_WANGYI_INDEX = 1; 12 | public final static int TAB_WEIXIN_INDEX = 2; 13 | 14 | public final static int TAB_GANK_DAY_INDEX = 0; 15 | public final static int TAB_GANK_CUSTOM_INDEX = 1; 16 | public final static int TAB_GANK_WELFARE_INDEX = 2; 17 | 18 | public final static int TAB_BOOK_LITERATURE_INDEX = 0; 19 | public final static int TAB_BOOK_CULTURE_INDEX = 1; 20 | public final static int TAB_BOOK_LIFE_INDEX = 2; 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/book/BookDeatilContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.book; 2 | 3 | import com.zyw.horrarndoo.sdk.base.BasePresenter; 4 | import com.zyw.horrarndoo.sdk.base.IBaseActivity; 5 | import com.zyw.horrarndoo.sdk.base.IBaseModel; 6 | import com.zyw.horrarndoo.yizhi.model.bean.douban.book.BookDetailBean; 7 | import com.zyw.horrarndoo.yizhi.model.bean.douban.book.BookItemBean; 8 | 9 | import io.reactivex.Observable; 10 | 11 | /** 12 | * Created by Horrarndoo on 2017/10/23. 13 | *

14 | */ 15 | 16 | public interface BookDeatilContract { 17 | abstract class BookDetailPresenter extends BasePresenter { 18 | /** 19 | * 加载书籍详情 20 | * 21 | * @param id 书籍id 22 | */ 23 | public abstract void loadBookDetail(String id); 24 | 25 | /** 26 | * header点击事件 27 | * 28 | * @param bean bean 29 | */ 30 | public abstract void onHeaderClick(BookItemBean bean); 31 | } 32 | 33 | interface IBookDetailModel extends IBaseModel { 34 | /** 35 | * 获取书籍详情 36 | * 37 | * @param id 书籍id 38 | * @return 书籍详情 39 | */ 40 | Observable getBookDetail(String id); 41 | } 42 | 43 | interface IBookDetailView extends IBaseActivity { 44 | /** 45 | * 显示书籍详情 46 | * 47 | * @param bean 书籍详情bean 48 | */ 49 | void showBookDetail(BookDetailBean bean); 50 | 51 | /** 52 | * 显示网络错误 53 | */ 54 | void showNetworkError(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/book/BookMainContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.book; 2 | 3 | import com.zyw.horrarndoo.sdk.base.BasePresenter; 4 | import com.zyw.horrarndoo.sdk.base.IBaseFragment; 5 | import com.zyw.horrarndoo.sdk.base.IBaseModel; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/21. 9 | *

10 | */ 11 | 12 | public interface BookMainContract { 13 | //book主页接口 14 | abstract class BookMainPresenter extends BasePresenter { 15 | public abstract void getTabList(); 16 | } 17 | 18 | interface IBookMainModel extends IBaseModel { 19 | String[] getTabs(); 20 | } 21 | 22 | interface IBookMainView extends IBaseFragment { 23 | void showTabList(String[] tabs); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/detail/GankIoDetailContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.detail; 2 | 3 | import com.zyw.horrarndoo.yizhi.presenter.detail.BaseWebViewLoadPresenter; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/10/11. 7 | *

8 | */ 9 | 10 | public interface GankIoDetailContract { 11 | abstract class GankIoDetailPresenter extends BaseWebViewLoadPresenter { 13 | /** 14 | * 加载GankIo详情 15 | * 16 | * @param url url 17 | */ 18 | public abstract void loadGankIoDetail(String url); 19 | } 20 | 21 | interface IGankIoDetailModel extends BaseWebViewLoadContract.IBaseWebViewLoadModel { 22 | } 23 | 24 | interface IGankIoDetailView extends BaseWebViewLoadContract.IBaseWebViewLoadView { 25 | /** 26 | * 显示GankIo详细内容 27 | * 28 | * @param url url 29 | */ 30 | void showGankIoDetail(String url); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/detail/WebViewLoadConaract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.detail; 2 | 3 | import com.zyw.horrarndoo.yizhi.presenter.detail.BaseWebViewLoadPresenter; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/10/20. 7 | *

8 | * webview加载更多详情,传入url显示webview 9 | */ 10 | 11 | public interface WebViewLoadConaract { 12 | abstract class WebViewLoadPresenter extends BaseWebViewLoadPresenter { 14 | /** 15 | * 加载url 16 | * 17 | * @param url url 18 | */ 19 | public abstract void loadUrl(String url); 20 | } 21 | 22 | interface IWebViewLoadModel extends BaseWebViewLoadContract.IBaseWebViewLoadModel { 23 | } 24 | 25 | interface IWebViewLoadView extends BaseWebViewLoadContract.IBaseWebViewLoadView { 26 | /** 27 | * 显示url详情 28 | * 29 | * @param url url 30 | */ 31 | void showUrlDetail(String url); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/detail/WeixinDetailContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.detail; 2 | 3 | import com.zyw.horrarndoo.yizhi.presenter.detail.BaseWebViewLoadPresenter; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/9/21. 7 | *

8 | * 微信精选详情页接口 9 | */ 10 | 11 | public interface WeixinDetailContract { 12 | 13 | abstract class WeixinDetailPresenter extends BaseWebViewLoadPresenter { 15 | /** 16 | * 加载微信精选详情 17 | * 18 | * @param url url 19 | */ 20 | public abstract void loadWeixinChoiceDetail(String url); 21 | } 22 | 23 | interface IWeixinDetailModel extends BaseWebViewLoadContract.IBaseWebViewLoadModel { 24 | } 25 | 26 | interface IWeixinDetailView extends BaseWebViewLoadContract.IBaseWebViewLoadView { 27 | /** 28 | * 显示微信精选详细内容 29 | * 30 | * @param url url 31 | */ 32 | void showWeixinChoiceDetail(String url); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/detail/ZhihuDetailContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.detail; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyDetailBean; 4 | import com.zyw.horrarndoo.yizhi.presenter.detail.BaseWebViewLoadPresenter; 5 | 6 | import io.reactivex.Observable; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/13. 10 | *

11 | * 知乎日报详情页接口 12 | */ 13 | 14 | public interface ZhihuDetailContract { 15 | abstract class ZhihuDetailPresenter extends BaseWebViewLoadPresenter { 16 | /** 17 | * 加载日报详情 18 | */ 19 | public abstract void loadDailyDetail(String id); 20 | } 21 | 22 | interface IZhihuDetailModel extends BaseWebViewLoadContract.IBaseWebViewLoadModel { 23 | /** 24 | * 获取日报详情 25 | * 26 | * @param id 日报id 27 | * @return Observable 28 | */ 29 | Observable getDailyDetail(String id); 30 | } 31 | 32 | interface IZhihuDetailView extends BaseWebViewLoadContract.IBaseWebViewLoadView { 33 | /** 34 | * 显示日报详细内容 35 | * 36 | * @param bean ZhihuDailyDetailBean 37 | */ 38 | void showDailyDetail(ZhihuDailyDetailBean bean); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/gankio/GankIoMainContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.gankio; 2 | 3 | import com.zyw.horrarndoo.sdk.base.BasePresenter; 4 | import com.zyw.horrarndoo.sdk.base.IBaseFragment; 5 | import com.zyw.horrarndoo.sdk.base.IBaseModel; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/7. 9 | *

10 | */ 11 | 12 | public interface GankIoMainContract { 13 | //主页接口 14 | abstract class GankIoMainPresenter extends BasePresenter { 15 | public abstract void getTabList(); 16 | } 17 | 18 | interface IGankIoMainModel extends IBaseModel { 19 | String[] getTabs(); 20 | } 21 | 22 | interface IGankIoMainView extends IBaseFragment { 23 | void showTabList(String[] tabs); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/gankio/tabs/GankIoWelfareContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.gankio.tabs; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.gankio.GankIoWelfareItemBean; 4 | import com.zyw.horrarndoo.yizhi.model.bean.gankio.GankIoWelfareListBean; 5 | 6 | import io.reactivex.Observable; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/16. 10 | *

11 | */ 12 | 13 | public interface GankIoWelfareContract { 14 | abstract class GankIoWelfarePresenter extends BaseTabsContract 15 | .BaseTabsPresenter { 16 | 17 | } 18 | 19 | interface IGankIoWelfareModel extends BaseTabsContract.IBaseTabsModel { 20 | /** 21 | * 获取福利list 22 | * 23 | * @param pre_page 每页条数 24 | * @param page 当前页 25 | * @return Observable 26 | */ 27 | Observable getWelfareList(int pre_page, int page); 28 | } 29 | 30 | interface IGankIoWelfareView extends BaseTabsContract.IBaseTabsView { 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/home/HomeMainContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.home; 2 | 3 | import com.zyw.horrarndoo.sdk.base.BasePresenter; 4 | import com.zyw.horrarndoo.sdk.base.IBaseFragment; 5 | import com.zyw.horrarndoo.sdk.base.IBaseModel; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/9/11. 9 | *

10 | * 主页Contract 11 | */ 12 | 13 | public interface HomeMainContract { 14 | //主页接口 15 | abstract class HomeMainPresenter extends BasePresenter { 16 | public abstract void getTabList(); 17 | } 18 | 19 | interface IHomeMainModel extends IBaseModel { 20 | String[] getTabs(); 21 | } 22 | 23 | interface IHomeMainView extends IBaseFragment { 24 | void showTabList(String[] tabs); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/home/tabs/WangyiContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.home.tabs; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.wangyi.WangyiNewsItemBean; 4 | import com.zyw.horrarndoo.yizhi.model.bean.wangyi.WangyiNewsListBean; 5 | 6 | import io.reactivex.Observable; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/18. 10 | *

11 | * 网易新闻接口 12 | */ 13 | 14 | public interface WangyiContract { 15 | abstract class WangyiPresenter extends BaseTabsContract.BaseTabsPresenter { 17 | } 18 | 19 | interface IWangyiModel extends BaseTabsContract.IBaseTabsModel { 20 | /** 21 | * 获取网易新闻list 22 | * 23 | * @param id id 24 | * @return Observable 25 | */ 26 | Observable getNewsList(int id); 27 | } 28 | 29 | interface IWangyiView extends BaseTabsContract.IBaseTabsView { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/home/tabs/WeixinContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.home.tabs; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.weixin.WeixinChoiceItemBean; 4 | import com.zyw.horrarndoo.yizhi.model.bean.weixin.WeixinChoiceListBean; 5 | 6 | import io.reactivex.Observable; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/21. 10 | *

11 | * 微信精选接口 12 | */ 13 | 14 | public interface WeixinContract { 15 | abstract class WeixinPresenter extends BaseTabsContract.BaseTabsPresenter { 17 | } 18 | 19 | interface IWeixinModel extends BaseTabsContract.IBaseTabsModel { 20 | /** 21 | * 获取微信精选 22 | * 23 | * @param page 指定微信精选页数->空的话默认1 24 | * @param pageStrip 每页显示条数->空的话默认20条 25 | * @param dttype 返回数据的格式,xml或json,空的话->默认json 26 | * @param key 聚合key 27 | * @return Observable 28 | */ 29 | Observable getWeixinChoiceList(int page, int pageStrip, String 30 | dttype, String key); 31 | } 32 | 33 | interface IWeixinView extends BaseTabsContract.IBaseTabsView { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/contract/home/tabs/ZhihuContract.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.contract.home.tabs; 2 | 3 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyItemBean; 4 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyListBean; 5 | 6 | import io.reactivex.Observable; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/12. 10 | *

11 | * 知乎头条接口 12 | */ 13 | 14 | public interface ZhihuContract { 15 | 16 | abstract class ZhihuPresenter extends BaseTabsContract.BaseTabsPresenter { 18 | } 19 | 20 | interface IZhihuModel extends BaseTabsContract.IBaseTabsModel { 21 | /** 22 | * 根据日期获取日报list --> 20170910 23 | * 24 | * @param date 日期 25 | * @return Observable 26 | */ 27 | Observable getDailyList(String date); 28 | 29 | /** 30 | * 获取日报list 31 | * 32 | * @return Observable 33 | */ 34 | Observable getDailyList(); 35 | } 36 | 37 | interface IZhihuView extends BaseTabsContract.IBaseTabsView { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/douban/book/child/ImagesBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.douban.book.child; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/16. 9 | *

10 | */ 11 | public class ImagesBean implements Serializable { 12 | /** 13 | * small : https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p2378133884.jpg 14 | * large : https://img3.doubanio.com/view/movie_poster_cover/lpst/public/p2378133884.jpg 15 | * medium : https://img3.doubanio.com/view/movie_poster_cover/spst/public/p2378133884.jpg 16 | */ 17 | @SerializedName("small") 18 | private String small; 19 | @SerializedName("large") 20 | private String large; 21 | @SerializedName("medium") 22 | private String medium; 23 | 24 | public String getSmall() { 25 | return small; 26 | } 27 | 28 | public String getLarge() { 29 | return large; 30 | } 31 | 32 | public String getMedium() { 33 | return medium; 34 | } 35 | 36 | public void setSmall(String small) { 37 | this.small = small; 38 | } 39 | 40 | public void setLarge(String large) { 41 | this.large = large; 42 | } 43 | 44 | public void setMedium(String medium) { 45 | this.medium = medium; 46 | } 47 | 48 | @Override 49 | public String toString() { 50 | return "ImagesBean{" + 51 | "small='" + small + '\'' + 52 | ", large='" + large + '\'' + 53 | ", medium='" + medium + '\'' + 54 | '}'; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/douban/movie/child/ImagesBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.douban.movie.child; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/16. 9 | *

10 | */ 11 | public class ImagesBean implements Serializable { 12 | /** 13 | * small : https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p2378133884.jpg 14 | * large : https://img3.doubanio.com/view/movie_poster_cover/lpst/public/p2378133884.jpg 15 | * medium : https://img3.doubanio.com/view/movie_poster_cover/spst/public/p2378133884.jpg 16 | */ 17 | @SerializedName("small") 18 | private String small; 19 | @SerializedName("large") 20 | private String large; 21 | @SerializedName("medium") 22 | private String medium; 23 | 24 | public String getSmall() { 25 | return small; 26 | } 27 | 28 | public String getLarge() { 29 | return large; 30 | } 31 | 32 | public String getMedium() { 33 | return medium; 34 | } 35 | 36 | public void setSmall(String small) { 37 | this.small = small; 38 | } 39 | 40 | public void setLarge(String large) { 41 | this.large = large; 42 | } 43 | 44 | public void setMedium(String medium) { 45 | this.medium = medium; 46 | } 47 | 48 | @Override 49 | public String toString() { 50 | return "ImagesBean{" + 51 | "small='" + small + '\'' + 52 | ", large='" + large + '\'' + 53 | ", medium='" + medium + '\'' + 54 | '}'; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/douban/movie/child/RatingBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.douban.movie.child; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.io.Serializable; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/16. 9 | *

10 | */ 11 | public class RatingBean implements Serializable { 12 | /** 13 | * max : 10 14 | * average : 6.9 15 | * stars : 35 16 | * min : 0 17 | */ 18 | @SerializedName("max") 19 | private int max; 20 | @SerializedName("average") 21 | private double average; 22 | @SerializedName("stars") 23 | private String stars; 24 | @SerializedName("min") 25 | private int min; 26 | 27 | public int getMax() { 28 | return max; 29 | } 30 | 31 | public double getAverage() { 32 | return average; 33 | } 34 | 35 | public String getStars() { 36 | return stars; 37 | } 38 | 39 | public int getMin() { 40 | return min; 41 | } 42 | 43 | public void setMax(int max) { 44 | this.max = max; 45 | } 46 | 47 | public void setAverage(double average) { 48 | this.average = average; 49 | } 50 | 51 | public void setStars(String stars) { 52 | this.stars = stars; 53 | } 54 | 55 | public void setMin(int min) { 56 | this.min = min; 57 | } 58 | 59 | @Override 60 | public String toString() { 61 | return "RatingBean{" + 62 | "max=" + max + 63 | ", average=" + average + 64 | ", stars='" + stars + '\'' + 65 | ", min=" + min + 66 | '}'; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/gankio/GankIoCustomListBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.gankio; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.io.Serializable; 6 | import java.util.List; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/13. 10 | *

11 | */ 12 | 13 | public class GankIoCustomListBean implements Serializable { 14 | @SerializedName("error") 15 | private boolean error; 16 | 17 | public boolean isError() { 18 | return error; 19 | } 20 | 21 | public void setError(boolean error) { 22 | this.error = error; 23 | } 24 | 25 | public List getResults() { 26 | return results; 27 | } 28 | 29 | public void setResults(List results) { 30 | this.results = results; 31 | } 32 | 33 | /** 34 | * _id : 5832662b421aa929b0f34e99 35 | * createdAt : 2016-11-21T11:12:43.567Z 36 | * desc : 深入Android渲染机制 37 | * publishedAt : 2016-11-24T11:40:53.615Z 38 | * source : web 39 | * type : Android 40 | * url : http://blog.csdn.net/ccj659/article/details/53219288 41 | * used : true 42 | * who : Chauncey 43 | */ 44 | 45 | @SerializedName("results") 46 | private List results; 47 | 48 | @Override 49 | public String toString() { 50 | return "GankIoCustomListBean{" + 51 | "error=" + error + 52 | ", results=" + results + 53 | '}'; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/gankio/GankIoWelfareListBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.gankio; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/16. 9 | *

10 | * 实际上福利返回的json数据格式和custom是一样的,为了区分,这里分开来写bean 11 | */ 12 | 13 | public class GankIoWelfareListBean { 14 | @SerializedName("error") 15 | private boolean error; 16 | 17 | public boolean isError() { 18 | return error; 19 | } 20 | 21 | public void setError(boolean error) { 22 | this.error = error; 23 | } 24 | 25 | public List getResults() { 26 | return results; 27 | } 28 | 29 | public void setResults(List results) { 30 | this.results = results; 31 | } 32 | 33 | /** 34 | * _id : 5832662b421aa929b0f34e99 35 | * createdAt : 2016-11-21T11:12:43.567Z 36 | * desc : 深入Android渲染机制 37 | * publishedAt : 2016-11-24T11:40:53.615Z 38 | * source : web 39 | * type : Android 40 | * url : http://blog.csdn.net/ccj659/article/details/53219288 41 | * used : true 42 | * who : Chauncey 43 | */ 44 | 45 | @SerializedName("results") 46 | private List results; 47 | 48 | @Override 49 | public String toString() { 50 | return "GankIoCustomListBean{" + 51 | "error=" + error + 52 | ", results=" + results + 53 | '}'; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/rxbus/RxEventHeadBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.rxbus; 2 | 3 | import android.net.Uri; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/9/26. 7 | *

8 | * RxBus传递头像uri bean 9 | */ 10 | 11 | public class RxEventHeadBean { 12 | private Uri uri; 13 | 14 | public RxEventHeadBean(Uri uri) { 15 | this.uri = uri; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "RxEventHeadBean{" + 21 | "uri=" + uri + 22 | '}'; 23 | } 24 | 25 | public Uri getUri() { 26 | return uri; 27 | } 28 | 29 | public void setUri(Uri uri) { 30 | this.uri = uri; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/wangyi/WangyiNewsListBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.wangyi; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.util.ArrayList; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/9/18. 9 | *

10 | */ 11 | public class WangyiNewsListBean { 12 | 13 | @SerializedName("T1348647909107") 14 | ArrayList newsList; 15 | 16 | public ArrayList getNewsList() { 17 | return newsList; 18 | } 19 | 20 | public void setNewsList(ArrayList newsList) { 21 | this.newsList = newsList; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/bean/zhihu/ZhihuDailyListBean.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.bean.zhihu; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import java.util.ArrayList; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/9/12. 9 | *

10 | */ 11 | public class ZhihuDailyListBean { 12 | @SerializedName("date") 13 | private String date; 14 | @SerializedName("top_stories") 15 | private ArrayList mZhihuDailyItems; 16 | @SerializedName("stories") 17 | private ArrayList stories; 18 | 19 | public String getDate() { 20 | return date; 21 | } 22 | 23 | public void setDate(String date) { 24 | this.date = date; 25 | } 26 | 27 | public ArrayList getZhihuDailyItems() { 28 | return mZhihuDailyItems; 29 | } 30 | 31 | public void setZhihuDailyItems(ArrayList zhihuDailyItems) { 32 | this.mZhihuDailyItems = zhihuDailyItems; 33 | } 34 | 35 | public ArrayList getStories() { 36 | return stories; 37 | } 38 | 39 | public void setStories(ArrayList stories) { 40 | this.stories = stories; 41 | } 42 | 43 | @Override 44 | public String toString() { 45 | return "ZhihuDailyListBean{" + 46 | "date='" + date + '\'' + 47 | ", mZhihuDailyItems=" + mZhihuDailyItems + 48 | ", stories=" + stories + 49 | '}'; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/book/BookDetailModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.book; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.DoubanApi; 9 | import com.zyw.horrarndoo.yizhi.contract.book.BookDeatilContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.book.BookDetailBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/23. 16 | *

17 | */ 18 | 19 | public class BookDetailModel extends BaseModel implements BookDeatilContract.IBookDetailModel { 20 | 21 | @NonNull 22 | public static BookDetailModel newInstance() { 23 | return new BookDetailModel(); 24 | } 25 | 26 | @Override 27 | public Observable getBookDetail(String id) { 28 | return RetrofitCreateHelper.createApi(DoubanApi.class, DoubanApi.HOST).getBookDetail(id) 29 | .compose(RxHelper.rxSchedulerHelper()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/book/BookMainModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.book; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.yizhi.contract.book.BookMainContract; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/21. 10 | *

11 | */ 12 | 13 | public class BookMainModel extends BaseModel implements BookMainContract.IBookMainModel { 14 | 15 | @NonNull 16 | public static BookMainModel newInstance() { 17 | return new BookMainModel(); 18 | } 19 | 20 | @Override 21 | public String[] getTabs() { 22 | return new String[]{"文学", "文化", "生活"}; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/book/tabs/BookCustomModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.book.tabs; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.DoubanApi; 9 | import com.zyw.horrarndoo.yizhi.contract.book.tabs.BookCustomContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.book.BookListBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/21. 16 | *

17 | */ 18 | 19 | public class BookCustomModel extends BaseModel implements BookCustomContract.IBookCustomModel { 20 | @NonNull 21 | public static BookCustomModel newInstance() { 22 | return new BookCustomModel(); 23 | } 24 | 25 | @Override 26 | public Observable getBookListWithTag(String tag, int start, int count) { 27 | return RetrofitCreateHelper.createApi(DoubanApi.class, DoubanApi.HOST).getBookListWithTag 28 | (tag, start, count).compose(RxHelper.rxSchedulerHelper()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/detail/GankIoDetailModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.yizhi.contract.detail.GankIoDetailContract; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/11. 10 | *

11 | */ 12 | 13 | public class GankIoDetailModel extends BaseModel implements GankIoDetailContract 14 | .IGankIoDetailModel { 15 | 16 | @NonNull 17 | public static GankIoDetailModel newInstance() { 18 | return new GankIoDetailModel(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/detail/WangyiDetailModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.WangyiApi; 9 | import com.zyw.horrarndoo.yizhi.contract.detail.WangyiDetailContract; 10 | 11 | import io.reactivex.Observable; 12 | import okhttp3.ResponseBody; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/9/19. 16 | *

17 | */ 18 | 19 | public class WangyiDetailModel extends BaseModel implements WangyiDetailContract 20 | .IWangyiDetailModel { 21 | 22 | @NonNull 23 | public static WangyiDetailModel newInstance() { 24 | return new WangyiDetailModel(); 25 | } 26 | 27 | @Override 28 | public Observable getNewsDetail(String id) { 29 | return RetrofitCreateHelper.createApi(WangyiApi.class, WangyiApi.HOST).getNewsDetail(id) 30 | .compose(RxHelper.rxSchedulerHelper()); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/detail/WebViewLoadModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.yizhi.contract.detail.WebViewLoadConaract; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/20. 10 | *

11 | */ 12 | 13 | public class WebViewLoadModel extends BaseModel implements 14 | WebViewLoadConaract.IWebViewLoadModel { 15 | 16 | @NonNull 17 | public static WebViewLoadModel newInstance() { 18 | return new WebViewLoadModel(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/detail/WeixinDetailModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.yizhi.contract.detail.WeixinDetailContract; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/21. 10 | *

11 | */ 12 | 13 | public class WeixinDetailModel extends BaseModel implements WeixinDetailContract.IWeixinDetailModel { 14 | @NonNull 15 | public static WeixinDetailModel newInstance() { 16 | return new WeixinDetailModel(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/detail/ZhihuDetailModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.ZhihuApi; 9 | import com.zyw.horrarndoo.yizhi.contract.detail.ZhihuDetailContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.zhihu.ZhihuDailyDetailBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/9/13. 16 | *

17 | */ 18 | 19 | public class ZhihuDetailModel extends BaseModel implements ZhihuDetailContract.IZhihuDetailModel { 20 | 21 | @NonNull 22 | public static ZhihuDetailModel newInstance() { 23 | return new ZhihuDetailModel(); 24 | } 25 | 26 | @Override 27 | public Observable getDailyDetail(String id) { 28 | return RetrofitCreateHelper.createApi(ZhihuApi.class, ZhihuApi.HOST).getZhihuDailyDetail 29 | (id).compose(RxHelper.rxSchedulerHelper()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/gankio/GankIoMainModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.gankio; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.gankio.GankIoMainContract; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/10/7. 9 | *

10 | */ 11 | 12 | public class GankIoMainModel implements GankIoMainContract.IGankIoMainModel { 13 | @NonNull 14 | public static GankIoMainModel newInstance() { 15 | return new GankIoMainModel(); 16 | } 17 | 18 | @Override 19 | public String[] getTabs() { 20 | return new String[]{"每日推荐", "干货定制", "福利"}; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/gankio/tabs/GankIoWelfareModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.gankio.tabs; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.GankioApi; 9 | import com.zyw.horrarndoo.yizhi.contract.gankio.tabs.GankIoWelfareContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.gankio.GankIoWelfareListBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/16. 16 | *

17 | */ 18 | 19 | public class GankIoWelfareModel extends BaseModel implements GankIoWelfareContract 20 | .IGankIoWelfareModel { 21 | 22 | @NonNull 23 | public static GankIoWelfareModel newInstance() { 24 | return new GankIoWelfareModel(); 25 | } 26 | 27 | @Override 28 | public Observable recordItemIsRead(String key) { 29 | //不记录 30 | return null; 31 | } 32 | 33 | @Override 34 | public Observable getWelfareList(int pre_page, int page) { 35 | return RetrofitCreateHelper.createApi(GankioApi.class, GankioApi.HOST) 36 | .getGankIoWelfareList(pre_page, page).compose(RxHelper 37 | .rxSchedulerHelper()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/home/HomeMainModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.home; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.yizhi.contract.home.HomeMainContract; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/11. 10 | *

11 | * 主页model 12 | */ 13 | 14 | public class HomeMainModel extends BaseModel implements HomeMainContract.IHomeMainModel { 15 | 16 | @NonNull 17 | public static HomeMainModel newInstance() { 18 | return new HomeMainModel(); 19 | } 20 | 21 | @Override 22 | public String[] getTabs() { 23 | return new String[]{"知乎日报", "热点新闻", "微信精选"}; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/movie/MovieMainModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.movie; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.DoubanApi; 9 | import com.zyw.horrarndoo.yizhi.contract.movie.MovieMainContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.movie.HotMovieBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/16. 16 | *

17 | */ 18 | 19 | public class MovieMainModel extends BaseModel implements MovieMainContract.IMovieMainModel { 20 | 21 | @NonNull 22 | public static MovieMainModel newInstance() { 23 | return new MovieMainModel(); 24 | } 25 | 26 | @Override 27 | public Observable getHotMovieList() { 28 | return RetrofitCreateHelper.createApi(DoubanApi.class, DoubanApi.HOST).getHotMovie() 29 | .compose(RxHelper.rxSchedulerHelper()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/movie/TopMovieModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.movie; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.base.BaseModel; 6 | import com.zyw.horrarndoo.sdk.helper.RetrofitCreateHelper; 7 | import com.zyw.horrarndoo.sdk.helper.RxHelper; 8 | import com.zyw.horrarndoo.yizhi.api.DoubanApi; 9 | import com.zyw.horrarndoo.yizhi.contract.movie.TopMovieContract; 10 | import com.zyw.horrarndoo.yizhi.model.bean.douban.movie.HotMovieBean; 11 | 12 | import io.reactivex.Observable; 13 | 14 | /** 15 | * Created by Horrarndoo on 2017/10/18. 16 | *

17 | */ 18 | 19 | public class TopMovieModel extends BaseModel implements TopMovieContract.ITopMovieModel { 20 | 21 | @NonNull 22 | public static TopMovieModel newInstance() { 23 | return new TopMovieModel(); 24 | } 25 | 26 | @Override 27 | public Observable getTopMovieList(int start, int count) { 28 | return RetrofitCreateHelper.createApi(DoubanApi.class, DoubanApi.HOST).getMovieTop250 29 | (start, count).compose(RxHelper.rxSchedulerHelper()); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/model/personal/PersonalUpperModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.model.personal; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.personal.PersonalContract; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/9/26. 9 | *

10 | */ 11 | 12 | public class PersonalUpperModel implements PersonalContract.IPersonalUpperModel { 13 | 14 | @NonNull 15 | public static PersonalUpperModel newInstance() { 16 | return new PersonalUpperModel(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/book/BookMainPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.book; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.book.BookMainContract; 6 | import com.zyw.horrarndoo.yizhi.model.book.BookMainModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/21. 10 | *

11 | */ 12 | 13 | public class BookMainPresenter extends BookMainContract.BookMainPresenter { 14 | @NonNull 15 | public static BookMainPresenter newInstance() { 16 | return new BookMainPresenter(); 17 | } 18 | 19 | @Override 20 | public void getTabList() { 21 | if (mIView == null || mIModel == null) 22 | return; 23 | 24 | mIView.showTabList(mIModel.getTabs()); 25 | } 26 | 27 | @Override 28 | protected BookMainContract.IBookMainModel getModel() { 29 | return BookMainModel.newInstance(); 30 | } 31 | 32 | @Override 33 | public void onStart() { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/detail/GankIoDetailPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.detail.GankIoDetailContract; 6 | import com.zyw.horrarndoo.yizhi.model.detail.GankIoDetailModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/11. 10 | *

11 | */ 12 | 13 | public class GankIoDetailPresenter extends GankIoDetailContract.GankIoDetailPresenter{ 14 | @NonNull 15 | public static GankIoDetailPresenter newInstance() { 16 | return new GankIoDetailPresenter(); 17 | } 18 | 19 | @Override 20 | public void loadGankIoDetail(String url) { 21 | if (mIView == null) 22 | return; 23 | 24 | try { 25 | mIView.showGankIoDetail(url); 26 | } catch (Exception e) { 27 | mIView.showNetworkError(); 28 | e.printStackTrace(); 29 | } 30 | } 31 | 32 | @Override 33 | protected GankIoDetailContract.IGankIoDetailModel getModel() { 34 | return GankIoDetailModel.newInstance(); 35 | } 36 | 37 | @Override 38 | public void onStart() { 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/detail/WebViewLoadPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.detail.WebViewLoadConaract; 6 | import com.zyw.horrarndoo.yizhi.model.detail.WebViewLoadModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/20. 10 | *

11 | */ 12 | 13 | public class WebViewLoadPresenter extends WebViewLoadConaract.WebViewLoadPresenter { 14 | 15 | @NonNull 16 | public static WebViewLoadPresenter newInstance() { 17 | return new WebViewLoadPresenter(); 18 | } 19 | 20 | @Override 21 | public void loadUrl(String url) { 22 | if (mIView == null) 23 | return; 24 | 25 | try { 26 | mIView.showUrlDetail(url); 27 | } catch (Exception e) { 28 | mIView.showNetworkError(); 29 | e.printStackTrace(); 30 | } 31 | } 32 | 33 | @Override 34 | protected WebViewLoadConaract.IWebViewLoadModel getModel() { 35 | return WebViewLoadModel.newInstance(); 36 | } 37 | 38 | @Override 39 | public void onStart() { 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/detail/WeixinDetailPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.detail; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.detail.WeixinDetailContract; 6 | import com.zyw.horrarndoo.yizhi.model.detail.WeixinDetailModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/21. 10 | *

11 | */ 12 | 13 | public class WeixinDetailPresenter extends WeixinDetailContract.WeixinDetailPresenter{ 14 | @NonNull 15 | public static WeixinDetailPresenter newInstance() { 16 | return new WeixinDetailPresenter(); 17 | } 18 | 19 | @Override 20 | public void loadWeixinChoiceDetail(String url) { 21 | if (mIView == null) 22 | return; 23 | 24 | try { 25 | mIView.showWeixinChoiceDetail(url); 26 | } catch (Exception e) { 27 | mIView.showNetworkError(); 28 | e.printStackTrace(); 29 | } 30 | } 31 | 32 | @Override 33 | protected WeixinDetailContract.IWeixinDetailModel getModel() { 34 | return WeixinDetailModel.newInstance(); 35 | } 36 | 37 | @Override 38 | public void onStart() { 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/gankio/GankIoMainPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.gankio; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.gankio.GankIoMainContract; 6 | import com.zyw.horrarndoo.yizhi.model.gankio.GankIoMainModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/10/7. 10 | *

11 | */ 12 | 13 | public class GankIoMainPresenter extends GankIoMainContract.GankIoMainPresenter{ 14 | 15 | @NonNull 16 | public static GankIoMainPresenter newInstance() { 17 | return new GankIoMainPresenter(); 18 | } 19 | 20 | @Override 21 | public void getTabList() { 22 | if (mIView == null || mIModel == null) 23 | return; 24 | 25 | mIView.showTabList(mIModel.getTabs()); 26 | } 27 | 28 | @Override 29 | protected GankIoMainContract.IGankIoMainModel getModel() { 30 | return GankIoMainModel.newInstance(); 31 | } 32 | 33 | @Override 34 | public void onStart() { 35 | //getTabList(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/presenter/home/HomeMainPresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.presenter.home; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.yizhi.contract.home.HomeMainContract; 6 | import com.zyw.horrarndoo.yizhi.model.home.HomeMainModel; 7 | 8 | /** 9 | * Created by Horrarndoo on 2017/9/11. 10 | *

11 | */ 12 | 13 | public class HomeMainPresenter extends HomeMainContract.HomeMainPresenter { 14 | 15 | @NonNull 16 | public static HomeMainPresenter newInstance() { 17 | return new HomeMainPresenter(); 18 | } 19 | 20 | @Override 21 | public void getTabList() { 22 | if (mIView == null || mIModel == null) 23 | return; 24 | 25 | mIView.showTabList(mIModel.getTabs()); 26 | } 27 | 28 | @Override 29 | protected HomeMainContract.IHomeMainModel getModel() { 30 | return HomeMainModel.newInstance(); 31 | } 32 | 33 | @Override 34 | public void onStart() { 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/fragment/book/BookRootFragment.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.fragment.book; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.view.View; 6 | 7 | import com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment; 8 | import com.zyw.horrarndoo.yizhi.R; 9 | import com.zyw.horrarndoo.yizhi.ui.fragment.book.child.BookFragment; 10 | 11 | /** 12 | * Created by Horrarndoo on 2017/10/21. 13 | *

14 | */ 15 | 16 | public class BookRootFragment extends BaseCompatFragment{ 17 | 18 | public static BookRootFragment newInstance() { 19 | Bundle args = new Bundle(); 20 | BookRootFragment fragment = new BookRootFragment(); 21 | fragment.setArguments(args); 22 | return fragment; 23 | } 24 | @Override 25 | public int getLayoutId() { 26 | return R.layout.fragment_book; 27 | } 28 | 29 | @Override 30 | public void initUI(View view, @Nullable Bundle savedInstanceState) { 31 | if (findChildFragment(BookFragment.class) == null) { 32 | loadRootFragment(R.id.fl_container, BookFragment.newInstance()); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/fragment/gankio/GankIoRootFragment.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.fragment.gankio; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.view.View; 6 | 7 | import com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment; 8 | import com.zyw.horrarndoo.yizhi.R; 9 | import com.zyw.horrarndoo.yizhi.ui.fragment.gankio.child.GankIoFragment; 10 | 11 | /** 12 | * Created by Horrarndoo on 2017/10/8. 13 | *

14 | */ 15 | 16 | public class GankIoRootFragment extends BaseCompatFragment { 17 | 18 | public static GankIoRootFragment newInstance() { 19 | Bundle args = new Bundle(); 20 | GankIoRootFragment fragment = new GankIoRootFragment(); 21 | fragment.setArguments(args); 22 | return fragment; 23 | } 24 | 25 | @Override 26 | public int getLayoutId() { 27 | return R.layout.fragment_gank_io; 28 | } 29 | 30 | @Override 31 | public void initUI(View view, @Nullable Bundle savedInstanceState) { 32 | if (findChildFragment(GankIoFragment.class) == null) { 33 | loadRootFragment(R.id.fl_container, GankIoFragment.newInstance()); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/fragment/home/HomeRootFragment.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.fragment.home; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.view.View; 6 | 7 | import com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment; 8 | import com.zyw.horrarndoo.yizhi.R; 9 | import com.zyw.horrarndoo.yizhi.ui.fragment.home.child.HomeFragment; 10 | 11 | /** 12 | * Created by Horrarndoo on 2017/9/7. 13 | *

14 | */ 15 | 16 | public class HomeRootFragment extends BaseCompatFragment { 17 | 18 | public static HomeRootFragment newInstance() { 19 | Bundle args = new Bundle(); 20 | HomeRootFragment fragment = new HomeRootFragment(); 21 | fragment.setArguments(args); 22 | return fragment; 23 | } 24 | 25 | @Override 26 | public int getLayoutId() { 27 | return R.layout.fragment_home; 28 | } 29 | 30 | @Override 31 | public void initUI(View view, @Nullable Bundle savedInstanceState) { 32 | if (findChildFragment(HomeFragment.class) == null) { 33 | loadRootFragment(R.id.fl_container, HomeFragment.newInstance()); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/fragment/movie/MovieRootFragment.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.fragment.movie; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.view.View; 6 | 7 | import com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment; 8 | import com.zyw.horrarndoo.yizhi.R; 9 | import com.zyw.horrarndoo.yizhi.ui.fragment.movie.child.MovieFragment; 10 | 11 | /** 12 | * Created by Horrarndoo on 2017/9/23. 13 | *

14 | */ 15 | 16 | public class MovieRootFragment extends BaseCompatFragment { 17 | 18 | public static MovieRootFragment newInstance() { 19 | Bundle args = new Bundle(); 20 | MovieRootFragment fragment = new MovieRootFragment(); 21 | fragment.setArguments(args); 22 | return fragment; 23 | } 24 | 25 | @Override 26 | public int getLayoutId() { 27 | return R.layout.fragment_movie; 28 | } 29 | 30 | @Override 31 | public void initUI(View view, @Nullable Bundle savedInstanceState) { 32 | } 33 | 34 | @Override 35 | public void onLazyInitView(@Nullable Bundle savedInstanceState) { 36 | super.onLazyInitView(savedInstanceState); 37 | //Logger.e("onLazyInitView"); 38 | //加载子fragment 39 | if (savedInstanceState == null) { 40 | loadRootFragment(R.id.fl_container, MovieFragment.newInstance()); 41 | } else { // 这里可能会出现该Fragment没被初始化时,就被强杀导致的没有load子Fragment 42 | if (findChildFragment(MovieFragment.class) == null) { 43 | loadRootFragment(R.id.fl_container, MovieFragment.newInstance()); 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/fragment/personal/child/PersonalSettingFragment.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.fragment.personal.child; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v7.widget.Toolbar; 6 | import android.view.View; 7 | 8 | import com.zyw.horrarndoo.sdk.base.fragment.BaseCompatFragment; 9 | import com.zyw.horrarndoo.yizhi.R; 10 | 11 | import butterknife.BindView; 12 | 13 | /** 14 | * Created by Horrarndoo on 2017/9/26. 15 | *

16 | */ 17 | 18 | public class PersonalSettingFragment extends BaseCompatFragment{ 19 | 20 | @BindView(R.id.toolbar) 21 | Toolbar toolbar; 22 | 23 | public static PersonalSettingFragment newInstance() { 24 | Bundle args = new Bundle(); 25 | PersonalSettingFragment fragment = new PersonalSettingFragment(); 26 | fragment.setArguments(args); 27 | return fragment; 28 | } 29 | 30 | @Override 31 | public int getLayoutId() { 32 | return R.layout.fragment_personal_setting; 33 | } 34 | 35 | @Override 36 | public void initUI(View view, @Nullable Bundle savedInstanceState) { 37 | toolbar.setNavigationIcon(R.mipmap.ic_arrow_back_white); 38 | toolbar.setNavigationOnClickListener(new View.OnClickListener() { 39 | @Override 40 | public void onClick(View v) { 41 | onBackPressedSupport(); 42 | } 43 | }); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/zyw/horrarndoo/yizhi/ui/widgets/RvLoadMoreView.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi.ui.widgets; 2 | 3 | import com.chad.library.adapter.base.loadmore.LoadMoreView; 4 | import com.zyw.horrarndoo.yizhi.R; 5 | 6 | /** 7 | * Created by Horrarndoo on 2017/9/12. 8 | *

9 | * 加载更多item view 10 | */ 11 | 12 | public class RvLoadMoreView extends LoadMoreView { 13 | @Override 14 | public int getLayoutId() { 15 | return R.layout.item_load_more; 16 | } 17 | 18 | @Override 19 | protected int getLoadingViewId() { 20 | return R.id.load_more_loading_view; 21 | } 22 | 23 | @Override 24 | protected int getLoadFailViewId() { 25 | return R.id.load_more_load_fail_view; 26 | } 27 | 28 | @Override 29 | protected int getLoadEndViewId() { 30 | return R.id.load_more_load_end_view; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/res/animator/raise.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 22 | 26 | 27 | 28 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/color/selector_bottom_item_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ripple_hot_moive_item_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/shape_corner_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_back_arr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_back_arr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_country_back_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_country_back_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_country_cl_divider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_country_cl_divider.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_country_clear_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_country_clear_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_country_search_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_country_search_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_country_sharesdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_country_sharesdk_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_input_bg_focus.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_input_bg_focus.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dingding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dingding.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_meipai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_meipai.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_telegram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_telegram.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youtube.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_title_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_title_div.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_weibo_common_shadow_top.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_weibo_common_shadow_top.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ssdk_weibo_empty_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/drawable-xhdpi/ssdk_weibo_empty_failed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_frame_deep_gray.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_frame_gray.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/flash_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_about.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_bottom_book.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_bottom_home.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_bottom_movie.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_bottom_personal.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_classify_white.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_download.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_github_grey.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_github_white.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_head_classify.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_head_vertical_line.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_image_load_before.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_item_all.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_item_app.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_item_tuijian.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_item_tuozhan.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_more_right.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_pic_save.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_qr_code.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_share.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_android.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_front.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_ios.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_refesh.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_video.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_vector_title_welfare.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ripple_hot_moive_item_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_gank_custom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_personal_about.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_personal_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/select_top_movie_header.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_corner_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ssdk_oks_classic_platform_cell_back.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ssdk_oks_classic_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/web_progress_bar_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_flash.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | 18 | 26 | 27 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_book.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_book_custom.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_io.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_io_custom.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_io_day.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_gank_io_welfare.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_home.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_home_wangyi.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_home_weixin.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_home_zhihu.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_movie.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_movie_top.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 23 | 24 | 25 | 26 | 33 | 34 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_personal.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 18 | 19 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_personal_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_personal_upper.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_gank_io_custom_image.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 19 | 20 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_gank_io_day_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_gank_io_welfare.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/popup_pic_longclick.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 18 | 19 | 25 | 26 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/sub_net_status.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | 13 | 19 | 20 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/menu/activity_main_drawer.xml: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 | 5 | 9 | 13 | 14 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/menu/bottom_navigation_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 12 | 13 | 17 | 18 | 22 | 23 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/menu/gank_io_custom_bottom_sheet.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | 15 | 19 | 23 | 27 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/menu/toolbar_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/download.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/header_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/header_icon.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/home_arrow_right_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/home_arrow_right_gray.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/img_default_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/img_default_book.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/img_default_meizi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/img_default_meizi.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/img_default_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/img_default_movie.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/img_load_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-hdpi/img_load_before.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/app_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-mdpi/app_qrcode.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android1.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android2.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android3.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android4.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android5.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_android6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_android6.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios1.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios2.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_ios3.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_video.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_video.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/gank_io_day_item_web.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/gank_io_day_item_web.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_drawer_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/ic_drawer_home.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/about_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/about_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/about_head_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/about_head_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/bg_flash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/bg_flash.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_drawer_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/ic_drawer_home.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/load_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/load_bg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/menu_header_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/menu_header_background.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/top_movie_head_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxhdpi/top_movie_head_bg.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/app/src/main/res/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /app/src/main/res/values-en/ssdk_oks_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Share 4 | Sharing operation is working in the background… 5 | Operation failed 6 | Operation succeeded 7 | Operation canceled 8 | Cancel 9 | Photo Sharing 10 | Confirm 11 | Contacts 12 | Pull down to refresh 13 | Release to refresh 14 | Refreshing… 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 一之 3 | 4 | 知乎日报 5 | 热点新闻 6 | 微信精选 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #03a9f4 4 | #03a9f4 5 | 6 | #03a9f4 7 | 8 | #F0F0F0 9 | #48495F 10 | 11 | 12 | #ff333333 13 | 14 | #585858 15 | 16 | 17 | #DDD 18 | 19 | #666 20 | 21 | #999 22 | 23 | #ffffffff 24 | 25 | 26 | #EBEBEB 27 | 28 | 29 | #f2f4f5 30 | 31 | 32 | #DD7D7D7D 33 | 34 | 35 | #FFDDDDDD 36 | 37 | 38 | #d9d9d9 39 | 40 | 41 | #d9d9d9 42 | 43 | -------------------------------------------------------------------------------- /app/src/main/res/values/ssdk_oks_color_drawables.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffffffff 4 | #ffeeeeee 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/ssdk_oks_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 分享 4 | 分享操作正在后台进行… 5 | 分享失败 6 | 分享成功 7 | 分享已取消 8 | 取消 9 | 图文分享 10 | 确定 11 | 联系人 12 | 下拉刷新 13 | 松开刷新 14 | 刷新中… 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | YiZhi 3 | Open navigation drawer 4 | Close navigation drawer 5 | 6 | Zhihu daily 7 | Top news 8 | WeChat 9 | 10 | transition_movie_img 11 | transition_book_img 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/test/java/com/zyw/horrarndoo/yizhi/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.yizhi; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Apr 27 19:26:09 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 7 | -------------------------------------------------------------------------------- /sdk/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /sdk/libs/MobCommons-2017.0914.1125.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/libs/MobCommons-2017.0914.1125.jar -------------------------------------------------------------------------------- /sdk/libs/MobTools-2017.0914.1125.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/libs/MobTools-2017.0914.1125.jar -------------------------------------------------------------------------------- /sdk/libs/nineoldandroids-2.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/libs/nineoldandroids-2.4.0.jar -------------------------------------------------------------------------------- /sdk/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Users\Administrator\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /sdk/src/androidTest/java/com/zyw/horrarndoo/sdk/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.zyw.horrarndoo.sdk.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/RxManager.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk; 2 | 3 | 4 | import io.reactivex.disposables.CompositeDisposable; 5 | import io.reactivex.disposables.Disposable; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/9/12. 9 | *

10 | * 用于管理Rxjava 注册订阅和取消订阅 11 | */ 12 | 13 | public class RxManager { 14 | private CompositeDisposable mCompositeDisposable = new CompositeDisposable();// 管理订阅者者 15 | 16 | public void register(Disposable d) { 17 | mCompositeDisposable.add(d); 18 | } 19 | 20 | public void unSubscribe() { 21 | mCompositeDisposable.dispose();// 取消订阅 22 | } 23 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/adapter/FragmentAdapter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.adapter; 2 | 3 | 4 | import android.support.v4.app.Fragment; 5 | import android.support.v4.app.FragmentManager; 6 | import android.support.v4.app.FragmentStatePagerAdapter; 7 | import android.support.v4.view.PagerAdapter; 8 | import android.view.ViewGroup; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * Created by Horrarndoo on 2017/9/7. 14 | *

15 | */ 16 | public class FragmentAdapter extends FragmentStatePagerAdapter { 17 | private List fragments; 18 | 19 | public FragmentAdapter(FragmentManager fm, List fragments) { 20 | super(fm); 21 | this.fragments = fragments; 22 | } 23 | 24 | @Override 25 | public Fragment getItem(int position) { 26 | return fragments.get(position); 27 | } 28 | 29 | @Override 30 | public int getCount() { 31 | return fragments == null ? 0 : fragments.size(); 32 | } 33 | 34 | public int getItemPosition(Object object) { 35 | return PagerAdapter.POSITION_NONE; 36 | } 37 | 38 | @Override 39 | public void destroyItem(ViewGroup container, int position, Object object) { 40 | // super.destroyItem(container, position, object); 41 | } 42 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/base/BaseModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.base; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/4/25. 5 | * base model类 6 | */ 7 | 8 | public abstract class BaseModel { 9 | public BaseModel() { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/base/BasePresenter.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.base; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import com.zyw.horrarndoo.sdk.RxManager; 6 | 7 | /** 8 | * Created by Horrarndoo on 2017/4/25. 9 | *

10 | * base presenter 11 | */ 12 | 13 | public abstract class BasePresenter { 14 | protected M mIModel; 15 | protected V mIView; 16 | protected RxManager mRxManager = new RxManager(); 17 | 18 | /** 19 | * 返回presenter想持有的Model引用 20 | * 21 | * @return presenter持有的Model引用 22 | */ 23 | protected abstract M getModel(); 24 | 25 | /** 26 | * 绑定IModel和IView的引用 27 | * 28 | * @param v view 29 | */ 30 | public void attachMV(@NonNull V v) { 31 | this.mIModel = getModel(); 32 | this.mIView = v; 33 | this.onStart(); 34 | } 35 | 36 | /** 37 | * 解绑IModel和IView 38 | */ 39 | public void detachMV() { 40 | mRxManager.unSubscribe(); 41 | mIView = null; 42 | mIModel = null; 43 | } 44 | 45 | /** 46 | * IView和IModel绑定完成立即执行 47 | *

48 | * 实现类实现绑定完成后的逻辑,例如数据初始化等,界面初始化, 更新等 49 | */ 50 | public abstract void onStart(); 51 | } 52 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/base/IBaseActivity.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.base; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.NonNull; 5 | 6 | /** 7 | * Created by Horrarndoo on 2017/9/6. 8 | *

9 | * BaseActivity接口 10 | */ 11 | 12 | public interface IBaseActivity extends IBaseView { 13 | /** 14 | * 跳往新的Activity 15 | * 16 | * @param clz 要跳往的Activity 17 | */ 18 | void startNewActivity(@NonNull Class clz); 19 | 20 | /** 21 | * 跳往新的Activity 22 | * 23 | * @param clz 要跳往的Activity 24 | * @param bundle 携带的bundle数据 25 | */ 26 | void startNewActivity(@NonNull Class clz, Bundle bundle); 27 | 28 | /** 29 | * 跳往新的Activity 30 | * @param clz 要跳转的Activity 31 | * @param bundle bundel数据 32 | * @param requestCode requestCode 33 | */ 34 | void startNewActivityForResult(@NonNull Class clz, Bundle bundle, int requestCode); 35 | } 36 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/base/IBaseModel.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.base; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/4/25. 5 | * base model接口 6 | */ 7 | 8 | public interface IBaseModel { 9 | } 10 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/base/IBaseView.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.base; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/5/2. 7 | * fragment base view接口 8 | */ 9 | 10 | public interface IBaseView { 11 | /** 12 | * 初始化presenter 13 | *

14 | * 此方法返回的presenter对象不可为空 15 | */ 16 | @NonNull 17 | BasePresenter initPresenter(); 18 | 19 | /** 20 | * 显示toast消息 21 | * 22 | * @param msg 要显示的toast消息字符串 23 | */ 24 | void showToast(String msg); 25 | 26 | /** 27 | * 显示等待dialog 28 | * 29 | * @param waitMsg 等待消息字符串 30 | */ 31 | void showWaitDialog(String waitMsg); 32 | 33 | /** 34 | * 隐藏等待dialog 35 | */ 36 | void hideWaitDialog(); 37 | 38 | /** 39 | * 隐藏键盘 40 | */ 41 | void hideKeybord(); 42 | 43 | /** 44 | * 回退 45 | */ 46 | void back(); 47 | } 48 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/config/DBConfig.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.config; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/9/13. 5 | *

6 | * 数据库全局常量 7 | */ 8 | 9 | public class DBConfig { 10 | public static final String DB_NAME = "db_name_yizhi"; 11 | public static final String TABLE_ZHIHU = "table_zhihu"; 12 | public static final String TABLE_WANGYI = "table_top_news"; 13 | public static final String TABLE_WEIXIN = "table_weixin"; 14 | public static final String TABLE_GANKIO_DAY = "table_gank_io_day"; 15 | public static final String TABLE_GANKIO_CUSTOM = "table_gank_io_custom"; 16 | } 17 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/config/ItemState.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.config; 2 | 3 | /** 4 | * Created by Horrarndoo on 2017/9/13. 5 | *

6 | * item状态全局常量 7 | */ 8 | 9 | public class ItemState { 10 | /** 11 | * 已读状态 12 | */ 13 | public static final int STATE_IS_READ = 1; 14 | 15 | /** 16 | * 非已读状态 17 | */ 18 | public static final int STATE_IS_NO_READ = 0; 19 | } 20 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/helper/okhttp/HttpCache.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.helper.okhttp; 2 | 3 | import com.zyw.horrarndoo.sdk.utils.AppUtils; 4 | 5 | import java.io.File; 6 | 7 | import okhttp3.Cache; 8 | 9 | /** 10 | * Created by Horrarndoo on 2017/9/12. 11 | *

12 | */ 13 | public class HttpCache { 14 | 15 | private static final int HTTP_RESPONSE_DISK_CACHE_MAX_SIZE = 50 * 1024 * 1024; 16 | 17 | public static Cache getCache() { 18 | return new Cache(new File(AppUtils.getContext().getCacheDir().getAbsolutePath() + File 19 | .separator + "data/NetCache"), 20 | HTTP_RESPONSE_DISK_CACHE_MAX_SIZE); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/rxbus/BusData.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.rxbus; 2 | 3 | /** 4 | * RxBus data 5 | * Created by gorden on 2016/7/8. 6 | */ 7 | public class BusData { 8 | String id; 9 | String status; 10 | 11 | public BusData() { 12 | } 13 | 14 | public BusData(String id, String status) { 15 | this.id = id; 16 | this.status = status; 17 | } 18 | 19 | public String getId() { 20 | return id; 21 | } 22 | 23 | public void setId(String id) { 24 | this.id = id; 25 | } 26 | 27 | public String getStatus() { 28 | return status; 29 | } 30 | 31 | public void setStatus(String status) { 32 | this.status = status; 33 | } 34 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/rxbus/Subscribe.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.rxbus; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | 10 | /** 11 | * Rxbus 12 | * Created by gorden on 2016/7/23. 13 | */ 14 | @Documented 15 | @Target(ElementType.METHOD) 16 | @Retention(RetentionPolicy.RUNTIME) 17 | public @interface Subscribe { 18 | int code() default -1; 19 | 20 | ThreadMode threadMode() default ThreadMode.CURRENT_THREAD; 21 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/rxbus/SubscriberMethod.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.rxbus; 2 | 3 | import java.lang.reflect.InvocationTargetException; 4 | import java.lang.reflect.Method; 5 | 6 | /** 7 | * 8 | * Created by gorden on 2016/7/23. 9 | */ 10 | public class SubscriberMethod { 11 | public Method method; 12 | public ThreadMode threadMode; 13 | public Class eventType; 14 | public Object subscriber; 15 | public int code; 16 | 17 | public SubscriberMethod(Object subscriber, Method method, Class eventType, int code,ThreadMode threadMode) { 18 | this.method = method; 19 | this.threadMode = threadMode; 20 | this.eventType = eventType; 21 | this.subscriber = subscriber; 22 | this.code = code; 23 | } 24 | 25 | 26 | /** 27 | * 调用方法 28 | * @param o 参数 29 | */ 30 | public void invoke(Object o){ 31 | try { 32 | Class[] parameterType = method.getParameterTypes(); 33 | if(parameterType != null && parameterType.length == 1){ 34 | method.invoke(subscriber, o); 35 | }else if(parameterType == null || parameterType.length == 0){ 36 | method.invoke(subscriber); 37 | } 38 | } catch (IllegalAccessException e) { 39 | e.printStackTrace(); 40 | } catch (InvocationTargetException e) { 41 | e.printStackTrace(); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/rxbus/ThreadMode.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.rxbus; 2 | 3 | /** 4 | * 5 | * Created by gorden on 2016/7/23. 6 | */ 7 | public enum ThreadMode { 8 | /** 9 | * current thread 10 | */ 11 | CURRENT_THREAD, 12 | 13 | /** 14 | * android main thread 15 | */ 16 | MAIN, 17 | 18 | 19 | /** 20 | * new thread 21 | */ 22 | NEW_THREAD 23 | } 24 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/utils/IOUtils.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.utils; 2 | 3 | import java.io.Closeable; 4 | import java.io.IOException; 5 | 6 | /** 7 | * Created by Horrarndoo on 2017/8/31. 8 | *

9 | * IO流工具类 10 | */ 11 | public class IOUtils { 12 | /** 13 | * 关闭流 14 | */ 15 | public static boolean close(Closeable io) { 16 | if (io != null) { 17 | try { 18 | io.close(); 19 | } catch (IOException e) { 20 | LogUtils.e(e); 21 | } 22 | } 23 | return true; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/utils/JsonUtils.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.utils; 2 | 3 | import com.google.gson.Gson; 4 | import com.google.gson.JsonObject; 5 | import com.google.gson.JsonSyntaxException; 6 | 7 | import java.lang.reflect.Type; 8 | 9 | /** 10 | * Created by Horrarndoo on 2017/9/20. 11 | *

12 | * Json转换工具类 13 | */ 14 | public class JsonUtils { 15 | 16 | private static Gson mGson = new Gson(); 17 | 18 | /** 19 | * 将对象准换为json字符串 20 | * 21 | * @param object 22 | * @param 23 | * @return 24 | */ 25 | public static String serialize(T object) { 26 | return mGson.toJson(object); 27 | } 28 | 29 | /** 30 | * 将json字符串转换为对象 31 | * 32 | * @param json 33 | * @param clz 34 | * @param 35 | * @return 36 | */ 37 | public static T deserialize(String json, Class clz) throws JsonSyntaxException { 38 | return mGson.fromJson(json, clz); 39 | } 40 | 41 | /** 42 | * 将json对象转换为实体对象 43 | * 44 | * @param json 45 | * @param clz 46 | * @param 47 | * @return 48 | * @throws JsonSyntaxException 49 | */ 50 | public static T deserialize(JsonObject json, Class clz) throws JsonSyntaxException { 51 | return mGson.fromJson(json, clz); 52 | } 53 | 54 | /** 55 | * 将json字符串转换为对象 56 | * 57 | * @param json 58 | * @param type 59 | * @param 60 | * @return 61 | */ 62 | public static T deserialize(String json, Type type) throws JsonSyntaxException { 63 | return mGson.fromJson(json, type); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/utils/MD5Utils.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.utils; 2 | 3 | import java.security.MessageDigest; 4 | 5 | /** 6 | * Created by Horrarndoo on 2017/4/5. 7 | *

8 | * MD5加密工具类 9 | */ 10 | public class MD5Utils { 11 | /* 12 | * MD5加密,32位 13 | */ 14 | public static String getMD5(String str) { 15 | MessageDigest md5 = null; 16 | try { 17 | md5 = MessageDigest.getInstance("MD5"); 18 | } catch (Exception e) { 19 | e.printStackTrace(); 20 | return ""; 21 | } 22 | char[] charArray = str.toCharArray(); 23 | byte[] byteArray = new byte[charArray.length]; 24 | for (int i = 0; i < charArray.length; i++) { 25 | byteArray[i] = (byte) charArray[i]; 26 | } 27 | byte[] md5Bytes = md5.digest(byteArray); 28 | StringBuffer hexValue = new StringBuffer(); 29 | for (int i = 0; i < md5Bytes.length; i++) { 30 | int val = ((int) md5Bytes[i]) & 0xff; 31 | if (val < 16) { 32 | hexValue.append("0"); 33 | } 34 | hexValue.append(Integer.toHexString(val)); 35 | } 36 | return hexValue.toString(); 37 | } 38 | } -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/utils/NavigationUtils.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.utils; 2 | 3 | import android.support.design.internal.NavigationMenuView; 4 | import android.support.design.widget.NavigationView; 5 | 6 | /** 7 | * Created by Horrarndoo on 2017/12/12. 8 | *

9 | * NavigationView utils 10 | */ 11 | 12 | public class NavigationUtils { 13 | 14 | public static void disableNavigationViewScrollbars(NavigationView navigationView) { 15 | if (navigationView != null) { 16 | NavigationMenuView navigationMenuView = (NavigationMenuView) navigationView 17 | .getChildAt(0); 18 | if (navigationMenuView != null) { 19 | navigationMenuView.setVerticalScrollBarEnabled(false); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/utils/RoundUtils.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.utils; 2 | 3 | /** 4 | * Created by Horrarndoo on 2018/1/23. 5 | *

6 | * 四舍五入工具类 7 | */ 8 | 9 | public class RoundUtils { 10 | /** 11 | * 0.5精度四舍五入 12 | *

13 | * 例 14 | * 3.0->3.0 15 | * 3.1->3.0 16 | * 3.5->3.5 17 | * 3.6->4.0 18 | * 19 | * @param a 需要处理的值 a >= 0 20 | * @return 按0.5精度四舍五入处理后的数值 21 | */ 22 | public static float roundCompat(float a) { 23 | float temp = a * 10; 24 | 25 | if (temp % 10 == 5) { 26 | a = Math.round(a) - 0.5f; 27 | } else if (temp % 10 > 5) { 28 | a = Math.round(a); 29 | } else if (temp <= 5) { 30 | a = Math.round(a); 31 | } else { 32 | a = Math.round(a) + 0.5f; 33 | } 34 | return a; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /sdk/src/main/java/com/zyw/horrarndoo/sdk/widgets/WaitPorgressDialog.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk.widgets; 2 | 3 | import android.app.ProgressDialog; 4 | import android.content.Context; 5 | 6 | /** 7 | * Created by Horrarndoo on 2017/4/17. 8 | *

9 | * 等待提示dialog 10 | */ 11 | 12 | public class WaitPorgressDialog extends ProgressDialog { 13 | 14 | public WaitPorgressDialog(Context context) { 15 | this(context, 0); 16 | } 17 | 18 | public WaitPorgressDialog(Context context, int theme) { 19 | super(context, theme); 20 | setCanceledOnTouchOutside(false); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_finish_trans_in.xml: -------------------------------------------------------------------------------- 1 | 3 | 11 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_finish_trans_out.xml: -------------------------------------------------------------------------------- 1 | 4 | 13 | 21 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_finish_zoom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_finish_zoom_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 13 | 14 | 18 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_start_trans_in.xml: -------------------------------------------------------------------------------- 1 | 4 | 12 | 13 | 21 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_start_trans_out.xml: -------------------------------------------------------------------------------- 1 | 3 | 11 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_start_zoom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | -------------------------------------------------------------------------------- /sdk/src/main/res/anim/activity_start_zoom_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | -------------------------------------------------------------------------------- /sdk/src/main/res/drawable-v21/item_touch_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/indoor_temp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/drawable/indoor_temp.png -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/item_touch_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/stackblur_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/drawable/stackblur_default.png -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/week_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/drawable/week_normal.png -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/week_selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/drawable/week_selector.png -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/week_status.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /sdk/src/main/res/drawable/week_tv_status.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /sdk/src/main/res/layout/sub_history_click_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 24 | 25 | -------------------------------------------------------------------------------- /sdk/src/main/res/layout/sub_history_tips.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | 26 | 27 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /sdk/src/main/res/layout/view_empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /sdk/src/main/res/layout/view_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 17 | 18 | 23 | 24 | 31 | 32 | -------------------------------------------------------------------------------- /sdk/src/main/res/layout/view_network_error.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 19 | -------------------------------------------------------------------------------- /sdk/src/main/res/mipmap-xhdpi/ic_arrow_back_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/mipmap-xhdpi/ic_arrow_back_white.png -------------------------------------------------------------------------------- /sdk/src/main/res/mipmap-xxhdpi/ic_arrow_back_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Horrarndoo/YiZhi/6e7189cd17c14c9b3ed1aa567313afef942a57eb/sdk/src/main/res/mipmap-xxhdpi/ic_arrow_back_white.png -------------------------------------------------------------------------------- /sdk/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /sdk/src/test/java/com/zyw/horrarndoo/sdk/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.zyw.horrarndoo.sdk; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':sdk' 2 | --------------------------------------------------------------------------------