gitextract_1feoynfu/ ├── .github/ │ └── workflows/ │ └── android.yml ├── .gitignore ├── README.md ├── agentweb-core/ │ ├── .gitignore │ ├── build.gradle │ ├── providedLibs/ │ │ └── alipaySdk-20180601.jar │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── just/ │ │ └── agentweb/ │ │ ├── AbsAgentWebSettings.java │ │ ├── AbsAgentWebUIController.java │ │ ├── Action.java │ │ ├── ActionActivity.java │ │ ├── AgentWeb.java │ │ ├── AgentWebConfig.java │ │ ├── AgentWebFileProvider.java │ │ ├── AgentWebJsInterfaceCompat.java │ │ ├── AgentWebPermissions.java │ │ ├── AgentWebSettingsImpl.java │ │ ├── AgentWebUIControllerImplBase.java │ │ ├── AgentWebUtils.java │ │ ├── AgentWebView.java │ │ ├── BaseIndicatorSpec.java │ │ ├── BaseIndicatorView.java │ │ ├── BaseJsAccessEntrace.java │ │ ├── DefaultChromeClient.java │ │ ├── DefaultDesignUIController.java │ │ ├── DefaultDownloadImpl.java │ │ ├── DefaultUIController.java │ │ ├── DefaultWebClient.java │ │ ├── DefaultWebCreator.java │ │ ├── DefaultWebLifeCycleImpl.java │ │ ├── EventHandlerImpl.java │ │ ├── EventInterceptor.java │ │ ├── HookManager.java │ │ ├── HttpHeaders.java │ │ ├── IAgentWebSettings.java │ │ ├── IEventHandler.java │ │ ├── IUrlLoader.java │ │ ├── IVideo.java │ │ ├── IWebIndicator.java │ │ ├── IWebLayout.java │ │ ├── IndicatorController.java │ │ ├── IndicatorHandler.java │ │ ├── JsAccessEntrace.java │ │ ├── JsAccessEntraceImpl.java │ │ ├── JsBaseInterfaceHolder.java │ │ ├── JsCallJava.java │ │ ├── JsCallback.java │ │ ├── JsInterfaceHolder.java │ │ ├── JsInterfaceHolderImpl.java │ │ ├── JsInterfaceObjectException.java │ │ ├── LayoutParamsOffer.java │ │ ├── LogUtils.java │ │ ├── LollipopFixedWebView.java │ │ ├── MiddlewareWebChromeBase.java │ │ ├── MiddlewareWebClientBase.java │ │ ├── NestedScrollAgentWebView.java │ │ ├── PermissionInterceptor.java │ │ ├── ProcessUtils.java │ │ ├── Provider.java │ │ ├── QuickCallJs.java │ │ ├── UrlCommonException.java │ │ ├── UrlLoaderImpl.java │ │ ├── VideoImpl.java │ │ ├── WebChromeClient.java │ │ ├── WebChromeClientDelegate.java │ │ ├── WebCreator.java │ │ ├── WebIndicator.java │ │ ├── WebLifeCycle.java │ │ ├── WebListenerManager.java │ │ ├── WebParentLayout.java │ │ ├── WebSecurityCheckLogic.java │ │ ├── WebSecurityController.java │ │ ├── WebSecurityControllerImpl.java │ │ ├── WebSecurityLogicImpl.java │ │ ├── WebViewClient.java │ │ └── WebViewClientDelegate.java │ └── res/ │ ├── layout/ │ │ └── agentweb_error_page.xml │ ├── values/ │ │ ├── colors.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ └── style.xml │ └── values-zh/ │ └── strings.xml ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── libs/ │ │ └── okgo-3.0.4.jar │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── me/ │ │ └── wizos/ │ │ └── loread/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── assets/ │ │ ├── css/ │ │ │ ├── android_studio.css │ │ │ ├── article_theme_day.css │ │ │ ├── article_theme_night.css │ │ │ └── normalize.css │ │ └── js/ │ │ ├── highlight.pack.js │ │ ├── lazyload.js │ │ └── media.js │ ├── java/ │ │ └── me/ │ │ └── wizos/ │ │ └── loread/ │ │ ├── App.java │ │ ├── Contract.java │ │ ├── activity/ │ │ │ ├── ArticleActivity.java │ │ │ ├── BaseActivity.java │ │ │ ├── FeedActivity.java │ │ │ ├── LabActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── MusicActivity.java │ │ │ ├── ProviderActivity.java │ │ │ ├── RuleGenerateActivity.java │ │ │ ├── SearchActivity.java │ │ │ ├── SettingActivity.java │ │ │ ├── SplashActivity.java │ │ │ ├── TTSActivity.java │ │ │ ├── WebActivity.java │ │ │ └── login/ │ │ │ ├── LoginFormState.java │ │ │ ├── LoginInoReaderActivity.java │ │ │ ├── LoginResult.java │ │ │ └── LoginTinyRSSActivity.java │ │ ├── adapter/ │ │ │ ├── ArticlePagedListAdapter.java │ │ │ ├── ArticleViewBinder.java │ │ │ └── ExpandedAdapter.java │ │ ├── bean/ │ │ │ ├── Enclosure.java │ │ │ ├── LogLevel.java │ │ │ ├── Token.java │ │ │ ├── UserAgent.java │ │ │ ├── domain/ │ │ │ │ ├── OutFeed.java │ │ │ │ └── OutTag.java │ │ │ ├── feedly/ │ │ │ │ ├── CategoryItem.java │ │ │ │ ├── Collection.java │ │ │ │ ├── ContentDirection.java │ │ │ │ ├── Counts.java │ │ │ │ ├── Entry.java │ │ │ │ ├── FeedItem.java │ │ │ │ ├── Origin.java │ │ │ │ ├── Profile.java │ │ │ │ ├── StreamContents.java │ │ │ │ ├── StreamIds.java │ │ │ │ ├── Subscription.java │ │ │ │ ├── Unreadcount.java │ │ │ │ ├── Visual.java │ │ │ │ └── input/ │ │ │ │ ├── EditCollection.java │ │ │ │ ├── EditFeed.java │ │ │ │ └── MarkerAction.java │ │ │ ├── fever/ │ │ │ │ ├── BaseResponse.java │ │ │ │ ├── Feed.java │ │ │ │ ├── Feeds.java │ │ │ │ ├── Group.java │ │ │ │ ├── GroupFeeds.java │ │ │ │ ├── Groups.java │ │ │ │ ├── Item.java │ │ │ │ ├── Items.java │ │ │ │ ├── SavedItemIds.java │ │ │ │ └── UnreadItemIds.java │ │ │ ├── inoreader/ │ │ │ │ ├── EditTag.java │ │ │ │ ├── GsItemContents.java │ │ │ │ ├── GsTag.java │ │ │ │ ├── GsTags.java │ │ │ │ ├── GsUnreadCount.java │ │ │ │ ├── ItemIds.java │ │ │ │ ├── ItemRefs.java │ │ │ │ ├── LoginResult.java │ │ │ │ ├── Readability.java │ │ │ │ ├── StreamContents.java │ │ │ │ ├── StreamPref.java │ │ │ │ ├── StreamPrefs.java │ │ │ │ ├── SubCategories.java │ │ │ │ ├── Subscription.java │ │ │ │ ├── Subscriptions.java │ │ │ │ ├── UnreadCounts.java │ │ │ │ ├── UserInfo.java │ │ │ │ └── itemContents/ │ │ │ │ ├── Item.java │ │ │ │ ├── Origin.java │ │ │ │ ├── Self.java │ │ │ │ └── Summary.java │ │ │ ├── loread/ │ │ │ │ ├── LoginParam.java │ │ │ │ ├── RequestJsonBody.java │ │ │ │ └── Response.java │ │ │ ├── proxynode/ │ │ │ │ ├── AnonymityLevel.java │ │ │ │ ├── ProxyNode.java │ │ │ │ └── ProxyType.java │ │ │ ├── search/ │ │ │ │ ├── QuickAdd.java │ │ │ │ ├── SearchFeedItem.java │ │ │ │ ├── SearchFeeds.java │ │ │ │ └── StreamFeed.java │ │ │ └── ttrss/ │ │ │ ├── request/ │ │ │ │ ├── GetArticles.java │ │ │ │ ├── GetCategories.java │ │ │ │ ├── GetFeeds.java │ │ │ │ ├── GetHeadlines.java │ │ │ │ ├── GetSavedItemIds.java │ │ │ │ ├── GetUnreadItemIds.java │ │ │ │ ├── LoginParam.java │ │ │ │ ├── RequestParam.java │ │ │ │ ├── SearchHeadlines.java │ │ │ │ ├── SearchMode.java │ │ │ │ ├── SubscribeToFeed.java │ │ │ │ ├── UnsubscribeFeed.java │ │ │ │ └── UpdateArticle.java │ │ │ └── result/ │ │ │ ├── ArticleItem.java │ │ │ ├── Attachment.java │ │ │ ├── CategoryItem.java │ │ │ ├── FeedItem.java │ │ │ ├── SubscribeToFeedResult.java │ │ │ ├── TTRSSLoginResult.java │ │ │ ├── TinyResponse.java │ │ │ └── UpdateArticleResult.java │ │ ├── behavior/ │ │ │ ├── BottomNavigationBehavior.java │ │ │ └── BottomNavigationViewBehavior.java │ │ ├── bridge/ │ │ │ ├── ArticleBridge.java │ │ │ └── WebBridge.java │ │ ├── config/ │ │ │ ├── AdBlock.java │ │ │ ├── ArticleActionConfig.java │ │ │ ├── ArticleExtractConfig.java │ │ │ ├── ArticleTags.java │ │ │ ├── HostConfig.java │ │ │ ├── LinkRewriteConfig.java │ │ │ ├── NetworkRefererConfig.java │ │ │ ├── NetworkUserAgentConfig.java │ │ │ ├── SaveDirectory.java │ │ │ ├── TestConfig.java │ │ │ ├── Unsubscribe.java │ │ │ ├── article_action_rule/ │ │ │ │ ├── ArticleActionRule.java │ │ │ │ └── Condition.java │ │ │ └── article_extract_rule/ │ │ │ ├── ArticleExtractRule.java │ │ │ └── Selector.java │ │ ├── db/ │ │ │ ├── Article.java │ │ │ ├── ArticleDao.java │ │ │ ├── ArticleTag.java │ │ │ ├── ArticleTagDao.java │ │ │ ├── Category.java │ │ │ ├── CategoryDao.java │ │ │ ├── CategoryView.java │ │ │ ├── Collection.java │ │ │ ├── CoreDB.java │ │ │ ├── CorePref.java │ │ │ ├── Entry.java │ │ │ ├── Feed.java │ │ │ ├── FeedCategory.java │ │ │ ├── FeedCategoryDao.java │ │ │ ├── FeedDao.java │ │ │ ├── FeedView.java │ │ │ ├── Tag.java │ │ │ ├── TagDao.java │ │ │ ├── User.java │ │ │ └── UserDao.java │ │ ├── extractor/ │ │ │ ├── Extractor.java │ │ │ ├── ExtractorUtil.java │ │ │ └── ModPage.java │ │ ├── gson/ │ │ │ ├── GsonEnum.java │ │ │ ├── GsonEnumTypeAdapter.java │ │ │ └── GsonUtil.java │ │ ├── network/ │ │ │ ├── HttpClientManager.java │ │ │ ├── StringConverterFactory.java │ │ │ ├── SyncWorker.java │ │ │ ├── api/ │ │ │ │ ├── AuthApi.java │ │ │ │ ├── BaseApi.java │ │ │ │ ├── FeedlyApi.java │ │ │ │ ├── FeedlyService.java │ │ │ │ ├── FeverApi.java │ │ │ │ ├── FeverService.java │ │ │ │ ├── InoReaderApi.java │ │ │ │ ├── InoReaderService.java │ │ │ │ ├── LoginInterface.java │ │ │ │ ├── LoreadApi.java │ │ │ │ ├── LoreadService.java │ │ │ │ ├── OAuthApi.java │ │ │ │ ├── TinyRSSApi.java │ │ │ │ └── TinyRSSService.java │ │ │ ├── callback/ │ │ │ │ └── CallbackX.java │ │ │ ├── glide/ │ │ │ │ └── OkHttpAppGlideModule.java │ │ │ └── interceptor/ │ │ │ ├── InoreaderHeaderInterceptor.java │ │ │ ├── LoggerInterceptor.java │ │ │ ├── LoreadTokenInterceptor.java │ │ │ ├── RedirectInterceptor.java │ │ │ ├── RefererInterceptor.java │ │ │ ├── RelyInterceptor.java │ │ │ ├── TTRSSTokenInterceptor.java │ │ │ ├── TokenAuthenticator.java │ │ │ └── TokenInterceptor.java │ │ ├── service/ │ │ │ ├── AudioService.java │ │ │ ├── MainService.java │ │ │ ├── MusicService.java │ │ │ └── NetworkStateReceiver.java │ │ ├── utils/ │ │ │ ├── ArticleUtil.java │ │ │ ├── ColorModifier.java │ │ │ ├── DataUtil.java │ │ │ ├── EncryptUtil.java │ │ │ ├── FileUtil.java │ │ │ ├── ImageUtil.java │ │ │ ├── ImgFileType.java │ │ │ ├── NetworkUtil.java │ │ │ ├── RGB.java │ │ │ ├── ScreenUtil.java │ │ │ ├── ScriptUtil.java │ │ │ ├── SnackbarUtil.java │ │ │ ├── StringJoiner.java │ │ │ ├── StringUtils.java │ │ │ ├── SymbolUtil.java │ │ │ ├── TimeUtil.java │ │ │ ├── Tool.java │ │ │ ├── UriUtil.java │ │ │ └── VideoInjectUtil.java │ │ ├── view/ │ │ │ ├── ExpandableListViewS.java │ │ │ ├── FriendlyCardView.java │ │ │ ├── IconFontView.java │ │ │ ├── SwipeRefreshLayoutS.java │ │ │ ├── WebViewS.java │ │ │ ├── colorful/ │ │ │ │ ├── Colorful.java │ │ │ │ ├── StatusBarUtil.java │ │ │ │ ├── StatusBarView.java │ │ │ │ └── setter/ │ │ │ │ ├── TextColorSetter.java │ │ │ │ ├── ViewBackgroundColorSetter.java │ │ │ │ ├── ViewBackgroundDrawableSetter.java │ │ │ │ ├── ViewGroupSetter.java │ │ │ │ └── ViewSetter.java │ │ │ ├── fastscroll/ │ │ │ │ ├── FastScrollDelegate.java │ │ │ │ ├── FastScrollListView.java │ │ │ │ ├── FastScrollRecyclerView.java │ │ │ │ └── ListViewS.java │ │ │ ├── slideback/ │ │ │ │ ├── SlideBack.java │ │ │ │ ├── SlideBackManager.java │ │ │ │ ├── SlideLayout.java │ │ │ │ ├── callback/ │ │ │ │ │ ├── SlideBackCallBack.java │ │ │ │ │ └── SlideCallBack.java │ │ │ │ └── widget/ │ │ │ │ ├── SlideBackIconView.java │ │ │ │ └── SlideBackInterceptLayout.java │ │ │ └── webview/ │ │ │ ├── DownloadListenerS.java │ │ │ ├── FastScrollWebView.java │ │ │ ├── LongClickPopWindow.java │ │ │ ├── NestedScrollWebView.java │ │ │ ├── SlowlyProgressBar.java │ │ │ └── VideoImpl.java │ │ └── viewmodel/ │ │ ├── ArticleViewModel.java │ │ ├── InoReaderUserViewModel.java │ │ └── TinyRSSUserViewModel.java │ └── res/ │ ├── anim/ │ │ ├── fade_in.xml │ │ ├── fade_out.xml │ │ ├── in_from_bottom.xml │ │ └── out_from_bottom.xml │ ├── drawable/ │ │ ├── corners_bg_checked.xml │ │ ├── corners_bg_uncheck.xml │ │ ├── custom_progress_bar_thumb.xml │ │ ├── custom_thumb_src.xml │ │ ├── flyme_style_switch_button_rectangle.xml │ │ ├── flyme_style_switch_button_round.xml │ │ ├── ic_arrow_auto_mark_readed.xml │ │ ├── ic_arrow_right.xml │ │ ├── ic_browser.xml │ │ ├── ic_close.xml │ │ ├── ic_copy_link.xml │ │ ├── ic_eye.xml │ │ ├── ic_favor.xml │ │ ├── ic_favor_fill.xml │ │ ├── ic_mark_down.xml │ │ ├── ic_mark_unread.xml │ │ ├── ic_mark_up.xml │ │ ├── ic_music.xml │ │ ├── ic_panorama.xml │ │ ├── ic_read.xml │ │ ├── ic_refresh.xml │ │ ├── ic_rename.xml │ │ ├── ic_share.xml │ │ ├── ic_state_all.xml │ │ ├── ic_state_star.xml │ │ ├── ic_state_unread.xml │ │ ├── ic_state_unstar.xml │ │ ├── ic_stop_loading.xml │ │ ├── ic_unsubscribe.xml │ │ ├── ic_user_agent.xml │ │ ├── ic_volume.xml │ │ ├── logo_feedly.xml │ │ ├── logo_inoreader.xml │ │ ├── progress_bg.xml │ │ ├── seekbar_audio.xml │ │ ├── selector_corners_bg.xml │ │ ├── selector_star.xml │ │ ├── splash_layers.xml │ │ ├── textview_border_day.xml │ │ └── textview_border_night.xml │ ├── drawable-v23/ │ │ ├── logo_feedly_icon.xml │ │ ├── logo_inoreader_icon.xml │ │ └── logo_ttrss_icon.xml │ ├── layout/ │ │ ├── activity_article.xml │ │ ├── activity_feed.xml │ │ ├── activity_lab.xml │ │ ├── activity_login_inoreader.xml │ │ ├── activity_login_tiny_rss.xml │ │ ├── activity_main.xml │ │ ├── activity_main_list_item.xml │ │ ├── activity_music.xml │ │ ├── activity_provider.xml │ │ ├── activity_provider_low_version.xml │ │ ├── activity_rule_generate.xml │ │ ├── activity_search.xml │ │ ├── activity_search_list_header_result_count.xml │ │ ├── activity_search_list_header_word.xml │ │ ├── activity_search_list_item_feed.xml │ │ ├── activity_setting.xml │ │ ├── activity_tts.xml │ │ ├── activity_web.xml │ │ ├── bottom_sheet_category.xml │ │ ├── config_download_view.xml │ │ ├── main_bottom_sheet_more.xml │ │ ├── main_item_header.xml │ │ ├── md_simplelist_item.xml │ │ ├── setting_item_arrow.xml │ │ ├── setting_item_session.xml │ │ ├── setting_item_switch.xml │ │ ├── tag_expandable_item_child.xml │ │ ├── tag_expandable_item_group.xml │ │ └── webview_long_clicked_popwindow.xml │ ├── menu/ │ │ ├── menu_article.xml │ │ └── menu_web.xml │ ├── values/ │ │ ├── arrays.xml │ │ ├── attr.xml │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-zh-rCN/ │ │ └── strings.xml │ └── xml/ │ ├── account_authenticator.xml │ ├── account_preferences.xml │ ├── account_sync_adapter.xml │ └── network_security_config.xml ├── build.gradle ├── config.json ├── floatwindow/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── yhao/ │ │ └── floatwindow/ │ │ ├── adaptation/ │ │ │ ├── Miui.java │ │ │ └── Rom.java │ │ ├── base/ │ │ │ └── FloatLifecycle.java │ │ ├── constant/ │ │ │ ├── MoveType.java │ │ │ └── Screen.java │ │ ├── interfaces/ │ │ │ ├── FloatView.java │ │ │ ├── IFloatWindow.java │ │ │ ├── LifecycleListener.java │ │ │ ├── PermissionListener.java │ │ │ ├── ResumedListener.java │ │ │ └── ViewStateListener.java │ │ ├── permission/ │ │ │ └── FloatActivity.java │ │ ├── util/ │ │ │ ├── ActivityCounter.java │ │ │ ├── DensityUtil.java │ │ │ ├── LogUtil.java │ │ │ └── PermissionUtil.java │ │ └── view/ │ │ ├── FloatPhone.java │ │ ├── FloatToast.java │ │ ├── FloatWindow.java │ │ └── IFloatWindowImpl.java │ └── res/ │ └── values/ │ └── style.xml ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── luban/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── top/ │ │ └── zibin/ │ │ └── luban/ │ │ └── ApplicationTest.java │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── top/ │ │ └── zibin/ │ │ └── luban/ │ │ ├── Checker.java │ │ ├── CompressionPredicate.java │ │ ├── Engine.java │ │ ├── FileProvider.java │ │ ├── InputStreamProvider.java │ │ ├── Luban.java │ │ ├── OnCompressListener.java │ │ └── OnRenameListener.java │ └── res/ │ └── values/ │ └── strings.xml ├── privacy_and_security.md ├── settings.gradle ├── support/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.txt │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── yanzhenjie/ │ │ └── recyclerview/ │ │ ├── AdapterWrapper.java │ │ ├── Controller.java │ │ ├── ExpandableAdapter.java │ │ ├── Horizontal.java │ │ ├── LeftHorizontal.java │ │ ├── OnItemClickListener.java │ │ ├── OnItemLongClickListener.java │ │ ├── OnItemMenuClickListener.java │ │ ├── OnItemSwipeListener.java │ │ ├── RightHorizontal.java │ │ ├── StickyCreator.java │ │ ├── StickyHeaderLayout.java │ │ ├── StickyViewHolder.java │ │ ├── SwipeDragLayout.java │ │ ├── SwipeMenu.java │ │ ├── SwipeMenuBridge.java │ │ ├── SwipeMenuCreator.java │ │ ├── SwipeMenuItem.java │ │ ├── SwipeMenuLayout.java │ │ ├── SwipeMenuView.java │ │ ├── SwipeRecyclerView.java │ │ ├── listview/ │ │ │ ├── FastScrollDelegate.java │ │ │ └── FastScrollRecyclerView.java │ │ ├── touch/ │ │ │ ├── DefaultItemTouchHelper.java │ │ │ ├── ItemTouchHelperCallback.java │ │ │ ├── OnItemMoveListener.java │ │ │ ├── OnItemMovementListener.java │ │ │ └── OnItemStateChangedListener.java │ │ └── widget/ │ │ ├── BorderItemDecoration.java │ │ ├── ColorDrawer.java │ │ ├── DefaultItemDecoration.java │ │ ├── DefaultLoadMoreView.java │ │ ├── Drawer.java │ │ └── StickyNestedScrollView.java │ └── res/ │ ├── layout/ │ │ ├── support_recycler_view_item.xml │ │ ├── support_recycler_view_item2.xml │ │ └── support_recycler_view_load_more.xml │ ├── values/ │ │ ├── attrs.xml │ │ ├── colors.xml │ │ └── strings.xml │ ├── values-zh/ │ │ └── strings.xml │ ├── values-zh-rHK/ │ │ └── strings.xml │ └── values-zh-rTW/ │ └── strings.xml └── swipelayout/ ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src/ └── main/ ├── AndroidManifest.xml ├── java/ │ └── com/ │ └── ditclear/ │ └── swipelayout/ │ └── SwipeDragLayout.java └── res/ └── values/ ├── attrs.xml └── strings.xml