├── app ├── .gitignore ├── src │ └── main │ │ ├── jniLibs │ │ └── armeabi │ │ │ └── libtbs.so │ │ ├── ic_launcher-web.png │ │ ├── res │ │ ├── drawable-xhdpi │ │ │ ├── github.png │ │ │ ├── error.9.png │ │ │ ├── default_bg.jpg │ │ │ ├── light_img.jpg │ │ │ ├── night_img.jpg │ │ │ ├── start_img.jpg │ │ │ ├── list_selector.png │ │ │ ├── loading_light.png │ │ │ ├── loading_night.png │ │ │ ├── ic_action_dock.png │ │ │ ├── ic_shortcut_search.png │ │ │ ├── parsing_error_bg.9.png │ │ │ ├── player_btn_locking.png │ │ │ ├── ic_loyalty_white_48dp.png │ │ │ ├── ic_shortcut_dashboard.png │ │ │ ├── ic_shortcut_favorite.png │ │ │ ├── baseline_adb_white_48dp.png │ │ │ ├── ic_new_feature_pink_dot.png │ │ │ ├── ic_settings_white_48dp.png │ │ │ ├── player_btn_locking_pre.png │ │ │ ├── baseline_close_white_48dp.png │ │ │ ├── baseline_code_white_48dp.png │ │ │ ├── baseline_down_white_48dp.png │ │ │ ├── baseline_error_white_48dp.png │ │ │ ├── baseline_filter_white_48dp.png │ │ │ ├── baseline_pause_white_48dp.png │ │ │ ├── baseline_replay_white_48dp.png │ │ │ ├── baseline_search_white_48dp.png │ │ │ ├── baseline_star_white_48dp.png │ │ │ ├── baseline_style_white_48dp.png │ │ │ ├── ic_bubble_chart_white_48dp.png │ │ │ ├── baseline_airplay_white_48dp.png │ │ │ ├── baseline_explore_white_48dp.png │ │ │ ├── baseline_favorite_white_48dp.png │ │ │ ├── baseline_language_white_48dp.png │ │ │ ├── ic_ondemand_video_white_48dp.png │ │ │ ├── baseline_arrow_back_white_48dp.png │ │ │ ├── baseline_bug_report_white_48dp.png │ │ │ ├── baseline_clear_all_white_48dp.png │ │ │ ├── baseline_dashboard_white_48dp.png │ │ │ ├── baseline_fast_rewind_white_48dp.png │ │ │ ├── baseline_first_page_white_48dp.png │ │ │ ├── baseline_last_page_white_48dp.png │ │ │ ├── baseline_open_in_new_white_48dp.png │ │ │ ├── baseline_play_arrow_white_48dp.png │ │ │ ├── baseline_star_border_white_48dp.png │ │ │ ├── baseline_visibility_black_48dp.png │ │ │ ├── baseline_all_inclusive_black_48dp.png │ │ │ ├── baseline_all_inclusive_white_48dp.png │ │ │ ├── baseline_fast_forward_white_48dp.png │ │ │ ├── baseline_play_disabled_white_48dp.png │ │ │ ├── ic_keyboard_arrow_down_white_48dp.png │ │ │ ├── baseline_cloud_download_white_48dp.png │ │ │ ├── baseline_favorite_border_white_48dp.png │ │ │ ├── baseline_phonelink_setup_white_48dp.png │ │ │ ├── baseline_view_selections_white_48dp.png │ │ │ ├── baseline_play_circle_filled_white_48dp.png │ │ │ ├── baseline_insert_chart_outlined_black_48dp.png │ │ │ ├── baseline_insert_chart_outlined_white_48dp.png │ │ │ ├── baseline_keyboard_arrow_right_white_48dp.png │ │ │ └── baseline_picture_in_picture_alt_white_48dp.png │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── xml │ │ │ ├── file_path.xml │ │ │ └── shortcuts.xml │ │ ├── values │ │ │ ├── ids.xml │ │ │ ├── attrs.xml │ │ │ └── dimens.xml │ │ ├── layout │ │ │ ├── dialog_update_log.xml │ │ │ ├── base_emnty_view.xml │ │ │ ├── item_tag_item.xml │ │ │ ├── item_desc_details.xml │ │ │ ├── item_desc_drama.xml │ │ │ ├── activity_source.xml │ │ │ ├── content_home.xml │ │ │ ├── base_error_view.xml │ │ │ ├── fragment_week.xml │ │ │ ├── toolbar.xml │ │ │ ├── dialog_proress.xml │ │ │ ├── dialog_tag.xml │ │ │ ├── dialog_domain.xml │ │ │ ├── item_tag_head.xml │ │ │ ├── item_device.xml │ │ │ ├── nav_header_home.xml │ │ │ ├── activity_anime.xml │ │ │ ├── activity_tag.xml │ │ │ ├── item_desc_recommend.xml │ │ │ ├── item_head.xml │ │ │ ├── item_log.xml │ │ │ ├── dialog_drama.xml │ │ │ ├── activity_start.xml │ │ │ ├── activity_default_webview_x5.xml │ │ │ ├── activity_default_webview_normal.xml │ │ │ ├── custom_load_more_view.xml │ │ │ ├── item_favorite.xml │ │ │ ├── dialog_webview.xml │ │ │ └── item_home_week.xml │ │ ├── drawable │ │ │ ├── sniffer_bg.xml │ │ │ ├── change_drama_bg.xml │ │ │ ├── desc_gradient.xml │ │ │ ├── text_view_new.xml │ │ │ ├── week_item_gradient.xml │ │ │ ├── coll_toolbar_image_gradient.xml │ │ │ └── pg.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── anim │ │ │ ├── fade_in.xml │ │ │ ├── fade_out.xml │ │ │ ├── fab_out.xml │ │ │ ├── activity_in.xml │ │ │ ├── fab_in.xml │ │ │ └── activity_out.xml │ │ ├── menu │ │ │ ├── favorite_menu.xml │ │ │ ├── home_menu.xml │ │ │ ├── about_menu.xml │ │ │ ├── desc_menu.xml │ │ │ └── activity_home_drawer.xml │ │ ├── values-v21 │ │ │ └── styles.xml │ │ ├── color │ │ │ ├── mtrl_btn_stroke_color_selector.xml │ │ │ └── mtrl_navigation_item_background_color.xml │ │ └── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ └── java │ │ └── my │ │ └── project │ │ └── silisili │ │ ├── main │ │ ├── base │ │ │ ├── BasePresenter.java │ │ │ ├── BaseLoadDataCallback.java │ │ │ ├── BaseView.java │ │ │ ├── Presenter.java │ │ │ └── LazyFragment.java │ │ ├── home │ │ │ ├── HomeContract.java │ │ │ └── HomePresenter.java │ │ ├── tag │ │ │ ├── TagContract.java │ │ │ └── TagPresenter.java │ │ ├── favorite │ │ │ ├── FavoriteContract.java │ │ │ ├── FavoriteModel.java │ │ │ └── FavoritePresenter.java │ │ ├── video │ │ │ ├── VideoContract.java │ │ │ └── VideoPresenter.java │ │ ├── animelist │ │ │ ├── AnimeListContract.java │ │ │ └── AnimeListPresenter.java │ │ ├── search │ │ │ ├── SearchContract.java │ │ │ └── SearchPresenter.java │ │ ├── desc │ │ │ ├── DescContract.java │ │ │ └── DescPresenter.java │ │ └── webview │ │ │ ├── normal │ │ │ └── NormalWebView.java │ │ │ └── x5 │ │ │ └── X5WebView.java │ │ ├── config │ │ ├── RecommendType.java │ │ └── AnimeType.java │ │ ├── cling │ │ ├── entity │ │ │ ├── IDevice.java │ │ │ ├── IResponse.java │ │ │ ├── IControlPoint.java │ │ │ ├── ClingVolumeResponse.java │ │ │ ├── ClingDevice.java │ │ │ ├── ClingPositionResponse.java │ │ │ ├── ClingControlPoint.java │ │ │ ├── DLANPlayState.java │ │ │ ├── ClingResponse.java │ │ │ ├── BaseClingResponse.java │ │ │ └── ClingDeviceList.java │ │ ├── util │ │ │ ├── ListUtils.java │ │ │ ├── OtherUtils.java │ │ │ └── ClingUtils.java │ │ ├── control │ │ │ ├── callback │ │ │ │ ├── ControlReceiveCallback.java │ │ │ │ └── ControlCallback.java │ │ │ ├── ISubscriptionControl.java │ │ │ ├── IPlayControl.java │ │ │ └── SubscriptionControl.java │ │ ├── service │ │ │ ├── manager │ │ │ │ ├── IClingManager.java │ │ │ │ ├── IDeviceManager.java │ │ │ │ ├── IUpnpServiceManager.java │ │ │ │ ├── IDLNAManager.java │ │ │ │ └── DeviceManager.java │ │ │ ├── ClingUpnpService.java │ │ │ └── callback │ │ │ │ ├── BaseSubscriptionCallback.java │ │ │ │ └── RenderingControlSubscriptionCallback.java │ │ ├── listener │ │ │ └── DeviceListChangedListener.java │ │ ├── adapter │ │ │ └── DevicesAdapter.java │ │ └── Config.java │ │ ├── bean │ │ ├── Refresh.java │ │ ├── Event.java │ │ ├── DownBean.java │ │ ├── AnimeTagBean.java │ │ ├── ApiBean.java │ │ ├── TagHeaderBean.java │ │ ├── RecommendHeaderBean.java │ │ ├── AnimeDescRecommendBean.java │ │ ├── LogBean.java │ │ ├── AnimeHeaderBean.java │ │ ├── AnimeDescDetailsBean.java │ │ ├── AnimeDescBean.java │ │ ├── SourceBean.java │ │ ├── RecommendBean.java │ │ ├── TagBean.java │ │ ├── HomeWekBean.java │ │ ├── WebviewBean.java │ │ ├── SearchBean.java │ │ └── AnimeDescHeaderBean.java │ │ ├── api │ │ └── Api.java │ │ ├── custom │ │ ├── CustomLoadMoreView.java │ │ ├── MyTextView.java │ │ ├── InsideScrollView.java │ │ ├── MySwipeRefreshLayout.java │ │ └── VpSwipeRefreshLayout.java │ │ ├── adapter │ │ ├── LogAdapter.java │ │ ├── SourceAdapter.java │ │ ├── AnimeListAdapter.java │ │ ├── AnimeDescRecommendAdapter.java │ │ ├── FragmentAdapter.java │ │ ├── FavoriteListAdapter.java │ │ ├── AnimeDescDramaAdapter.java │ │ ├── AnimeDescDetailsAdapter.java │ │ ├── TagAdapter.java │ │ └── WeekAdapter.java │ │ ├── services │ │ └── ClearVideoCacheService.java │ │ ├── net │ │ ├── HttpGet.java │ │ └── HttpPost.java │ │ └── util │ │ └── SharedPreferencesUtils.java └── build.gradle ├── settings.gradle ├── Screenshots ├── Screenshot_20200224-101306.jpg ├── Screenshot_20200224-101312.jpg ├── Screenshot_20200224-101410.jpg ├── Screenshot_20200224-101418.jpg ├── Screenshot_20200224-101438.jpg └── Screenshot_20210330-115141_副本.jpg ├── .gitignore ├── README.md ├── gradle.properties └── gradlew.bat /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libtbs.so: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='Silisili' 3 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /Screenshots/Screenshot_20200224-101306.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20200224-101306.jpg -------------------------------------------------------------------------------- /Screenshots/Screenshot_20200224-101312.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20200224-101312.jpg -------------------------------------------------------------------------------- /Screenshots/Screenshot_20200224-101410.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20200224-101410.jpg -------------------------------------------------------------------------------- /Screenshots/Screenshot_20200224-101418.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20200224-101418.jpg -------------------------------------------------------------------------------- /Screenshots/Screenshot_20200224-101438.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20200224-101438.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/github.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/error.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/error.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Screenshots/Screenshot_20210330-115141_副本.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/Screenshots/Screenshot_20210330-115141_副本.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/default_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/default_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/light_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/light_img.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/night_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/night_img.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/start_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/start_img.jpg -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/list_selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/list_selector.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/loading_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/loading_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/loading_night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/loading_night.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_action_dock.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/parsing_error_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/parsing_error_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/player_btn_locking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/player_btn_locking.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_loyalty_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_loyalty_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_shortcut_dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_shortcut_dashboard.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_shortcut_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_shortcut_favorite.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/xml/file_path.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_adb_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_adb_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_new_feature_pink_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_new_feature_pink_dot.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_settings_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/player_btn_locking_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/player_btn_locking_pre.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_close_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_close_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_code_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_code_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_down_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_down_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_error_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_error_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_filter_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_filter_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_pause_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_pause_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_replay_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_replay_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_search_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_search_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_star_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_star_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_style_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_style_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_bubble_chart_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_bubble_chart_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_airplay_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_airplay_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_explore_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_explore_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_favorite_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_favorite_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_language_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_language_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_ondemand_video_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_ondemand_video_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_arrow_back_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_arrow_back_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_bug_report_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_bug_report_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_clear_all_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_clear_all_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_dashboard_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_dashboard_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_fast_rewind_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_fast_rewind_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_first_page_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_first_page_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_last_page_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_last_page_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_open_in_new_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_open_in_new_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_play_arrow_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_play_arrow_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_star_border_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_star_border_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_visibility_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_visibility_black_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_all_inclusive_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_all_inclusive_black_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_all_inclusive_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_all_inclusive_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_fast_forward_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_fast_forward_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_play_disabled_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_play_disabled_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_down_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/ic_keyboard_arrow_down_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/base/BasePresenter.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.base; 2 | 3 | public interface BasePresenter { 4 | void loadData(boolean isMain); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_cloud_download_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_cloud_download_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_favorite_border_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_favorite_border_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_phonelink_setup_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_phonelink_setup_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_view_selections_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_view_selections_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/base/BaseLoadDataCallback.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.base; 2 | 3 | public interface BaseLoadDataCallback { 4 | void error(String msg); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_play_circle_filled_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_play_circle_filled_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_insert_chart_outlined_black_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_insert_chart_outlined_black_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_insert_chart_outlined_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_insert_chart_outlined_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_keyboard_arrow_right_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_keyboard_arrow_right_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/baseline_picture_in_picture_alt_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/670848654/Silisili/HEAD/app/src/main/res/drawable-xhdpi/baseline_picture_in_picture_alt_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/config/RecommendType.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.config; 2 | 3 | public class RecommendType { 4 | public final static int TYPE_LEVEL_0 = 0; 5 | public final static int TYPE_LEVEL_1 = 1; 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/entity/IDevice.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.entity; 2 | 3 | /** 4 | * 说明: 5 | * 作者:zhouzhan 6 | * 日期:17/6/27 17:47 7 | */ 8 | 9 | public interface IDevice { 10 | 11 | T getDevice(); 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_update_log.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/sniffer_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/base/BaseView.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.base; 2 | 3 | public interface BaseView { 4 | //显示加载中视图 5 | void showLoadingView(); 6 | //显示加载失败视图 7 | void showLoadErrorView(String msg); 8 | //空布局 9 | void showEmptyVIew(); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/entity/IResponse.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.entity; 2 | 3 | /** 4 | * 说明:设备控制 返回结果 5 | * 作者:zhouzhan 6 | * 日期:17/7/4 10:50 7 | */ 8 | 9 | public interface IResponse { 10 | 11 | T getResponse(); 12 | 13 | void setResponse(T response); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/base_emnty_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_tag_item.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/config/AnimeType.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.config; 2 | 3 | public class AnimeType { 4 | //tile 5 | public final static int TYPE_LEVEL_0 = 0; 6 | //按钮 7 | public final static int TYPE_LEVEL_1 = 1; 8 | //推荐 9 | public final static int TYPE_LEVEL_2 = 2; 10 | //番剧相关 11 | public final static int TYPE_LEVEL_3 = 3; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/util/ListUtils.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.util; 2 | 3 | import java.util.Collection; 4 | 5 | /** 6 | * 说明: 7 | * 作者:zhouzhan 8 | * 日期:17/6/28 16:54 9 | */ 10 | 11 | public class ListUtils { 12 | 13 | public static boolean isEmpty(Collection list){ 14 | return !(list != null && list.size() != 0); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/res/menu/favorite_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/control/callback/ControlReceiveCallback.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.control.callback; 2 | 3 | import my.project.silisili.cling.entity.IResponse; 4 | 5 | /** 6 | * 说明:手机端接收投屏端信息回调 7 | * 作者:zhouzhan 8 | * 日期:17/7/19 11:13 9 | */ 10 | 11 | public interface ControlReceiveCallback extends ControlCallback{ 12 | 13 | void receive(IResponse response); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/Refresh.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class Refresh { 4 | private int index; // 0 首页 1 刷新收藏 5 | 6 | public Refresh(int index) { 7 | this.index = index; 8 | } 9 | 10 | public int getIndex() { 11 | return index; 12 | } 13 | 14 | public void setIndex(int index) { 15 | this.index = index; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/control/callback/ControlCallback.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.control.callback; 2 | 3 | import my.project.silisili.cling.entity.IResponse; 4 | 5 | /** 6 | * 说明:设备控制操作 回调 7 | * 作者:zhouzhan 8 | * 日期:17/7/4 10:56 9 | */ 10 | 11 | public interface ControlCallback { 12 | 13 | void success(IResponse response); 14 | 15 | void fail(IResponse response); 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/change_drama_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fab_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 8dp 6 | 150dp 7 | 16dp 8 | 8dp 9 | -------------------------------------------------------------------------------- /app/src/main/res/menu/home_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/Event.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class Event { 4 | private int clickIndex; 5 | 6 | public Event() {} 7 | 8 | public Event(int clickIndex) { 9 | this.clickIndex = clickIndex; 10 | } 11 | 12 | public int getClickIndex() { 13 | return clickIndex; 14 | } 15 | 16 | public void setClickIndex(int clickIndex) { 17 | this.clickIndex = clickIndex; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 嘶哩嘶哩 2 | ![](https://img.shields.io/badge/Android-5.0%20or%20above-brightgreen.svg) 3 | [![Latest Release](https://img.shields.io/github/release/670848654/Silisili.svg)](../../releases) 4 | ![](https://img.shields.io/github/downloads/670848654/Silisili/total) 5 | 使用[jsoup](https://github.com/jhy/jsoup)爬取[嘶哩嘶哩](http://www.silisili.in/)部分内容编写的第三方客户端。 6 | 7 | #### 应用截图 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/desc_gradient.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/text_view_new.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/api/Api.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.api; 2 | 3 | import my.project.silisili.application.Silisili; 4 | 5 | public class Api { 6 | //搜索 7 | public static String SEARCH_API = Silisili.DOMAIN + "/e/search/index.php"; 8 | public static String SEARCH_GET_API = Silisili.DOMAIN + "/e/search/result/index.php?searchid=%s&page=%s"; 9 | //检测更新 10 | public final static String CHECK_UPDATE = "https://api.github.com/repos/670848654/Silisili/releases/latest"; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/week_item_gradient.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/entity/IControlPoint.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.entity; 2 | 3 | /** 4 | * 说明:控制点 5 | * 作者:zhouzhan 6 | * 日期:17/6/27 17:47 7 | */ 8 | 9 | public interface IControlPoint { 10 | 11 | /** 12 | * @return 返回控制点 13 | */ 14 | T getControlPoint(); 15 | 16 | /** 17 | * 设置控制点 18 | * @param controlPoint 控制点 19 | */ 20 | void setControlPoint(T controlPoint); 21 | 22 | /** 23 | * 销毁 清空缓存 24 | */ 25 | void destroy(); 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/coll_toolbar_image_gradient.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/service/manager/IClingManager.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.service.manager; 2 | 3 | 4 | import org.fourthline.cling.registry.Registry; 5 | 6 | import my.project.silisili.cling.service.ClingUpnpService; 7 | 8 | /** 9 | * 说明: 10 | * 作者:zhouzhan 11 | * 日期:17/6/28 16:30 12 | */ 13 | 14 | public interface IClingManager extends IDLNAManager { 15 | 16 | void setUpnpService(ClingUpnpService upnpService); 17 | 18 | void setDeviceManager(IDeviceManager deviceManager); 19 | 20 | Registry getRegistry(); 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/listener/DeviceListChangedListener.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.listener; 2 | 3 | import my.project.silisili.cling.entity.IDevice; 4 | 5 | /** 6 | * 说明:设备状态改变监听接口 7 | * 作者:zhouzhan 8 | * 日期:17/6/30 11:09 9 | */ 10 | 11 | public interface DeviceListChangedListener { 12 | 13 | /** 14 | * 某设备被发现之后回调该方法 15 | * @param device 被发现的设备 16 | */ 17 | void onDeviceAdded(IDevice device); 18 | 19 | /** 20 | * 在已发现设备中 移除了某设备之后回调该接口 21 | * @param device 被移除的设备 22 | */ 23 | void onDeviceRemoved(IDevice device); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/anim/fab_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/home/HomeContract.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.home; 2 | 3 | import java.util.LinkedHashMap; 4 | 5 | import my.project.silisili.main.base.BaseLoadDataCallback; 6 | import my.project.silisili.main.base.BaseView; 7 | 8 | public interface HomeContract { 9 | interface Model{ 10 | void getData(LoadDataCallback callback); 11 | } 12 | 13 | interface View extends BaseView { 14 | void showLoadSuccess(LinkedHashMap map); 15 | } 16 | 17 | interface LoadDataCallback extends BaseLoadDataCallback { 18 | void success(LinkedHashMap map); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/DownBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class DownBean { 4 | private String title; 5 | private String url; 6 | 7 | public DownBean(String title, String url) { 8 | this.title = title; 9 | this.url = url; 10 | } 11 | 12 | public String getTitle() { 13 | return title; 14 | } 15 | 16 | public void setTitle(String title) { 17 | this.title = title; 18 | } 19 | 20 | public String getUrl() { 21 | return url; 22 | } 23 | 24 | public void setUrl(String url) { 25 | this.url = url; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/AnimeTagBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class AnimeTagBean { 4 | private String name; 5 | private String year; 6 | 7 | public AnimeTagBean(String name, String year) { 8 | this.name = name; 9 | this.year = year; 10 | } 11 | 12 | public String getName() { 13 | return name; 14 | } 15 | 16 | public void setName(String name) { 17 | this.name = name; 18 | } 19 | 20 | public String getYear() { 21 | return year; 22 | } 23 | 24 | public void setYear(String year) { 25 | this.year = year; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_desc_details.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_desc_drama.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_source.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/anim/activity_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 13 | 17 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/tag/TagContract.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.tag; 2 | 3 | import com.chad.library.adapter.base.entity.MultiItemEntity; 4 | 5 | import java.util.List; 6 | 7 | import my.project.silisili.main.base.BaseLoadDataCallback; 8 | import my.project.silisili.main.base.BaseView; 9 | 10 | public interface TagContract { 11 | interface Model{ 12 | void getData(LoadDataCallback callback); 13 | } 14 | 15 | interface View extends BaseView { 16 | void showSuccessView(List list); 17 | } 18 | 19 | interface LoadDataCallback extends BaseLoadDataCallback { 20 | void success(List list); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/control/ISubscriptionControl.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.control; 2 | 3 | import android.content.Context; 4 | 5 | import my.project.silisili.cling.entity.IDevice; 6 | 7 | 8 | /** 9 | * 说明:tv端回调 10 | * 作者:zhouzhan 11 | * 日期:17/7/21 16:38 12 | */ 13 | 14 | public interface ISubscriptionControl { 15 | 16 | /** 17 | * 监听投屏端 AVTransport 回调 18 | */ 19 | void registerAVTransport(IDevice device, Context context); 20 | 21 | /** 22 | * 监听投屏端 RenderingControl 回调 23 | */ 24 | void registerRenderingControl(IDevice device, Context context); 25 | 26 | /** 27 | * 销毁: 释放资源 28 | */ 29 | void destroy(); 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/res/menu/about_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 10 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/entity/ClingVolumeResponse.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.entity; 2 | 3 | import org.fourthline.cling.model.action.ActionInvocation; 4 | import org.fourthline.cling.model.message.UpnpResponse; 5 | 6 | /** 7 | * 说明: 8 | * 作者:zhouzhan 9 | * 日期:17/7/19 16:22 10 | */ 11 | 12 | public class ClingVolumeResponse extends BaseClingResponse { 13 | 14 | 15 | public ClingVolumeResponse(ActionInvocation actionInvocation, UpnpResponse operation, String defaultMsg) { 16 | super(actionInvocation, operation, defaultMsg); 17 | } 18 | 19 | public ClingVolumeResponse(ActionInvocation actionInvocation, Integer info) { 20 | super(actionInvocation, info); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/custom/CustomLoadMoreView.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.custom; 2 | 3 | import com.chad.library.adapter.base.loadmore.LoadMoreView; 4 | 5 | import my.project.silisili.R; 6 | 7 | public class CustomLoadMoreView extends LoadMoreView { 8 | @Override 9 | public int getLayoutId() { 10 | return R.layout.custom_load_more_view; 11 | } 12 | 13 | @Override 14 | protected int getLoadingViewId() { 15 | return R.id.load_more_loading_view; 16 | } 17 | 18 | @Override 19 | protected int getLoadFailViewId() { 20 | return R.id.load_more_load_fail_view; 21 | } 22 | 23 | @Override 24 | protected int getLoadEndViewId() { return R.id.load_more_load_end_view; } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/favorite/FavoriteContract.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.favorite; 2 | 3 | import java.util.List; 4 | 5 | import my.project.silisili.bean.AnimeDescHeaderBean; 6 | import my.project.silisili.main.base.BaseLoadDataCallback; 7 | import my.project.silisili.main.base.BaseView; 8 | 9 | public interface FavoriteContract { 10 | interface Model{ 11 | void getData(int offset, int limit, LoadDataCallback callback); 12 | } 13 | 14 | interface View extends BaseView { 15 | void showSuccessView(List list); 16 | } 17 | 18 | interface LoadDataCallback extends BaseLoadDataCallback { 19 | void success(List list); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/content_home.xml: -------------------------------------------------------------------------------- 1 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/cling/entity/ClingDevice.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.cling.entity; 2 | 3 | import org.fourthline.cling.model.meta.Device; 4 | 5 | /** 6 | * 说明: 7 | * 作者:zhouzhan 8 | * 日期:17/6/27 17:47 9 | */ 10 | 11 | public class ClingDevice implements IDevice { 12 | 13 | private Device mDevice; 14 | /** 是否已选中 */ 15 | private boolean isSelected; 16 | 17 | public ClingDevice(Device device) { 18 | this.mDevice = device; 19 | } 20 | 21 | @Override 22 | public Device getDevice() { 23 | return mDevice; 24 | } 25 | 26 | public boolean isSelected() { 27 | return isSelected; 28 | } 29 | 30 | public void setSelected(boolean selected) { 31 | isSelected = selected; 32 | } 33 | } -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/video/VideoContract.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.video; 2 | 3 | import my.project.silisili.main.base.BaseLoadDataCallback; 4 | 5 | public interface VideoContract { 6 | interface Model{ 7 | void getData(String title, String url, LoadDataCallback callback); 8 | } 9 | 10 | interface View { 11 | void cancelDialog(); 12 | void getVideoSuccess(String url); 13 | void getIframeUrl(String iframeUrl); 14 | void getVideoEmpty(); 15 | void getVideoError(); 16 | } 17 | 18 | interface LoadDataCallback extends BaseLoadDataCallback { 19 | void success(String url); 20 | void sendIframeUrl(String iframeUrl); 21 | void error(); 22 | void empty(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/adapter/LogAdapter.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.adapter; 2 | 3 | import com.chad.library.adapter.base.BaseQuickAdapter; 4 | import com.chad.library.adapter.base.BaseViewHolder; 5 | 6 | import java.util.List; 7 | 8 | import my.project.silisili.R; 9 | import my.project.silisili.bean.LogBean; 10 | 11 | public class LogAdapter extends BaseQuickAdapter { 12 | public LogAdapter(List list) { 13 | super(R.layout.item_log, list); 14 | } 15 | 16 | @Override 17 | protected void convert(BaseViewHolder helper, LogBean item) { 18 | helper.setText(R.id.title, item.getTitle()); 19 | helper.setText(R.id.dateTime, item.getDateTime()); 20 | helper.setText(R.id.desc, item.getDesc()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/main/favorite/FavoriteModel.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.main.favorite; 2 | 3 | import java.util.List; 4 | 5 | import my.project.silisili.R; 6 | import my.project.silisili.bean.AnimeDescHeaderBean; 7 | import my.project.silisili.database.DatabaseUtil; 8 | import my.project.silisili.util.Utils; 9 | 10 | public class FavoriteModel implements FavoriteContract.Model{ 11 | 12 | @Override 13 | public void getData(int offset, int limit, FavoriteContract.LoadDataCallback callback) { 14 | List list = DatabaseUtil.queryFavoriteByLimit(offset, limit); 15 | if (list.size() > 0) 16 | callback.success(list); 17 | else 18 | callback.error(Utils.getString(R.string.empty_favorite)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/custom/MyTextView.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.custom; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | 6 | import androidx.annotation.Nullable; 7 | import androidx.appcompat.widget.AppCompatTextView; 8 | 9 | public class MyTextView extends AppCompatTextView { 10 | public MyTextView(Context context) { 11 | super(context); 12 | } 13 | 14 | public MyTextView(Context context, @Nullable AttributeSet attrs) { 15 | super(context, attrs); 16 | } 17 | 18 | public MyTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { 19 | super(context, attrs, defStyleAttr); 20 | } 21 | 22 | @Override 23 | public boolean isFocused() { 24 | return true; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/adapter/SourceAdapter.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.adapter; 2 | 3 | import com.chad.library.adapter.base.BaseQuickAdapter; 4 | import com.chad.library.adapter.base.BaseViewHolder; 5 | 6 | import java.util.List; 7 | 8 | import my.project.silisili.R; 9 | import my.project.silisili.bean.SourceBean; 10 | 11 | 12 | public class SourceAdapter extends BaseQuickAdapter { 13 | 14 | public SourceAdapter(List list) { 15 | super(R.layout.item_source, list); 16 | } 17 | 18 | @Override 19 | protected void convert(BaseViewHolder helper, SourceBean item) { 20 | helper.setText(R.id.title,item.getTitle()); 21 | helper.setText(R.id.author,item.getAuthor()); 22 | helper.setText(R.id.desc,item.getDesc()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/base_error_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_week.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/toolbar.xml: -------------------------------------------------------------------------------- 1 | 7 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/ApiBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class ApiBean { 4 | private String id; 5 | private String title; 6 | private String url; 7 | 8 | public ApiBean(){} 9 | 10 | public ApiBean(String id, String title, String url){ 11 | this.id = id; 12 | this.title = title; 13 | this.url = url; 14 | } 15 | 16 | public String getId() { 17 | return id; 18 | } 19 | 20 | public void setId(String id) { 21 | this.id = id; 22 | } 23 | 24 | public String getTitle() { 25 | return title; 26 | } 27 | 28 | public void setTitle(String title) { 29 | this.title = title; 30 | } 31 | 32 | public String getUrl() { 33 | return url; 34 | } 35 | 36 | public void setUrl(String url) { 37 | this.url = url; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/TagHeaderBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | import com.chad.library.adapter.base.entity.AbstractExpandableItem; 4 | import com.chad.library.adapter.base.entity.MultiItemEntity; 5 | 6 | import my.project.silisili.adapter.TagAdapter; 7 | 8 | public class TagHeaderBean extends AbstractExpandableItem implements MultiItemEntity { 9 | private String title; 10 | 11 | public String getTitle() { 12 | return title; 13 | } 14 | 15 | public void setTitle(String title) { 16 | this.title = title; 17 | } 18 | 19 | public TagHeaderBean(String title){ 20 | this.title = title; 21 | } 22 | 23 | @Override 24 | public int getLevel() { 25 | return TagAdapter.TYPE_LEVEL_0; 26 | } 27 | 28 | @Override 29 | public int getItemType() { 30 | return 0; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/pg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/RecommendHeaderBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | import com.chad.library.adapter.base.entity.AbstractExpandableItem; 4 | import com.chad.library.adapter.base.entity.MultiItemEntity; 5 | 6 | import my.project.silisili.config.RecommendType; 7 | 8 | public class RecommendHeaderBean extends AbstractExpandableItem implements MultiItemEntity { 9 | private String title; 10 | 11 | public String getTitle() { 12 | return title; 13 | } 14 | 15 | public void setTitle(String title) { 16 | this.title = title; 17 | } 18 | 19 | public RecommendHeaderBean(String title){ 20 | this.title = title; 21 | } 22 | 23 | @Override 24 | public int getLevel() { 25 | return RecommendType.TYPE_LEVEL_0; 26 | } 27 | 28 | @Override 29 | public int getItemType() { 30 | return RecommendType.TYPE_LEVEL_0; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/AnimeDescRecommendBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | public class AnimeDescRecommendBean { 3 | // 标题 4 | private String title; 5 | // 图片 6 | private String img; 7 | // 链接 8 | private String url; 9 | 10 | public AnimeDescRecommendBean(String title, String img, String url) { 11 | this.title = title; 12 | this.img = img; 13 | this.url = url; 14 | } 15 | 16 | public String getTitle() { 17 | return title; 18 | } 19 | 20 | public void setTitle(String title) { 21 | this.title = title; 22 | } 23 | 24 | public String getImg() { 25 | return img; 26 | } 27 | 28 | public void setImg(String img) { 29 | this.img = img; 30 | } 31 | 32 | public String getUrl() { 33 | return url; 34 | } 35 | 36 | public void setUrl(String url) { 37 | this.url = url; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/my/project/silisili/bean/LogBean.java: -------------------------------------------------------------------------------- 1 | package my.project.silisili.bean; 2 | 3 | public class LogBean { 4 | private String title; 5 | private String dateTime; 6 | private String desc; 7 | 8 | public LogBean(){} 9 | 10 | public LogBean(String title, String dateTime, String desc){ 11 | this.title = title; 12 | this.dateTime = dateTime; 13 | this.desc = desc; 14 | } 15 | 16 | public String getTitle() { 17 | return title; 18 | } 19 | 20 | public void setTitle(String title) { 21 | this.title = title; 22 | } 23 | 24 | public String getDesc() { 25 | return desc; 26 | } 27 | 28 | public void setDesc(String desc) { 29 | this.desc = desc; 30 | } 31 | 32 | public String getDateTime() { 33 | return dateTime; 34 | } 35 | 36 | public void setDateTime(String dateTime) { 37 | this.dateTime = dateTime; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_proress.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 15 | 16 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_tag.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 |