├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── README.md ├── app ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── huanchengfly │ │ └── tieba │ │ └── post │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── ClipboardGuard.js │ │ ├── TiebaStatFont.ttf │ │ ├── anight.js │ │ ├── bebas.ttf │ │ ├── easygo.json │ │ ├── litepal.xml │ │ ├── new_bsk.js │ │ ├── night.js │ │ └── tblite.js │ ├── ic_launcher_new-playstore.png │ ├── ic_launcher_new_invert-playstore.png │ ├── java │ │ └── com │ │ │ └── huanchengfly │ │ │ └── tieba │ │ │ └── post │ │ │ ├── App.kt │ │ │ ├── Consts.kt │ │ │ ├── DataStore.kt │ │ │ ├── Extensions.kt │ │ │ ├── MainActivityV2.kt │ │ │ ├── activities │ │ │ ├── AppFontSizeActivity.kt │ │ │ ├── BaseActivity.kt │ │ │ ├── OKSignActivity.java │ │ │ └── TranslucentThemeActivity.kt │ │ │ ├── adapters │ │ │ ├── ChatBubbleStyleAdapter.kt │ │ │ ├── TranslucentThemeColorAdapter.java │ │ │ ├── WallpaperAdapter.kt │ │ │ └── base │ │ │ │ ├── BaseAdapter.kt │ │ │ │ ├── BaseSingleTypeAdapter.kt │ │ │ │ ├── const.kt │ │ │ │ └── interfaces.kt │ │ │ ├── api │ │ │ ├── Enums.kt │ │ │ ├── Extensions.kt │ │ │ ├── HttpConstant.kt │ │ │ ├── LiteApi.kt │ │ │ ├── ProtobufRequest.kt │ │ │ ├── TiebaApi.kt │ │ │ ├── Utils.kt │ │ │ ├── adapters │ │ │ │ ├── ContentMsgAdapter.java │ │ │ │ ├── ErrorMsgAdapter.java │ │ │ │ ├── ExactMatchAdapter.java │ │ │ │ ├── ForumFuzzyMatchAdapter.kt │ │ │ │ ├── MediaAdapter.java │ │ │ │ ├── MessageListAdapter.kt │ │ │ │ ├── PortraitAdapter.java │ │ │ │ ├── StringToBooleanAdapter.kt │ │ │ │ ├── SubPostListAdapter.java │ │ │ │ ├── UserExactMatchAdapter.java │ │ │ │ ├── UserFuzzyMatchAdapter.java │ │ │ │ ├── UserPostContentAdapter.java │ │ │ │ ├── VideoInfoAdapter.java │ │ │ │ └── ZyqDefineAdapter.java │ │ │ ├── caster │ │ │ │ ├── ForumBeanCaster.java │ │ │ │ └── ICaster.java │ │ │ ├── interfaces │ │ │ │ ├── ITiebaApi.kt │ │ │ │ └── impls │ │ │ │ │ └── MixedTiebaApiImpl.kt │ │ │ ├── models │ │ │ │ ├── AddPostBean.kt │ │ │ │ ├── AddThreadBean.kt │ │ │ │ ├── AgreeBean.kt │ │ │ │ ├── ChangelogBean.kt │ │ │ │ ├── CheckReportBean.kt │ │ │ │ ├── CollectDataBean.kt │ │ │ │ ├── CommonResponse.kt │ │ │ │ ├── FollowBean.kt │ │ │ │ ├── ForumPageBean.kt │ │ │ │ ├── ForumRecommend.kt │ │ │ │ ├── FuckBaiduAPIBean.kt │ │ │ │ ├── GetForumListBean.kt │ │ │ │ ├── InitNickNameBean.kt │ │ │ │ ├── LikeForumResultBean.kt │ │ │ │ ├── LoginBean.kt │ │ │ │ ├── MSignBean.kt │ │ │ │ ├── MessageListBean.kt │ │ │ │ ├── MsgBean.kt │ │ │ │ ├── NewCollectDataBean.kt │ │ │ │ ├── NewUpdateBean.kt │ │ │ │ ├── OAID.kt │ │ │ │ ├── ParamBean.kt │ │ │ │ ├── PersonalizedBean.kt │ │ │ │ ├── PicPageBean.kt │ │ │ │ ├── PicToIdJsonBean.kt │ │ │ │ ├── Profile.kt │ │ │ │ ├── ProfileBean.kt │ │ │ │ ├── ReplyResultBean.kt │ │ │ │ ├── SearchForumBean.kt │ │ │ │ ├── SearchPostBean.kt │ │ │ │ ├── SearchThreadBean.kt │ │ │ │ ├── SearchUserBean.kt │ │ │ │ ├── SignResultBean.kt │ │ │ │ ├── SofireResponse.kt │ │ │ │ ├── SubFloorListBean.kt │ │ │ │ ├── Sync.kt │ │ │ │ ├── ThreadContentBean.kt │ │ │ │ ├── ThreadStoreBean.kt │ │ │ │ ├── TopicDetailBean.kt │ │ │ │ ├── UpdateInfoBean.kt │ │ │ │ ├── UploadPictureResultBean.kt │ │ │ │ ├── UploadResultBean.java │ │ │ │ ├── UserLikeForumBean.kt │ │ │ │ ├── UserPostBean.kt │ │ │ │ ├── WebReplyResultBean.java │ │ │ │ ├── WebUploadPicBean.java │ │ │ │ ├── protos │ │ │ │ │ └── Extensions.kt │ │ │ │ └── web │ │ │ │ │ ├── ForumBean.java │ │ │ │ │ ├── ForumHome.kt │ │ │ │ │ ├── HotMessageListBean.java │ │ │ │ │ ├── HotTopicBean.java │ │ │ │ │ ├── HotTopicForumBean.java │ │ │ │ │ ├── HotTopicMainBean.java │ │ │ │ │ ├── HotTopicThreadBean.java │ │ │ │ │ ├── Profile.kt │ │ │ │ │ ├── WebBase.kt │ │ │ │ │ └── WebBaseBean.java │ │ │ └── retrofit │ │ │ │ ├── ApiResult.kt │ │ │ │ ├── NullOnEmptyConverterFactory.kt │ │ │ │ ├── RetrofitTiebaApi.kt │ │ │ │ ├── adapter │ │ │ │ ├── DeferredCallAdapterFactory.kt │ │ │ │ ├── FlowCallAdapter.kt │ │ │ │ └── FlowCallAdapterFactory.kt │ │ │ │ ├── body │ │ │ │ └── MyMultipartBody.kt │ │ │ │ ├── converter │ │ │ │ ├── gson │ │ │ │ │ ├── GsonConverterFactory.java │ │ │ │ │ ├── GsonRequestBodyConverter.java │ │ │ │ │ └── GsonResponseBodyConverter.java │ │ │ │ └── kotlinx │ │ │ │ │ └── serialization │ │ │ │ │ ├── Factory.kt │ │ │ │ │ └── Serializer.kt │ │ │ │ ├── exception │ │ │ │ ├── ExceptionExt.kt │ │ │ │ ├── NoConnectivityException.kt │ │ │ │ ├── TiebaApiException.kt │ │ │ │ ├── TiebaException.kt │ │ │ │ ├── TiebaLocalException.kt │ │ │ │ └── TiebaNotLoggedInException.kt │ │ │ │ ├── interceptors │ │ │ │ ├── AddWebCookieInterceptor.kt │ │ │ │ ├── CommonHeaderInterceptor.kt │ │ │ │ ├── CommonParamInterceptor.kt │ │ │ │ ├── ConnectivityInterceptor.kt │ │ │ │ ├── CookieInterceptor.kt │ │ │ │ ├── DropInterceptor.kt │ │ │ │ ├── FailureResponseInterceptor.kt │ │ │ │ ├── ForceLoginInterceptor.kt │ │ │ │ ├── ProtoFailureResponseInterceptor.kt │ │ │ │ ├── SortAndSignInterceptor.kt │ │ │ │ └── StParamInterceptor.kt │ │ │ │ └── interfaces │ │ │ │ ├── AppHybridTiebaApi.kt │ │ │ │ ├── LiteApiInterface.kt │ │ │ │ ├── MiniTiebaApi.kt │ │ │ │ ├── NewTiebaApi.kt │ │ │ │ ├── OfficialProtobufTiebaApi.kt │ │ │ │ ├── OfficialTiebaApi.kt │ │ │ │ ├── SofireApi.kt │ │ │ │ └── WebTiebaApi.kt │ │ │ ├── arch │ │ │ ├── BaseComposeActivity.kt │ │ │ ├── BaseViewModel.kt │ │ │ ├── ComposeHolder.kt │ │ │ ├── Extensions.kt │ │ │ ├── GlobalEvent.kt │ │ │ ├── PartialChange.kt │ │ │ ├── UiEvent.kt │ │ │ ├── UiIntent.kt │ │ │ └── UiState.kt │ │ │ ├── components │ │ │ ├── ClipBoardLinkDetector.kt │ │ │ ├── ImageUploader.kt │ │ │ ├── LinkTouchMovementMethod.java │ │ │ ├── MyLinearLayoutManager.java │ │ │ ├── MyViewHolder.kt │ │ │ ├── NavSerializer.kt │ │ │ ├── OAIDGetter.kt │ │ │ ├── SketchImageEngine.kt │ │ │ ├── WindowInitializer.kt │ │ │ ├── dialogs │ │ │ │ ├── BaseFullScreenDialog.java │ │ │ │ ├── CopyTextDialog.java │ │ │ │ ├── CustomThemeDialog.kt │ │ │ │ ├── LoadingDialog.java │ │ │ │ ├── PermissionDialog.java │ │ │ │ └── RequestPermissionTipDialog.kt │ │ │ ├── dividers │ │ │ │ └── HorizontalSpacesDecoration.kt │ │ │ ├── glide │ │ │ │ ├── OkHttpLibraryGlideModule.java │ │ │ │ ├── ProgressInterceptor.java │ │ │ │ ├── ProgressListener.java │ │ │ │ └── ProgressResponseBody.java │ │ │ ├── prefs │ │ │ │ └── TimePickerPreference.java │ │ │ ├── spans │ │ │ │ └── EmoticonSpanV2.java │ │ │ └── transformations │ │ │ │ ├── SketchBlurTransformation.kt │ │ │ │ └── internal │ │ │ │ ├── FastBlur.java │ │ │ │ ├── RSBlur.java │ │ │ │ ├── SupportRSBlur.java │ │ │ │ └── Utils.java │ │ │ ├── fragments │ │ │ ├── BaseBottomSheetDialogFragment.java │ │ │ ├── BaseFragment.kt │ │ │ └── MenuDialogFragment.java │ │ │ ├── interfaces │ │ │ ├── BackHandledInterface.java │ │ │ ├── BackgroundTintable.kt │ │ │ ├── CommonCallback.java │ │ │ ├── InitMenuCallback.java │ │ │ ├── OnDeniedCallback.java │ │ │ ├── OnGrantedCallback.java │ │ │ ├── OnItemClickListener.java │ │ │ ├── OnPhotoErrorListener.java │ │ │ └── Refreshable.java │ │ │ ├── models │ │ │ ├── BaseBean.kt │ │ │ ├── DislikeBean.kt │ │ │ ├── EmoticonCache.kt │ │ │ ├── ErrorBean.java │ │ │ ├── ForumHistoryExtra.kt │ │ │ ├── HistoryForumItem.kt │ │ │ ├── MyInfoBean.java │ │ │ ├── PermissionBean.java │ │ │ ├── PhotoInfoBean.java │ │ │ ├── PhotoViewBean.kt │ │ │ ├── PhotoViewData.kt │ │ │ ├── SignDataBean.kt │ │ │ ├── ThreadHistoryInfoBean.kt │ │ │ └── database │ │ │ │ ├── Account.kt │ │ │ │ ├── Block.kt │ │ │ │ ├── Draft.java │ │ │ │ ├── History.kt │ │ │ │ ├── SearchHistory.kt │ │ │ │ ├── SearchPostHistory.kt │ │ │ │ └── TopForum.java │ │ │ ├── receivers │ │ │ ├── AutoSignAlarm.kt │ │ │ └── BootCompleteSignReceiver.kt │ │ │ ├── repository │ │ │ ├── AddPostRepository.kt │ │ │ ├── FrsPageRepository.kt │ │ │ ├── PbPageRepository.kt │ │ │ └── PersonalizedRepository.kt │ │ │ ├── services │ │ │ ├── NotifyJobService.kt │ │ │ ├── OKSignService.kt │ │ │ └── OKSignTileService.java │ │ │ ├── ui │ │ │ ├── common │ │ │ │ ├── PbContentRender.kt │ │ │ │ ├── anim │ │ │ │ │ ├── Anim.kt │ │ │ │ │ ├── AnimSet.kt │ │ │ │ │ ├── ObjectAnim.kt │ │ │ │ │ └── ValueAnim.kt │ │ │ │ ├── prefs │ │ │ │ │ ├── Divider.kt │ │ │ │ │ ├── GroupHeader.kt │ │ │ │ │ ├── PrefsDsl.kt │ │ │ │ │ ├── PrefsListItem.kt │ │ │ │ │ ├── PrefsScreen.kt │ │ │ │ │ ├── PrefsUtils.kt │ │ │ │ │ └── widgets │ │ │ │ │ │ ├── CheckBoxPref.kt │ │ │ │ │ │ ├── DropDownPref.kt │ │ │ │ │ │ ├── EditTextPref.kt │ │ │ │ │ │ ├── ListPref.kt │ │ │ │ │ │ ├── MultiSelectListPref.kt │ │ │ │ │ │ ├── SliderPref.kt │ │ │ │ │ │ ├── SwitchPref.kt │ │ │ │ │ │ ├── TextPref.kt │ │ │ │ │ │ └── TimePickerPref.kt │ │ │ │ ├── theme │ │ │ │ │ ├── compose │ │ │ │ │ │ ├── Color.kt │ │ │ │ │ │ ├── DynamicTonalPalette.kt │ │ │ │ │ │ ├── Shape.kt │ │ │ │ │ │ ├── Theme.kt │ │ │ │ │ │ ├── ThemeExtensions.kt │ │ │ │ │ │ ├── TonalPalette.kt │ │ │ │ │ │ └── Type.kt │ │ │ │ │ ├── interfaces │ │ │ │ │ │ ├── DrawableInflateDelegate.java │ │ │ │ │ │ ├── ExtraRefreshable.java │ │ │ │ │ │ ├── ThemeSwitcher.java │ │ │ │ │ │ └── Tintable.java │ │ │ │ │ └── utils │ │ │ │ │ │ ├── ColorStateListUtils.java │ │ │ │ │ │ └── ThemeUtils.java │ │ │ │ └── windowsizeclass │ │ │ │ │ ├── AndroidWindowSizeClass.android.kt │ │ │ │ │ └── WindowSizeClass.kt │ │ │ ├── models │ │ │ │ └── ThreadItemData.kt │ │ │ ├── page │ │ │ │ ├── MonetTestPage.kt │ │ │ │ ├── NavigatorProvider.kt │ │ │ │ ├── dialogs │ │ │ │ │ └── CopyDialogPage.kt │ │ │ │ ├── forum │ │ │ │ │ ├── ForumPage.kt │ │ │ │ │ ├── ForumViewModel.kt │ │ │ │ │ ├── detail │ │ │ │ │ │ ├── ForumDetailPage.kt │ │ │ │ │ │ └── ForumDetailViewModel.kt │ │ │ │ │ ├── rule │ │ │ │ │ │ ├── ForumRuleDetailPage.kt │ │ │ │ │ │ └── ForumRuleDetailViewModel.kt │ │ │ │ │ ├── searchpost │ │ │ │ │ │ ├── ForumSearchPostPage.kt │ │ │ │ │ │ └── ForumSearchPostViewModel.kt │ │ │ │ │ └── threadlist │ │ │ │ │ │ ├── ForumThreadListPage.kt │ │ │ │ │ │ └── ForumThreadListViewModel.kt │ │ │ │ ├── history │ │ │ │ │ ├── HistoryPage.kt │ │ │ │ │ └── list │ │ │ │ │ │ ├── HistoryListPage.kt │ │ │ │ │ │ └── HistoryListViewModel.kt │ │ │ │ ├── hottopic │ │ │ │ │ ├── detail │ │ │ │ │ │ ├── TopicDetailPage.kt │ │ │ │ │ │ └── TopicDetailViewModel.kt │ │ │ │ │ └── list │ │ │ │ │ │ ├── HotTopicListPage.kt │ │ │ │ │ │ └── HotTopicListViewModel.kt │ │ │ │ ├── login │ │ │ │ │ └── LoginPage.kt │ │ │ │ ├── main │ │ │ │ │ ├── MainPage.kt │ │ │ │ │ ├── MainViewModel.kt │ │ │ │ │ ├── NavigationComponents.kt │ │ │ │ │ ├── explore │ │ │ │ │ │ ├── ExplorePage.kt │ │ │ │ │ │ ├── concern │ │ │ │ │ │ │ ├── ConcernPage.kt │ │ │ │ │ │ │ └── ConcernViewModel.kt │ │ │ │ │ │ ├── hot │ │ │ │ │ │ │ ├── HotPage.kt │ │ │ │ │ │ │ └── HotViewModel.kt │ │ │ │ │ │ └── personalized │ │ │ │ │ │ │ ├── DislikeBtn.kt │ │ │ │ │ │ │ ├── PersonalizedPage.kt │ │ │ │ │ │ │ └── PersonalizedViewModel.kt │ │ │ │ │ ├── home │ │ │ │ │ │ ├── HomePage.kt │ │ │ │ │ │ └── HomeViewModel.kt │ │ │ │ │ ├── notifications │ │ │ │ │ │ ├── NotificationsPage.kt │ │ │ │ │ │ └── list │ │ │ │ │ │ │ ├── NotificationsListPage.kt │ │ │ │ │ │ │ └── NotificationsListViewModel.kt │ │ │ │ │ └── user │ │ │ │ │ │ ├── UserPage.kt │ │ │ │ │ │ └── UserViewModel.kt │ │ │ │ ├── photoview │ │ │ │ │ ├── PhotoViewActivity.kt │ │ │ │ │ └── PhotoViewViewModel.kt │ │ │ │ ├── reply │ │ │ │ │ ├── ReplyPage.kt │ │ │ │ │ └── ReplyViewModel.kt │ │ │ │ ├── search │ │ │ │ │ ├── SearchPage.kt │ │ │ │ │ ├── SearchViewModel.kt │ │ │ │ │ ├── forum │ │ │ │ │ │ ├── SearchForumPage.kt │ │ │ │ │ │ └── SearchForumViewModel.kt │ │ │ │ │ ├── thread │ │ │ │ │ │ ├── SearchThreadPage.kt │ │ │ │ │ │ └── SearchThreadViewModel.kt │ │ │ │ │ └── user │ │ │ │ │ │ ├── SearchUserPage.kt │ │ │ │ │ │ └── SearchUserViewModel.kt │ │ │ │ ├── settings │ │ │ │ │ ├── SettingsPage.kt │ │ │ │ │ ├── about │ │ │ │ │ │ └── AboutPage.kt │ │ │ │ │ ├── account │ │ │ │ │ │ └── AccountManagePage.kt │ │ │ │ │ ├── block │ │ │ │ │ │ ├── BlockSettingsPage.kt │ │ │ │ │ │ └── blocklist │ │ │ │ │ │ │ ├── BlockListPage.kt │ │ │ │ │ │ │ └── BlockListViewModel.kt │ │ │ │ │ ├── custom │ │ │ │ │ │ └── CustomSettingsPage.kt │ │ │ │ │ ├── habit │ │ │ │ │ │ └── HabitSettingsPage.kt │ │ │ │ │ ├── more │ │ │ │ │ │ └── MoreSettingsPage.kt │ │ │ │ │ ├── oksign │ │ │ │ │ │ └── OKSignSettingsPage.kt │ │ │ │ │ └── theme │ │ │ │ │ │ └── AppThemePage.kt │ │ │ │ ├── subposts │ │ │ │ │ ├── SubPostsPage.kt │ │ │ │ │ └── SubPostsViewModel.kt │ │ │ │ ├── thread │ │ │ │ │ ├── ThreadPage.kt │ │ │ │ │ └── ThreadViewModel.kt │ │ │ │ ├── threadstore │ │ │ │ │ ├── ThreadStorePage.kt │ │ │ │ │ └── ThreadStoreViewModel.kt │ │ │ │ ├── user │ │ │ │ │ ├── UserProfilePage.kt │ │ │ │ │ ├── UserProfileViewModel.kt │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── EditProfileActivity.kt │ │ │ │ │ │ └── EditProfileViewModel.kt │ │ │ │ │ ├── likeforum │ │ │ │ │ │ ├── UserLikeForumPage.kt │ │ │ │ │ │ └── UserLikeForumViewModel.kt │ │ │ │ │ └── post │ │ │ │ │ │ ├── UserPostPage.kt │ │ │ │ │ │ └── UserPostViewModel.kt │ │ │ │ └── webview │ │ │ │ │ └── WebViewPage.kt │ │ │ ├── utils │ │ │ │ ├── ImeInsetsConnection.kt │ │ │ │ ├── PhotoViewUtils.kt │ │ │ │ └── WindowStateUtils.kt │ │ │ └── widgets │ │ │ │ ├── RulerSeekBar.kt │ │ │ │ ├── VoicePlayerView.kt │ │ │ │ ├── compose │ │ │ │ ├── Avatars.kt │ │ │ │ ├── BackHandler.kt │ │ │ │ ├── Block.kt │ │ │ │ ├── BottomNav.kt │ │ │ │ ├── Buttons.kt │ │ │ │ ├── Chip.kt │ │ │ │ ├── Containers.kt │ │ │ │ ├── Dialogs.kt │ │ │ │ ├── Dividers.kt │ │ │ │ ├── Errors.kt │ │ │ │ ├── FeedCard.kt │ │ │ │ ├── FullScreen.kt │ │ │ │ ├── Grid.kt │ │ │ │ ├── Headers.kt │ │ │ │ ├── Images.kt │ │ │ │ ├── LazyLists.kt │ │ │ │ ├── LazyLoad.kt │ │ │ │ ├── Lists.kt │ │ │ │ ├── LoadMore.kt │ │ │ │ ├── Menu.kt │ │ │ │ ├── ModifierClickable.kt │ │ │ │ ├── Placeholder.kt │ │ │ │ ├── PullToRefresh.kt │ │ │ │ ├── Scaffold.kt │ │ │ │ ├── ScrollBox.kt │ │ │ │ ├── Search.kt │ │ │ │ ├── Swipeable.kt │ │ │ │ ├── Switch.kt │ │ │ │ ├── Tabs.kt │ │ │ │ ├── TextFields.kt │ │ │ │ ├── Texts.kt │ │ │ │ ├── Toolbar.kt │ │ │ │ ├── Voices.kt │ │ │ │ ├── WebView.kt │ │ │ │ ├── dialogs │ │ │ │ │ └── AnyPopDialog.kt │ │ │ │ ├── picker │ │ │ │ │ ├── ListPicker.kt │ │ │ │ │ ├── PickerTokens.kt │ │ │ │ │ ├── TimePicker.kt │ │ │ │ │ └── WheelPicker.kt │ │ │ │ ├── states │ │ │ │ │ └── States.kt │ │ │ │ └── video │ │ │ │ │ ├── DefaultVideoPlayerController.kt │ │ │ │ │ ├── MediaContaonButtons.kt │ │ │ │ │ ├── MediaControlGestures.kt │ │ │ │ │ ├── PlaybackState.kt │ │ │ │ │ ├── PlayerSurface.kt │ │ │ │ │ ├── ProgressIndicator.kt │ │ │ │ │ ├── SeekBar.kt │ │ │ │ │ ├── ShadowedIconButton.kt │ │ │ │ │ ├── VideoPlayer.kt │ │ │ │ │ ├── VideoPlayerController.kt │ │ │ │ │ ├── VideoPlayerSource.kt │ │ │ │ │ ├── VideoPlayerState.kt │ │ │ │ │ └── util │ │ │ │ │ ├── FlowDebouncer.kt │ │ │ │ │ ├── StateFlowExt.kt │ │ │ │ │ └── Utils.kt │ │ │ │ ├── edittext │ │ │ │ ├── OperationManager.java │ │ │ │ └── widget │ │ │ │ │ └── UndoableEditText.java │ │ │ │ └── theme │ │ │ │ ├── TintAlertDialogLayout.java │ │ │ │ ├── TintAppBarLayout.java │ │ │ │ ├── TintCheckBox.java │ │ │ │ ├── TintCollapsingToolbarLayout.kt │ │ │ │ ├── TintConstraintLayout.java │ │ │ │ ├── TintDialogTitle.java │ │ │ │ ├── TintImageView.java │ │ │ │ ├── TintLinearLayout.kt │ │ │ │ ├── TintMaterialButton.java │ │ │ │ ├── TintMaterialCardView.java │ │ │ │ ├── TintNavigationView.java │ │ │ │ ├── TintProgressBar.java │ │ │ │ ├── TintRelativeLayout.kt │ │ │ │ ├── TintSeekBar.java │ │ │ │ ├── TintSwipeRefreshLayout.java │ │ │ │ ├── TintTextView.kt │ │ │ │ ├── TintToolbar.java │ │ │ │ ├── TintUndoableEditText.java │ │ │ │ └── TintView.kt │ │ │ └── utils │ │ │ ├── AccountUtil.kt │ │ │ ├── AppIconUtil.kt │ │ │ ├── AppPreferencesUtils.kt │ │ │ ├── AssetUtil.java │ │ │ ├── BilibiliUtil.kt │ │ │ ├── BlockManager.kt │ │ │ ├── CacheUtil.java │ │ │ ├── ClientUtils.kt │ │ │ ├── ClipBoardUtils.kt │ │ │ ├── ColorUtils.java │ │ │ ├── CrashUtil.java │ │ │ ├── CuidUtils.kt │ │ │ ├── DateTimeUtils.kt │ │ │ ├── DeviceUtils.kt │ │ │ ├── DialogUtil.java │ │ │ ├── DispatchUtils.kt │ │ │ ├── DisplayUtil.java │ │ │ ├── EmoticonManager.kt │ │ │ ├── EmoticonUtil.kt │ │ │ ├── FastBlur.java │ │ │ ├── FileUtil.kt │ │ │ ├── GZIPUtils.kt │ │ │ ├── GsonUtil.java │ │ │ ├── HandleBackUtil.java │ │ │ ├── HistoryUtil.kt │ │ │ ├── ImageCacheUtil.kt │ │ │ ├── ImagePicker.kt │ │ │ ├── ImageUtil.kt │ │ │ ├── JobServiceUtil.java │ │ │ ├── KeyEventManager.kt │ │ │ ├── KeyboardUtil.kt │ │ │ ├── MD5Util.java │ │ │ ├── MobileInfoUtil.java │ │ │ ├── NetworkUtil.kt │ │ │ ├── OKSigner.kt │ │ │ ├── PackageUtil.kt │ │ │ ├── PackageUtils.kt │ │ │ ├── PermissionUtils.kt │ │ │ ├── PopupUtil.java │ │ │ ├── QuickPreviewUtil.kt │ │ │ ├── RC442.kt │ │ │ ├── ReceiverUtil.kt │ │ │ ├── SharedPreferencesUtil.java │ │ │ ├── SofireUtils.kt │ │ │ ├── StatusBarUtil.java │ │ │ ├── StringUtil.kt │ │ │ ├── ThemeUtil.kt │ │ │ ├── TiebaLiteJavaScript.java │ │ │ ├── TiebaUtil.kt │ │ │ ├── UIDUtil.kt │ │ │ ├── Util.java │ │ │ ├── compose │ │ │ ├── ColorUtils.kt │ │ │ └── LaunchActivityForResult.kt │ │ │ ├── extension │ │ │ ├── ColorExt.kt │ │ │ ├── FlagExt.kt │ │ │ └── LitePalFlowExt.kt │ │ │ ├── helios │ │ │ ├── Base32.kt │ │ │ ├── ByteArrayUtils.java │ │ │ ├── CRC32Encoder.java │ │ │ ├── EncodeResult.java │ │ │ ├── HashResult.java │ │ │ ├── Hasher.java │ │ │ ├── IEncoder.java │ │ │ ├── XXHash.java │ │ │ └── XXHashEncoder.java │ │ │ └── utils.kt │ ├── protos │ │ ├── Abstract.proto │ │ ├── AccessState.proto │ │ ├── ActBtn.proto │ │ ├── ActHot.proto │ │ ├── ActPost.proto │ │ ├── ActionControl.proto │ │ ├── AdCloseInfo.proto │ │ ├── AdInfo.proto │ │ ├── AddPost │ │ │ ├── AddPostRequest.proto │ │ │ ├── AddPostRequestData.proto │ │ │ ├── AddPostResponse.proto │ │ │ └── AddPostResponseData.proto │ │ ├── AddPostList.proto │ │ ├── Advertisement.proto │ │ ├── Agree.proto │ │ ├── AlaChallengeInfo.proto │ │ ├── AlaCoverLabel.proto │ │ ├── AlaLiveInfo.proto │ │ ├── AlaShareInfo.proto │ │ ├── AlaStageDislikeInfo.proto │ │ ├── AlaUserInfo.proto │ │ ├── AnchorInfo.proto │ │ ├── Anti.proto │ │ ├── ApkDetail.proto │ │ ├── App.proto │ │ ├── AppPosInfo.proto │ │ ├── AppTransmitData.proto │ │ ├── Baijiahao.proto │ │ ├── BaijiahaoInfo.proto │ │ ├── BannerImage.proto │ │ ├── BannerList.proto │ │ ├── BawuRoleDes.proto │ │ ├── BawuRoleInfoPub.proto │ │ ├── BawuTeam.proto │ │ ├── BawuThrones.proto │ │ ├── BazhuSign.proto │ │ ├── BirthdayInfo.proto │ │ ├── BlockPopInfo.proto │ │ ├── BookInfo.proto │ │ ├── BookTag.proto │ │ ├── BubbleInfo.proto │ │ ├── BusinessAccountInfo.proto │ │ ├── CommonRequest.proto │ │ ├── ContriInfo.proto │ │ ├── CustomGrid.proto │ │ ├── DealAuthInfo.proto │ │ ├── DealInfo.proto │ │ ├── DealMedia.proto │ │ ├── DealWindow.proto │ │ ├── DelThreadText.proto │ │ ├── DetailInfo.proto │ │ ├── DislikeInfo.proto │ │ ├── DisplayWindowInfo.proto │ │ ├── DynamicInfo.proto │ │ ├── Error.proto │ │ ├── FeedForumInfo.proto │ │ ├── Feedback.proto │ │ ├── FineBannerPb.proto │ │ ├── ForumDynamic.proto │ │ ├── ForumInfo.proto │ │ ├── ForumMember.proto │ │ ├── ForumMemberInfo.proto │ │ ├── ForumRecommend │ │ │ ├── ForumRecommend.proto │ │ │ └── LikeForum.proto │ │ ├── ForumRule.proto │ │ ├── ForumRuleDetail │ │ │ ├── ForumRuleDetailRequest.proto │ │ │ ├── ForumRuleDetailRequestData.proto │ │ │ ├── ForumRuleDetailResponse.proto │ │ │ └── ForumRuleDetailResponseData.proto │ │ ├── ForumRuleStatus.proto │ │ ├── FrsPage │ │ │ ├── ActivityHead.proto │ │ │ ├── AdParam.proto │ │ │ ├── Classify.proto │ │ │ ├── CoverImageColor.proto │ │ │ ├── Forum.proto │ │ │ ├── ForumInfo.proto │ │ │ ├── FrsPage.proto │ │ │ ├── Group.proto │ │ │ ├── HeadImgs.proto │ │ │ ├── Manager.proto │ │ │ ├── NavTabInfo.proto │ │ │ ├── PostTopic.proto │ │ │ ├── RankInfo.proto │ │ │ ├── SignForum.proto │ │ │ ├── SignInfo.proto │ │ │ ├── SignUser.proto │ │ │ ├── Size.proto │ │ │ └── VideoImageColor.proto │ │ ├── FrsTabInfo.proto │ │ ├── GetBawuInfo │ │ │ ├── GetBawuInfoRequest.proto │ │ │ ├── GetBawuInfoRequestData.proto │ │ │ ├── GetBawuInfoResponse.proto │ │ │ ├── GetBawuInfoResponseData.proto │ │ │ └── ManagerApplyInfo.proto │ │ ├── GetForumDetail │ │ │ ├── ApplyStatus.proto │ │ │ ├── BawuAction.proto │ │ │ ├── BazhuGrade.proto │ │ │ ├── BazhuUniversity.proto │ │ │ ├── BzApplySwitch.proto │ │ │ ├── ForumDataCenter.proto │ │ │ ├── GetForumDetailRequest.proto │ │ │ ├── GetForumDetailRequestData.proto │ │ │ ├── GetForumDetailResponse.proto │ │ │ ├── GetForumDetailResponseData.proto │ │ │ ├── ManagerElectionTab.proto │ │ │ ├── UniversityInfo.proto │ │ │ └── UniversityTabInfo.proto │ │ ├── GetHistoryForum │ │ │ ├── GetHistoryForumRequest.proto │ │ │ ├── GetHistoryForumRequestData.proto │ │ │ ├── GetHistoryForumResponse.proto │ │ │ └── GetHistoryForumResponseData.proto │ │ ├── GetLevelInfo │ │ │ ├── GetLevelInfoRequest.proto │ │ │ ├── GetLevelInfoRequestData.proto │ │ │ ├── GetLevelInfoResponse.proto │ │ │ └── GetLevelInfoResponseData.proto │ │ ├── GetMemberInfo │ │ │ ├── GetMemberInfoRequest.proto │ │ │ ├── GetMemberInfoRequestData.proto │ │ │ ├── GetMemberInfoResponse.proto │ │ │ ├── GetMemberInfoResponseData.proto │ │ │ ├── ManagerApplyInfo.proto │ │ │ └── MemberGodInfo.proto │ │ ├── GetUserInfo │ │ │ ├── GetUserInfoRequest.proto │ │ │ ├── GetUserInfoRequestData.proto │ │ │ ├── GetUserInfoResponse.proto │ │ │ └── GetUserInfoResponseData.proto │ │ ├── GodInfo.proto │ │ ├── GoodsInfo.proto │ │ ├── GoodsWin.proto │ │ ├── GradePoint.proto │ │ ├── GraffitiRankItem.proto │ │ ├── GraffitiRankListInfo.proto │ │ ├── GuessLikeThreadInfo.proto │ │ ├── HeadItem.proto │ │ ├── High.proto │ │ ├── Highlist.proto │ │ ├── HistoryForumInfo.proto │ │ ├── HotPost.proto │ │ ├── HotTWThreadInfo.proto │ │ ├── HotThreadList │ │ │ └── HotThreadList.proto │ │ ├── HotUserRankEntry.proto │ │ ├── Icon.proto │ │ ├── IconStampInfo.proto │ │ ├── Item.proto │ │ ├── LabelInfo.proto │ │ ├── Lbs.proto │ │ ├── LbsInfo.proto │ │ ├── LevelInfo.proto │ │ ├── LikeForumInfo.proto │ │ ├── LinkInfo.proto │ │ ├── LiveCoverStatus.proto │ │ ├── ManagerApplyInfo.proto │ │ ├── ManagerElection.proto │ │ ├── Media.proto │ │ ├── MemberGroupInfo.proto │ │ ├── MemeInfo.proto │ │ ├── ModuleInfo.proto │ │ ├── MultipleForum.proto │ │ ├── NaGuide.proto │ │ ├── NamoaixudEntry.proto │ │ ├── NewGodInfo.proto │ │ ├── NoticeInfo.proto │ │ ├── NovelInfo.proto │ │ ├── OriginThreadInfo.proto │ │ ├── Page.proto │ │ ├── PbContent.proto │ │ ├── PbFloor │ │ │ ├── PbFloorRequest.proto │ │ │ ├── PbFloorRequestData.proto │ │ │ ├── PbFloorResponse.proto │ │ │ └── PbFloorResponseData.proto │ │ ├── PbHotPost.proto │ │ ├── PbLinkInfo.proto │ │ ├── PbPage │ │ │ ├── AdParam.proto │ │ │ ├── AddPost.proto │ │ │ ├── AppealInfo.proto │ │ │ ├── BusinessPromotInfo.proto │ │ │ ├── FeedExtInfo.proto │ │ │ ├── FloatingIcon.proto │ │ │ ├── FloatingIconItem.proto │ │ │ ├── ForumHeadlineImgInfo.proto │ │ │ ├── GodCard.proto │ │ │ ├── GuessLikeStruct.proto │ │ │ ├── NewsInfo.proto │ │ │ ├── PbFollowTip.proto │ │ │ ├── PbPageRequest.proto │ │ │ ├── PbPageRequestData.proto │ │ │ ├── PbPageResponse.proto │ │ │ ├── PbPageResponseData.proto │ │ │ ├── PbSortType.proto │ │ │ ├── PostBanner.proto │ │ │ └── RecommendBook.proto │ │ ├── PbPostZan.proto │ │ ├── PbPresent.proto │ │ ├── PbPresentList.proto │ │ ├── PbTopAgreePost.proto │ │ ├── Personalized.proto │ │ ├── PollInfo.proto │ │ ├── PollOption.proto │ │ ├── Position.proto │ │ ├── Post.proto │ │ ├── PostAntiInfo.proto │ │ ├── PostInfoContent.proto │ │ ├── PostInfoList.proto │ │ ├── PostPrefix.proto │ │ ├── PriManagerApplyInfo.proto │ │ ├── PrivSets.proto │ │ ├── PrivateForumInfo.proto │ │ ├── Profile │ │ │ ├── CommonDistance.proto │ │ │ ├── CommonLocation.proto │ │ │ ├── Duxiaoman.proto │ │ │ ├── FinanceTab.proto │ │ │ ├── FinanceTabItems.proto │ │ │ ├── ForumGodDetailInfo.proto │ │ │ ├── GodDetailInfo.proto │ │ │ ├── MemberBlockInfo.proto │ │ │ ├── Namoaixud.proto │ │ │ ├── NicknameInfo.proto │ │ │ ├── ProfileRequest.proto │ │ │ ├── ProfileRequestData.proto │ │ │ ├── ProfileResponse.proto │ │ │ ├── ProfileResponseData.proto │ │ │ ├── ReplyList.proto │ │ │ ├── TAInfo.proto │ │ │ ├── UserAgreeInfo.proto │ │ │ ├── UserGodInfo.proto │ │ │ └── VipBanner.proto │ │ ├── Promotion.proto │ │ ├── ProtoCommonResponse.proto │ │ ├── PsRankListItem.proto │ │ ├── Quote.proto │ │ ├── RankingParam.proto │ │ ├── RecGuide.proto │ │ ├── RecomTagInfo.proto │ │ ├── RecomThreadList.proto │ │ ├── RecomTopicInfo.proto │ │ ├── RecomTopicList.proto │ │ ├── RecommendForumInfo.proto │ │ ├── RecommendThread.proto │ │ ├── RecommendTopicList.proto │ │ ├── ReplyExp.proto │ │ ├── SdkTopicThread.proto │ │ ├── SearchSug │ │ │ ├── SearchSugRequest.proto │ │ │ ├── SearchSugRequestData.proto │ │ │ ├── SearchSugResponse.proto │ │ │ └── SearchSugResponseData.proto │ │ ├── SendCardInfo.proto │ │ ├── ServiceArea.proto │ │ ├── ShareInfo.proto │ │ ├── ShortUserInfo.proto │ │ ├── SignatureContent.proto │ │ ├── SignatureData.proto │ │ ├── SimpleForum.proto │ │ ├── SimpleThreadInfo.proto │ │ ├── SimpleUser.proto │ │ ├── SkinInfo.proto │ │ ├── SmartApp.proto │ │ ├── SubPost.proto │ │ ├── SubPostList.proto │ │ ├── SugLiveInfo.proto │ │ ├── SugRankingInfo.proto │ │ ├── TPointPost.proto │ │ ├── TailInfo.proto │ │ ├── TbBookrack.proto │ │ ├── TbInteraction.proto │ │ ├── Terminal.proto │ │ ├── ThemeColorInfo.proto │ │ ├── ThemeElement.proto │ │ ├── ThreadEasterEgg.proto │ │ ├── ThreadInfo.proto │ │ ├── ThreadList │ │ │ ├── AdParam.proto │ │ │ └── ThreadList.proto │ │ ├── ThreadModule.proto │ │ ├── ThreadPicList.proto │ │ ├── TiebaPlusAd.proto │ │ ├── Timgs.proto │ │ ├── Toast.proto │ │ ├── ToastConfig.proto │ │ ├── ToastContent.proto │ │ ├── TogetherHi.proto │ │ ├── TopicList │ │ │ └── TopicList.proto │ │ ├── TwZhiBoAnti.proto │ │ ├── UcCard.proto │ │ ├── UcCardInfo.proto │ │ ├── User.proto │ │ ├── UserDynamic.proto │ │ ├── UserLike │ │ │ └── UserLike.proto │ │ ├── UserManChannelInfo.proto │ │ ├── UserMap.proto │ │ ├── UserPics.proto │ │ ├── UserPost │ │ │ ├── UserPostRequest.proto │ │ │ ├── UserPostRequestData.proto │ │ │ ├── UserPostResponse.proto │ │ │ └── UserPostResponseData.proto │ │ ├── UserPostPerm.proto │ │ ├── UserSessionInfo.proto │ │ ├── VcodeExtra.proto │ │ ├── VcodeInfo.proto │ │ ├── VideoInfo.proto │ │ ├── Voice.proto │ │ ├── VoiceRoom.proto │ │ ├── YyExt.proto │ │ ├── Zan.proto │ │ └── ZhiBoInfoTW.proto │ └── res │ │ ├── anim │ │ ├── anim_fade_in.xml │ │ ├── anim_fade_out.xml │ │ ├── in_bottom.xml │ │ └── out_bottom.xml │ │ ├── animator │ │ └── appbar_elevation.xml │ │ ├── color │ │ └── tint_checkbox.xml │ │ ├── drawable-v23 │ │ └── splash.xml │ │ ├── drawable │ │ ├── bg_audio.xml │ │ ├── bg_popup.xml │ │ ├── bg_popup_amoled_dark.xml │ │ ├── bg_popup_dark.xml │ │ ├── bg_popup_dark_blue.xml │ │ ├── bg_popup_dark_grey.xml │ │ ├── bg_radius_10dp.xml │ │ ├── bg_radius_10dp_ripple.xml │ │ ├── bg_radius_16dp.xml │ │ ├── bg_radius_50dp.xml │ │ ├── bg_round.xml │ │ ├── bg_seekbar_round.xml │ │ ├── bg_top_radius_10dp.xml │ │ ├── drawable_progress_font_size.xml │ │ ├── drawable_thumb_font_size.xml │ │ ├── fg_ripple_radius_50dp.xml │ │ ├── ic_animated_rounded_inventory_2.xml │ │ ├── ic_animated_rounded_notifications.xml │ │ ├── ic_animated_rounded_person.xml │ │ ├── ic_animated_toy_fans.xml │ │ ├── ic_beaker.xml │ │ ├── ic_brush_24.xml │ │ ├── ic_brush_black_24dp.xml │ │ ├── ic_chrome.xml │ │ ├── ic_comment_new.xml │ │ ├── ic_dashboard_customize_black_24.xml │ │ ├── ic_favorite.xml │ │ ├── ic_help_outline_black_24.xml │ │ ├── ic_info_black_24.xml │ │ ├── ic_launcher_new_foreground.xml │ │ ├── ic_launcher_new_invert_foreground.xml │ │ ├── ic_launcher_new_invert_round.webp │ │ ├── ic_launcher_new_monochrome.xml │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed_foreground.xml │ │ ├── ic_launcher_round.png │ │ ├── ic_link.xml │ │ ├── ic_more_horiz_black_24.xml │ │ ├── ic_oksign.xml │ │ ├── ic_outline_collapse_all.xml │ │ ├── ic_outline_watch_later_24.xml │ │ ├── ic_outlined_close_circle_24.xml │ │ ├── ic_quick_yellow.xml │ │ ├── ic_rocket_launch_black_24.xml │ │ ├── ic_round_arrow_back.xml │ │ ├── ic_round_check.xml │ │ ├── ic_round_check_circle.xml │ │ ├── ic_round_chevron_right.xml │ │ ├── ic_round_create.xml │ │ ├── ic_round_drafts.xml │ │ ├── ic_round_exit_to_app.xml │ │ ├── ic_round_file_copy.xml │ │ ├── ic_round_forum.xml │ │ ├── ic_round_help_green.xml │ │ ├── ic_round_location_on.xml │ │ ├── ic_round_mode_comment.xml │ │ ├── ic_round_pause_circle_filled_18dp.xml │ │ ├── ic_round_play_circle_filled_18dp.xml │ │ ├── ic_round_save_24.xml │ │ ├── ic_round_warning.xml │ │ ├── ic_settings_24.xml │ │ ├── ic_settings_block.xml │ │ ├── ic_shortcut_my_collect_foreground.xml │ │ ├── ic_shortcut_my_message_foreground.xml │ │ ├── ic_shortcut_oksign_foreground.xml │ │ ├── ic_shortcut_search_foreground.xml │ │ ├── ic_splash.webp │ │ ├── ic_splash_screen_anim.xml │ │ ├── ic_splash_text.webp │ │ ├── ic_today.xml │ │ ├── image_emoticon1.webp │ │ ├── image_emoticon10.webp │ │ ├── image_emoticon11.webp │ │ ├── image_emoticon12.webp │ │ ├── image_emoticon13.webp │ │ ├── image_emoticon14.webp │ │ ├── image_emoticon15.webp │ │ ├── image_emoticon16.webp │ │ ├── image_emoticon17.webp │ │ ├── image_emoticon18.webp │ │ ├── image_emoticon19.webp │ │ ├── image_emoticon2.webp │ │ ├── image_emoticon20.webp │ │ ├── image_emoticon21.webp │ │ ├── image_emoticon22.webp │ │ ├── image_emoticon23.webp │ │ ├── image_emoticon24.webp │ │ ├── image_emoticon25.webp │ │ ├── image_emoticon26.webp │ │ ├── image_emoticon27.webp │ │ ├── image_emoticon28.webp │ │ ├── image_emoticon29.webp │ │ ├── image_emoticon3.webp │ │ ├── image_emoticon30.webp │ │ ├── image_emoticon31.webp │ │ ├── image_emoticon32.webp │ │ ├── image_emoticon33.webp │ │ ├── image_emoticon34.webp │ │ ├── image_emoticon35.webp │ │ ├── image_emoticon36.webp │ │ ├── image_emoticon37.webp │ │ ├── image_emoticon38.webp │ │ ├── image_emoticon39.webp │ │ ├── image_emoticon4.webp │ │ ├── image_emoticon40.webp │ │ ├── image_emoticon41.webp │ │ ├── image_emoticon42.webp │ │ ├── image_emoticon43.webp │ │ ├── image_emoticon44.webp │ │ ├── image_emoticon45.webp │ │ ├── image_emoticon46.webp │ │ ├── image_emoticon47.webp │ │ ├── image_emoticon48.webp │ │ ├── image_emoticon49.webp │ │ ├── image_emoticon5.webp │ │ ├── image_emoticon50.webp │ │ ├── image_emoticon6.webp │ │ ├── image_emoticon7.webp │ │ ├── image_emoticon8.webp │ │ ├── image_emoticon89.webp │ │ ├── image_emoticon9.webp │ │ ├── splash.xml │ │ └── user_header.jpg │ │ ├── layout │ │ ├── activity_app_font_size.xml │ │ ├── activity_translucent_theme.xml │ │ ├── dialog_copy_text.xml │ │ ├── dialog_custom_theme.xml │ │ ├── dialog_loading.xml │ │ ├── dialog_permission.xml │ │ ├── dialog_request_permission_tip.xml │ │ ├── fragment_menu_dialog.xml │ │ ├── item_chat_bubble.xml │ │ ├── item_theme_color.xml │ │ ├── item_wallpaper.xml │ │ ├── layout_alert_dialog.xml │ │ ├── layout_audio.xml │ │ ├── layout_new_appbar.xml │ │ ├── layout_new_toolbar.xml │ │ └── layout_reply_edit_text.xml │ │ ├── menu │ │ ├── menu_audio_long_click.xml │ │ └── menu_undoable_edit_text.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ ├── ic_launcher_new.xml │ │ ├── ic_launcher_new_invert.xml │ │ ├── ic_launcher_new_invert_round.xml │ │ ├── ic_launcher_new_round.xml │ │ ├── ic_launcher_new_themed.xml │ │ ├── ic_launcher_new_themed_round.xml │ │ ├── ic_launcher_round.xml │ │ ├── ic_shortcut_my_collect.xml │ │ ├── ic_shortcut_my_message.xml │ │ ├── ic_shortcut_oksign.xml │ │ └── ic_shortcut_search.xml │ │ ├── mipmap-anydpi-v31 │ │ ├── ic_launcher_new_themed.xml │ │ └── ic_launcher_new_themed_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_new.png │ │ ├── ic_launcher_new_invert.png │ │ ├── ic_launcher_new_invert_round.png │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed.png │ │ ├── ic_launcher_new_themed_round.png │ │ ├── ic_launcher_round.png │ │ ├── ic_shortcut_my_collect.png │ │ ├── ic_shortcut_my_message.png │ │ ├── ic_shortcut_oksign.png │ │ └── ic_shortcut_search.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_new.png │ │ ├── ic_launcher_new_invert.png │ │ ├── ic_launcher_new_invert_round.png │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed.png │ │ ├── ic_launcher_new_themed_round.png │ │ ├── ic_launcher_round.png │ │ ├── ic_shortcut_my_collect.png │ │ ├── ic_shortcut_my_message.png │ │ ├── ic_shortcut_oksign.png │ │ └── ic_shortcut_search.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_new.png │ │ ├── ic_launcher_new_invert.png │ │ ├── ic_launcher_new_invert_round.png │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed.png │ │ ├── ic_launcher_new_themed_round.png │ │ ├── ic_launcher_round.png │ │ ├── ic_shortcut_my_collect.png │ │ ├── ic_shortcut_my_message.png │ │ ├── ic_shortcut_oksign.png │ │ └── ic_shortcut_search.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_new.png │ │ ├── ic_launcher_new_invert.png │ │ ├── ic_launcher_new_invert_round.png │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed.png │ │ ├── ic_launcher_new_themed_round.png │ │ ├── ic_launcher_round.png │ │ ├── ic_shortcut_my_collect.png │ │ ├── ic_shortcut_my_message.png │ │ ├── ic_shortcut_oksign.png │ │ └── ic_shortcut_search.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ ├── ic_launcher_new.png │ │ ├── ic_launcher_new_invert.png │ │ ├── ic_launcher_new_invert_round.png │ │ ├── ic_launcher_new_round.png │ │ ├── ic_launcher_new_themed.png │ │ ├── ic_launcher_new_themed_round.png │ │ ├── ic_launcher_round.png │ │ ├── ic_shortcut_my_collect.png │ │ ├── ic_shortcut_my_message.png │ │ ├── ic_shortcut_oksign.png │ │ └── ic_shortcut_search.png │ │ ├── raw │ │ ├── lottie_astronaut.json │ │ ├── lottie_audio_wave.json │ │ ├── lottie_bug_hunting.json │ │ ├── lottie_empty_box.json │ │ ├── lottie_error.json │ │ ├── lottie_hide.json │ │ ├── lottie_loading_paperplane.json │ │ └── lottie_no_internet.json │ │ ├── values-night │ │ └── colors.xml │ │ ├── values-sw600dp │ │ └── styles.xml │ │ ├── values-v27 │ │ └── styles.xml │ │ ├── values-v29 │ │ └── styles.xml │ │ ├── values-v31 │ │ ├── colors.xml │ │ └── styles.xml │ │ ├── values │ │ ├── arrays.xml │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ ├── backup_descriptor.xml │ │ ├── data_extraction_rules.xml │ │ ├── file_paths_share_img.xml │ │ ├── main_split_config.xml │ │ └── shortcut_new.xml │ └── test │ └── java │ └── com │ └── huanchengfly │ └── tieba │ └── post │ └── ExampleUnitTest.java ├── application.properties ├── build.gradle.kts ├── compose_stability_configuration.txt ├── gradle.properties ├── gradle ├── sweet-dependency │ └── sweet-dependency-config.yaml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts /app/src/main/assets/TiebaStatFont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/assets/TiebaStatFont.ttf -------------------------------------------------------------------------------- /app/src/main/assets/bebas.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/assets/bebas.ttf -------------------------------------------------------------------------------- /app/src/main/ic_launcher_new-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/ic_launcher_new-playstore.png -------------------------------------------------------------------------------- /app/src/main/ic_launcher_new_invert-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/ic_launcher_new_invert-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/activities/OKSignActivity.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.activities; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.appcompat.app.AppCompatActivity; 6 | 7 | import com.huanchengfly.tieba.post.utils.TiebaUtil; 8 | 9 | public class OKSignActivity extends AppCompatActivity { 10 | @Override 11 | protected void onCreate(Bundle savedInstanceState) { 12 | super.onCreate(savedInstanceState); 13 | TiebaUtil.startSign(this); 14 | finish(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/adapters/base/const.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.adapters.base 2 | 3 | const val ITEM_TYPE_HEADER = 0 4 | const val ITEM_TYPE_COMMON = 100000 5 | const val ITEM_TYPE_FOOTER = 900000 -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/adapters/base/interfaces.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.adapters.base 2 | 3 | import com.huanchengfly.tieba.post.components.MyViewHolder 4 | 5 | interface OnItemClickListener { 6 | fun onClick(viewHolder: MyViewHolder, item: Item, position: Int) 7 | } 8 | 9 | interface OnItemLongClickListener { 10 | fun onLongClick(viewHolder: MyViewHolder, item: Item, position: Int): Boolean 11 | } 12 | 13 | interface OnItemChildClickListener { 14 | fun onItemChildClick(viewHolder: MyViewHolder, item: Item, position: Int) 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/caster/ICaster.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.caster; 2 | 3 | public abstract class ICaster { 4 | public abstract B cast(A a); 5 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/ChangelogBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | import com.huanchengfly.tieba.post.models.BaseBean 5 | 6 | class ChangelogBean : BaseBean() { 7 | @SerializedName("error_code") 8 | val errorCode = 0 9 | 10 | @SerializedName("error_msg") 11 | val errorMsg: String? = null 12 | 13 | @SerializedName("success") 14 | val isSuccess = false 15 | val result: String? = null 16 | 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/CollectDataBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.huanchengfly.tieba.post.utils.GsonUtil 4 | 5 | data class CollectDataBean( 6 | val pid: String, 7 | val tid: String, 8 | val status: String, 9 | val type: String? = null 10 | ) { 11 | override fun toString(): String { 12 | return GsonUtil.getGson().toJson(this) 13 | } 14 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/FuckBaiduAPIBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | class FuckBaiduAPIBean { 4 | var status: Int? = null 5 | var message: String? = null 6 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/NewCollectDataBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class NewCollectDataBean( 6 | @SerializedName("tid") 7 | val threadId: String, 8 | @SerializedName("pid") 9 | val postId: String, 10 | val status: Int 11 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/OAID.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | import com.huanchengfly.tieba.post.App 5 | 6 | data class OAID( 7 | @SerializedName("v") 8 | val encodedOAID: String = App.Config.encodedOAID, 9 | @SerializedName("sc") 10 | val statusCode: Int = App.Config.statusCode, 11 | @SerializedName("sup") 12 | val support: Int = if (App.Config.isOAIDSupported) 1 else 0, 13 | val isTrackLimited: Int = if (App.Config.isTrackLimited) 1 else 0 14 | ) 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/PicToIdJsonBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | import com.huanchengfly.tieba.post.models.ErrorBean 5 | 6 | class PicToIdJsonBean : ErrorBean() { 7 | val pics: List? = null 8 | 9 | class PicBean { 10 | @SerializedName("pic_id") 11 | val picId: String? = null 12 | val width: String? = null 13 | val height: String? = null 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/SofireResponse.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | import kotlinx.serialization.SerialName 5 | import kotlinx.serialization.Serializable 6 | 7 | @Serializable 8 | data class SofireResponse( 9 | val data: String, 10 | @SerialName("request_id") 11 | @SerializedName("request_id") 12 | val requestId: Long, 13 | val skey: String 14 | ) 15 | 16 | @Serializable 17 | data class SofireResponseData( 18 | val token: String 19 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/Sync.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class Sync( 6 | val client: Client, 7 | @SerializedName("wl_config") 8 | val wlConfig: WlConfig 9 | ) { 10 | data class Client( 11 | @SerializedName("client_id") 12 | val clientId: String 13 | ) 14 | 15 | data class WlConfig( 16 | @SerializedName("sample_id") 17 | val sampleId: String 18 | ) 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/models/web/WebBase.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.models.web 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | open class WebBase { 6 | @SerializedName("errno", alternate = ["no"]) 7 | val errorCode: Int = -1 8 | 9 | @SerializedName("errmsg", alternate = ["error"]) 10 | val errorMsg: String = "" 11 | val data: Data? = null 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/exception/NoConnectivityException.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.retrofit.exception 2 | 3 | import com.huanchengfly.tieba.post.api.Error.ERROR_NETWORK 4 | 5 | class NoConnectivityException( 6 | msg: String = "No internet!" 7 | ) : TiebaLocalException(ERROR_NETWORK, msg) { 8 | override fun toString(): String { 9 | return "NoConnectivityException(message=$message)" 10 | } 11 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/exception/TiebaException.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.retrofit.exception 2 | 3 | import java.io.IOException 4 | 5 | abstract class TiebaException(message: String) : IOException(message) { 6 | abstract val code: Int 7 | 8 | override fun toString(): String { 9 | return "TiebaException(code=$code, message=$message)" 10 | } 11 | } 12 | 13 | object TiebaUnknownException : TiebaException("未知错误") { 14 | override val code: Int 15 | get() = -1 16 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/exception/TiebaLocalException.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.retrofit.exception 2 | 3 | open class TiebaLocalException( 4 | override val code: Int, 5 | msg: String 6 | ) : TiebaException(msg) { 7 | override fun toString(): String { 8 | return "TiebaLocalException(code=$code, message=$message)" 9 | } 10 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/api/retrofit/exception/TiebaNotLoggedInException.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.api.retrofit.exception 2 | 3 | import com.huanchengfly.tieba.post.api.Error.ERROR_NOT_LOGGED_IN 4 | 5 | class TiebaNotLoggedInException( 6 | msg: String = "Not logged in!" 7 | ) : TiebaLocalException(ERROR_NOT_LOGGED_IN, msg) { 8 | override fun toString(): String { 9 | return "TiebaNotLoggedInException(message=$message)" 10 | } 11 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/arch/PartialChange.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.arch 2 | 3 | interface PartialChange { 4 | fun reduce(oldState: State): State 5 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/arch/UiEvent.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.arch 2 | 3 | interface UiEvent -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/arch/UiIntent.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.arch 2 | 3 | interface UiIntent -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/arch/UiState.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.arch 2 | 3 | interface UiState -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/components/glide/ProgressListener.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.components.glide; 2 | 3 | public interface ProgressListener { 4 | void onProgress(int progress); 5 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/BackHandledInterface.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface BackHandledInterface { 4 | boolean onBackPressed(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/BackgroundTintable.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces 2 | 3 | interface BackgroundTintable { 4 | fun setBackgroundTintResId(resId: Int) 5 | 6 | fun getBackgroundTintResId(): Int 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/CommonCallback.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface CommonCallback { 4 | void onSuccess(T data); 5 | 6 | void onFailure(int code, String error); 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/InitMenuCallback.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | import android.view.Menu; 4 | 5 | public interface InitMenuCallback { 6 | void init(Menu menu); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/OnDeniedCallback.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface OnDeniedCallback { 4 | void onDenied(boolean isForever); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/OnGrantedCallback.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface OnGrantedCallback { 4 | void onGranted(boolean isForever); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | import android.view.View; 4 | 5 | public interface OnItemClickListener { 6 | void onClick(View itemView, T t, int position, int viewType); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/OnPhotoErrorListener.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface OnPhotoErrorListener { 4 | void onError(Exception e); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/interfaces/Refreshable.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.interfaces; 2 | 3 | public interface Refreshable { 4 | void onRefresh(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/BaseBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import com.huanchengfly.tieba.post.toJson 4 | 5 | open class BaseBean { 6 | override fun toString(): String { 7 | return toJson() 8 | } 9 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/DislikeBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import com.google.gson.annotations.SerializedName 4 | 5 | data class DislikeBean( 6 | @field:SerializedName("tid") var threadId: String, 7 | @field:SerializedName("dislike_ids") var dislikeIds: String, 8 | @field:SerializedName("fid") var forumId: String?, 9 | @field:SerializedName("click_time") var clickTime: Long, 10 | var extra: String 11 | ) : BaseBean() -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/EmoticonCache.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | data class EmoticonCache( 4 | var ids: List = emptyList(), 5 | var mapping: Map = emptyMap() 6 | ) 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/ForumHistoryExtra.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import kotlinx.serialization.SerialName 4 | import kotlinx.serialization.Serializable 5 | 6 | @Serializable 7 | data class ForumHistoryExtra( 8 | @SerialName("forum_id") 9 | val forumId: Long, 10 | ) 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/HistoryForumItem.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import kotlinx.serialization.SerialName 4 | import kotlinx.serialization.Serializable 5 | 6 | @Serializable 7 | data class HistoryForumItem( 8 | @SerialName("forum_id") 9 | val forumId: Long, 10 | @SerialName("visit_time") 11 | val visitTime: String, 12 | ) 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/PhotoViewBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import android.os.Parcelable 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data class PhotoViewBean @JvmOverloads constructor( 8 | var url: String?, 9 | var originUrl: String?, 10 | var isLongPic: Boolean = false, 11 | var index: String? = null, 12 | var isGif: Boolean = false 13 | ) : Parcelable -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/SignDataBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | data class SignDataBean( 4 | val forumName: String, 5 | val forumId: String, 6 | val userName: String, 7 | val tbs: String, 8 | val canUseMSign: Boolean = false 9 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/ThreadHistoryInfoBean.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models 2 | 3 | import kotlinx.serialization.Serializable 4 | 5 | @Serializable 6 | data class ThreadHistoryInfoBean( 7 | val isSeeLz: Boolean = false, 8 | val pid: String? = null, 9 | val forumName: String? = null, 10 | val floor: String? = null, 11 | ) : BaseBean() -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/database/History.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models.database 2 | 3 | import androidx.compose.runtime.Immutable 4 | import org.litepal.crud.LitePalSupport 5 | 6 | @Immutable 7 | data class History( 8 | val title: String = "", 9 | val data: String = "", 10 | val type: Int = 0, 11 | val timestamp: Long = 0, 12 | val count: Int = 0, 13 | val extras: String? = null, 14 | val avatar: String? = null, 15 | val username: String? = null, 16 | ) : LitePalSupport() { 17 | val id: Long = 0L 18 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/database/SearchHistory.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models.database 2 | 3 | import androidx.compose.runtime.Immutable 4 | import org.litepal.crud.LitePalSupport 5 | 6 | @Immutable 7 | data class SearchHistory( 8 | val content: String, 9 | val timestamp: Long = System.currentTimeMillis(), 10 | ) : LitePalSupport() { 11 | val id: Long = 0 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/models/database/SearchPostHistory.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.models.database 2 | 3 | import androidx.compose.runtime.Immutable 4 | import org.litepal.crud.LitePalSupport 5 | 6 | @Immutable 7 | class SearchPostHistory( 8 | val content: String, 9 | val forumName: String, 10 | val timestamp: Long = System.currentTimeMillis(), 11 | ) : LitePalSupport() { 12 | val id: Long = 0 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/common/theme/compose/Color.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.common.theme.compose 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val Purple200 = Color(0xFFBB86FC) 6 | val Purple500 = Color(0xFF6200EE) 7 | val Purple700 = Color(0xFF3700B3) 8 | val Teal200 = Color(0xFF03DAC5) 9 | val White = Color(0xFFFFFFFF) 10 | val RedA700 = Color(0xFFD50000) 11 | val OrangeA700 = Color(0xFFFF6D00) 12 | val Yellow = Color(0xFFFFD600) -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/common/theme/compose/Shape.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.common.theme.compose 2 | 3 | import androidx.compose.foundation.shape.RoundedCornerShape 4 | import androidx.compose.material.Shapes 5 | import androidx.compose.ui.unit.dp 6 | 7 | val Shapes = Shapes( 8 | small = RoundedCornerShape(4.dp), 9 | medium = RoundedCornerShape(12.dp), 10 | large = RoundedCornerShape(0.dp) 11 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/common/theme/interfaces/ExtraRefreshable.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.common.theme.interfaces; 2 | 3 | import android.app.Activity; 4 | import android.view.View; 5 | 6 | public interface ExtraRefreshable { 7 | void refreshGlobal(Activity activity); 8 | 9 | void refreshSpecificView(View view); 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/common/theme/interfaces/ThemeSwitcher.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.common.theme.interfaces; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.annotation.AttrRes; 6 | import androidx.annotation.ColorInt; 7 | import androidx.annotation.ColorRes; 8 | 9 | public interface ThemeSwitcher { 10 | @ColorInt 11 | int getColorByAttr(Context context, @AttrRes int attrId); 12 | 13 | @ColorInt 14 | int getColorById(Context context, @ColorRes int colorId); 15 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/common/theme/interfaces/Tintable.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.common.theme.interfaces; 2 | 3 | public interface Tintable { 4 | void tint(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/BottomNav.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.widgets.compose 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/video/util/StateFlowExt.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.ui.widgets.compose.video.util 2 | 3 | import kotlinx.coroutines.flow.MutableStateFlow 4 | 5 | fun MutableStateFlow.set(block: T.() -> T) { 6 | this.value = this.value.block() 7 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/CuidUtils.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils 2 | 3 | import com.huanchengfly.tieba.post.utils.helios.Base32 4 | import com.huanchengfly.tieba.post.utils.helios.Hasher 5 | 6 | object CuidUtils { 7 | fun getNewCuid(): String { 8 | val cuid = UIDUtil.cUID 9 | val encode = Base32.encode(Hasher.hash(cuid.toByteArray())) 10 | return "$cuid|V$encode" 11 | } 12 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/DialogUtil.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.appcompat.app.AlertDialog; 6 | 7 | import com.huanchengfly.tieba.post.R; 8 | 9 | public class DialogUtil { 10 | public static AlertDialog.Builder build(Context context) { 11 | return new AlertDialog.Builder(context); 12 | } 13 | 14 | public static AlertDialog.Builder buildBottomDialog(Context context) { 15 | return new AlertDialog.Builder(context, R.style.Dialog_Bottom); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/DispatchUtils.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils 2 | 3 | import com.huanchengfly.tieba.post.App 4 | 5 | val officialClientPackages = arrayOf("com.baidu.tieba", "com.baidu.tieba_mini") 6 | 7 | fun isOfficialClientInstalled(): Boolean { 8 | return App.INSTANCE.isAnyPackageInstalled(officialClientPackages) 9 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/GZIPUtils.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils 2 | 3 | import java.io.ByteArrayOutputStream 4 | import java.util.zip.GZIPOutputStream 5 | 6 | fun String.gzipCompress(): ByteArray { 7 | val bos = ByteArrayOutputStream() 8 | GZIPOutputStream(bos).bufferedWriter(Charsets.UTF_8).use { it.write(this) } 9 | return bos.toByteArray() 10 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/GsonUtil.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils; 2 | 3 | import com.google.gson.Gson; 4 | 5 | public class GsonUtil { 6 | private static Gson gson; 7 | 8 | public static synchronized Gson getGson() { 9 | if (gson == null) { 10 | synchronized (GsonUtil.class) { 11 | if (gson == null) { 12 | gson = new Gson(); 13 | } 14 | } 15 | } 16 | return gson; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/PackageUtil.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils 2 | 3 | import android.content.Context 4 | import android.content.pm.PackageManager 5 | import android.os.Bundle 6 | 7 | val Context.applicationMetaData: Bundle 8 | get() { 9 | return packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA).metaData 10 | } 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/ReceiverUtil.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils 2 | 3 | import android.content.IntentFilter 4 | 5 | fun newIntentFilter(action: String) = 6 | IntentFilter().apply { 7 | addAction(action) 8 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/extension/ColorExt.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils.extension 2 | 3 | import androidx.compose.ui.graphics.Color 4 | import androidx.compose.ui.graphics.toArgb 5 | 6 | fun Color.toHexString(): String { 7 | return "#${Integer.toHexString(toArgb()).substring(2)}" 8 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/extension/FlagExt.kt: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils.extension 2 | 3 | /** 4 | * 添加flag 5 | */ 6 | fun Int.addFlag(flag: Int): Int { 7 | return this or flag 8 | } 9 | 10 | /** 11 | * 移除flag 12 | */ 13 | fun Int.removeFlag(flag: Int): Int { 14 | return this and flag.inv() 15 | } 16 | 17 | /** 18 | * 检查是否包含flag 19 | */ 20 | fun Int.hasFlag(flag: Int): Boolean { 21 | return this and flag == flag 22 | } -------------------------------------------------------------------------------- /app/src/main/java/com/huanchengfly/tieba/post/utils/helios/XXHashEncoder.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post.utils.helios; 2 | 3 | final class XXHashEncoder extends IEncoder { 4 | public XXHashEncoder(int start, int flag) { 5 | this.length = 32; 6 | this.start = start; 7 | this.flag = flag; 8 | } 9 | 10 | public EncodeResult encode(byte[] bytes, int off, int len) { 11 | XXHash xxHash = new XXHash(); 12 | xxHash.update(bytes, off, len); 13 | return EncodeResult.a(new long[]{xxHash.getValue()}); 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/protos/Abstract.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Abstract { 8 | int32 type = 1; 9 | string text = 2; 10 | string link = 3; 11 | string src = 4; 12 | string un = 5; 13 | string duringTime = 6; 14 | string voiceMD5 = 7; 15 | } -------------------------------------------------------------------------------- /app/src/main/protos/AccessState.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "UserSessionInfo.proto"; 8 | 9 | message AccessState { 10 | string type = 1; 11 | string token = 2; 12 | UserSessionInfo userinfo = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ActBtn.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ActBtn { 8 | uint32 type = 1; 9 | string url = 2; 10 | string text = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/ActHot.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ActHot { 8 | string bsize = 1; 9 | string img_src = 2; 10 | string link = 3; 11 | string author_name = 4; 12 | string img_des = 5; 13 | int32 img_type = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ActPost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ActHot.proto"; 8 | import "LinkInfo.proto"; 9 | 10 | message ActPost { 11 | repeated ActHot act_hot = 1; 12 | string list_head = 2; 13 | repeated LinkInfo link_info = 3; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ActionControl.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ActionControl { 8 | string url = 1; 9 | string name = 2; 10 | string text_color = 3; 11 | string text_color_pressed = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/AdCloseInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ActionControl.proto"; 8 | 9 | message AdCloseInfo { 10 | int32 support_close = 1; 11 | string title = 2; 12 | repeated string reasons = 3; 13 | string confirm_title = 4; 14 | ActionControl action_control = 5; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/AdInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Media.proto"; 8 | 9 | message AdInfo { 10 | int32 show_rule = 1; 11 | int32 ad_type = 2; 12 | string ad_desc = 3; 13 | string ad_pic = 4; 14 | string ad_url = 5; 15 | string ad_name = 6; 16 | string portrait = 7; 17 | repeated Media media = 8; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/AddPost/AddPostRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.addPost; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.addPost"; 6 | 7 | import "AddPost/AddPostRequestData.proto"; 8 | 9 | message AddPostRequest { 10 | AddPostRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/AddPost/AddPostResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.addPost; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.addPost"; 6 | 7 | import "AddPost/AddPostResponseData.proto"; 8 | import "Error.proto"; 9 | 10 | message AddPostResponse { 11 | Error error = 1; 12 | AddPostResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/AddPostList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "SubPostList.proto"; 8 | 9 | message AddPostList { 10 | uint64 pid = 1; 11 | uint32 total_num = 2; 12 | uint32 total_count = 3; 13 | repeated SubPostList add_post_list = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/Advertisement.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Advertisement { 8 | int64 time = 1; 9 | string pic = 2; 10 | string pic_click = 3; 11 | string jump_link = 4; 12 | string advertisement_id = 5; 13 | string view_statistics_url = 6; 14 | string click_statistics_url = 7; 15 | string floating_text = 8; 16 | string deeplink = 9; 17 | string scheme = 10; 18 | string package_name = 11; 19 | string display_ad_icon = 12; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/protos/Agree.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Agree { 8 | int64 agreeNum = 1; 9 | int32 hasAgree = 2; 10 | int32 agreeType = 3; 11 | int64 disagreeNum = 4; 12 | int64 diffAgreeNum = 5; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/AlaChallengeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message AlaChallengeInfo { 8 | int64 challenge_id = 1; 9 | int64 winning_num = 2; 10 | string rival_session = 3; 11 | string rival_rtmp_url = 4; 12 | string rival_hls_url = 5; 13 | string ext = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/AlaCoverLabel.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message AlaCoverLabel { 8 | uint32 label_id = 1; 9 | string label_name = 2; 10 | string label_rgb = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/AlaShareInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message AlaShareInfo { 8 | string content = 1; 9 | int32 share_user_count = 2; 10 | int32 share_count = 3; 11 | int64 record_tid = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/AlaStageDislikeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message AlaStageDislikeInfo { 8 | string dislike_reason = 1; 9 | uint32 dislike_id = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/Anti.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | import "DelThreadText.proto"; 3 | 4 | package tieba; 5 | 6 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 7 | 8 | message Anti { 9 | string tbs = 1; 10 | int32 ifpost = 2; 11 | int32 ifposta = 3; 12 | int32 forbid_flag = 4; 13 | string forbid_info = 5; 14 | int32 block_stat = 6; 15 | int32 hide_stat = 7; 16 | int32 vcode_stat = 8; 17 | int32 days_tofree = 9; 18 | int32 has_chance = 10; 19 | int32 ifvoice = 11; 20 | repeated DelThreadText del_thread_text = 24; 21 | } -------------------------------------------------------------------------------- /app/src/main/protos/ApkDetail.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ApkDetail { 8 | string developer = 1; 9 | string publisher = 2; 10 | string version = 3; 11 | int32 version_code = 6; 12 | string update_time = 7; 13 | string size = 8; 14 | int32 need_network = 9; 15 | int32 need_inner_buy = 10; 16 | string authority_url = 11; 17 | string privacy_url = 12; 18 | int32 pkg_source = 13; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/protos/AppPosInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message AppPosInfo { 8 | optional int64 addr_timestamp = 6; 9 | optional bool ap_connected = 2; 10 | optional string ap_mac = 1; 11 | optional string asp_shown_info = 7; 12 | optional string coordinate_type = 3; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/AppTransmitData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 4 | 5 | message AppTransmitData { 6 | string wise_sample_id = 1; 7 | string yy_hdid = 2; 8 | string yy_version = 3; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/Baijiahao.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Baijiahao { 8 | string ori_ugc_nid = 1; 9 | string ori_ugc_tid = 2; 10 | int32 ori_ugc_type = 3; 11 | string ori_ugc_vid = 4; 12 | string forward_url = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/BaijiahaoInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BaijiahaoInfo { 8 | string name = 1; 9 | string avatar = 2; 10 | string avatar_h = 3; 11 | string brief = 4; 12 | int32 auth_id = 5; 13 | string auth_desc = 6; 14 | int32 can_modify_avatar = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/BannerImage.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BannerImage { 8 | string img_url = 1; 9 | string ahead_url = 2; 10 | string title = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/BannerList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "App.proto"; 8 | import "FeedForumInfo.proto"; 9 | import "RecomTopicInfo.proto"; 10 | 11 | message BannerList { 12 | repeated App app = 1; 13 | repeated FeedForumInfo feed_forum = 2; 14 | RecomTopicInfo hot_topic = 3; 15 | string applist = 4; 16 | App pb_banner_ad = 5; 17 | repeated App video_recommend_ad = 6; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/BawuRoleDes.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "BawuRoleInfoPub.proto"; 8 | 9 | message BawuRoleDes { 10 | string role_name = 1; 11 | repeated BawuRoleInfoPub role_info = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/BawuRoleInfoPub.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "BaijiahaoInfo.proto"; 8 | 9 | message BawuRoleInfoPub { 10 | uint64 forum_id = 1; 11 | int64 user_id = 2; 12 | int32 role_id = 3; 13 | string role_name = 4; 14 | string portrait = 5; 15 | int32 user_level = 6; 16 | string level_name = 7; 17 | string user_name = 8; 18 | string name_show = 9; 19 | BaijiahaoInfo baijiahao_info = 10; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/protos/BawuTeam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "BawuRoleDes.proto"; 8 | 9 | message BawuTeam { 10 | int32 total_num = 1; 11 | repeated BawuRoleDes bawu_team_list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/BawuThrones.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BawuThrones { 8 | int32 total_recommend_num = 1; 9 | int32 used_recommend_num = 2; 10 | string bazhu_level = 3; 11 | int32 used_bcast_cnt = 4; 12 | int32 total_bcast_cnt = 5; 13 | int32 newest_bcast_pv = 6; 14 | int32 has_send_bcast = 7; 15 | int32 newest_bcast_pushuser_cnt = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/BazhuSign.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BazhuSign { 8 | string desc = 1; 9 | string level = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/BirthdayInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BirthdayInfo { 8 | int64 birthday_time = 1; 9 | uint32 birthday_show_status = 2; 10 | string constellation = 3; 11 | uint32 age = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/BlockPopInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | 8 | message BlockPopInfo { 9 | int32 can_post = 1; 10 | string block_info = 2; 11 | string ahead_info = 3; 12 | string ahead_url = 4; 13 | string ok_info = 5; 14 | int32 ahead_type = 6; 15 | int32 appeal_status = 7; 16 | string appeal_msg = 8; 17 | string sub_block_info = 11; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/BookTag.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BookTag { 8 | string title = 1; 9 | string url = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/BubbleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BubbleInfo { 8 | int32 bubble_id = 1; 9 | string bubble_text = 2; 10 | string bubble_pic = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/BusinessAccountInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message BusinessAccountInfo { 8 | int32 is_business_account = 1; 9 | int32 is_forum_business_account = 2; 10 | string business_name = 3; 11 | string identifi_explain = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/ContriInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ToastConfig.proto"; 8 | 9 | message ContriInfo { 10 | string color_msg = 1; 11 | string after_msg = 2; 12 | repeated ToastConfig toast_config = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/CustomGrid.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message CustomGrid { 8 | string title = 1; 9 | string action_uri = 2; 10 | int32 action_type = 3; 11 | string icon = 4; 12 | int32 type = 6; 13 | int64 red_point_version = 7; 14 | string desc = 8; 15 | string mark_text = 9; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/DealAuthInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message DealAuthInfo { 8 | string item_name = 1; 9 | string item_content = 2; 10 | string item_url = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/DealMedia.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message DealMedia { 8 | int32 type = 1; 9 | string small_pic = 2; 10 | string big_pic = 3; 11 | string water_pic = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/DealWindow.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "DisplayWindowInfo.proto"; 8 | 9 | message DealWindow { 10 | repeated DisplayWindowInfo list = 1; 11 | uint64 total = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/DelThreadText.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message DelThreadText { 8 | int32 text_id = 1; 9 | string text_info = 2; 10 | } -------------------------------------------------------------------------------- /app/src/main/protos/DetailInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message DetailInfo { 8 | string text = 1; 9 | string url = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/DislikeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message DislikeInfo { 8 | string dislikeReason = 1; 9 | uint32 dislikeId = 2; 10 | string extra = 3; 11 | } -------------------------------------------------------------------------------- /app/src/main/protos/DisplayWindowInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "DealMedia.proto"; 8 | 9 | message DisplayWindowInfo { 10 | int64 product_id = 1; 11 | string title = 2; 12 | string intro = 3; 13 | DealMedia img = 4; 14 | uint64 unit_price = 5; 15 | uint64 stock = 6; 16 | uint64 ship_fee = 7; 17 | int32 is_display = 8; 18 | uint64 sales = 9; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/protos/DynamicInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ForumDynamic.proto"; 8 | import "ThreadInfo.proto"; 9 | import "UserDynamic.proto"; 10 | 11 | message DynamicInfo { 12 | ThreadInfo thread_dynamic = 1; 13 | int64 dynamic_timestamp = 2; 14 | ForumDynamic forum_dynamic = 3; 15 | UserDynamic user_dynamic = 4; 16 | int32 type = 5; 17 | string is_hide = 6; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/Error.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Error { 8 | string error_msg = 2; 9 | int32 error_code = 1; 10 | string user_msg = 3; 11 | } -------------------------------------------------------------------------------- /app/src/main/protos/FeedForumInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message FeedForumInfo { 8 | uint64 forum_id = 1; 9 | string forum_name = 2; 10 | int32 member_count = 3; 11 | int32 post_num = 4; 12 | string avatar = 5; 13 | string reason = 6; 14 | int32 pos = 7; 15 | int32 is_like = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/Feedback.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Feedback { 8 | string icon = 1; 9 | string title = 2; 10 | string url = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/FineBannerPb.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message FineBannerPb { 8 | int64 ftid = 1; 9 | string title = 2; 10 | string pic_url = 3; 11 | string link_url = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumDynamic.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message ForumDynamic { 8 | int64 forum_id = 1; 9 | string forum_name = 2; 10 | string avatar = 3; 11 | string slogan = 4; 12 | uint32 is_like = 5; 13 | uint32 member_count = 6; 14 | uint32 thread_count = 7; 15 | uint32 user_thread_count = 9; 16 | } -------------------------------------------------------------------------------- /app/src/main/protos/ForumInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ForumInfo { 8 | uint32 forum_id = 1; 9 | string forum_name = 2; 10 | string avatar = 3; 11 | string post_num = 4; 12 | string concern_num = 5; 13 | int32 has_concerned = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumMember.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ForumMember { 8 | int32 is_like = 1; 9 | int32 user_level = 2; 10 | string level_name = 3; 11 | int32 cur_score = 4; 12 | int32 levelup_score = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumMemberInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message ForumMemberInfo { 10 | string total = 1; 11 | string title = 2; 12 | repeated User member_list = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumRule.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "PbContent.proto"; 8 | 9 | message ForumRule { 10 | string title = 1; 11 | repeated PbContent content = 2; 12 | int32 status = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumRuleDetail/ForumRuleDetailRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.forumRuleDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.forumRuleDetail"; 6 | 7 | import "ForumRuleDetail/ForumRuleDetailRequestData.proto"; 8 | 9 | message ForumRuleDetailRequest { 10 | ForumRuleDetailRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumRuleDetail/ForumRuleDetailRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.forumRuleDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.forumRuleDetail"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message ForumRuleDetailRequestData { 10 | int64 forum_id = 1; 11 | CommonRequest common = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumRuleDetail/ForumRuleDetailResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.forumRuleDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.forumRuleDetail"; 6 | 7 | import "Error.proto"; 8 | import "ForumRuleDetail/ForumRuleDetailResponseData.proto"; 9 | 10 | message ForumRuleDetailResponse { 11 | Error error = 1; 12 | ForumRuleDetailResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ForumRuleStatus.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ForumRuleStatus { 8 | string title = 2; 9 | int32 audit_status = 3; 10 | int32 has_forum_rule = 4; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/AdParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message AdParam { 8 | optional int32 load_count = 1; 9 | optional int32 refresh_count = 2; 10 | optional string yoga_lib_version = 3; 11 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/Classify.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message Classify { 8 | string name = 1; 9 | int64 id = 2; 10 | int32 class_id = 3; 11 | string class_name = 4; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/CoverImageColor.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message CoverImageColor { 8 | string value = 1; 9 | int32 model = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/Forum.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message Forum { 8 | int64 forum_id = 1; 9 | string level1_dir_name = 2; 10 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/Group.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message Group { 8 | int32 hide_recommend_group = 1; 9 | int32 group_count = 2; 10 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/Manager.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message Manager { 8 | int64 id = 1; 9 | string name = 2; 10 | string show_name = 3; 11 | string portrait = 4; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/NavTabInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | import "FrsTabInfo.proto"; 8 | 9 | message NavTabInfo { 10 | repeated FrsTabInfo tab = 1; 11 | repeated FrsTabInfo menu = 2; 12 | repeated FrsTabInfo head = 3; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/PostTopic.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message PostTopic { 8 | string title_topic = 1; 9 | string content_topic = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/RankInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message RankInfo { 8 | int32 sign_count = 1; 9 | int32 sign_rank = 2; 10 | int32 member_count = 3; 11 | double dir_rate = 4; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/SignForum.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | import "FrsPage/Forum.proto"; 8 | import "FrsPage/RankInfo.proto"; 9 | 10 | message SignForum { 11 | int32 is_on = 1; 12 | int32 is_filter = 2; 13 | optional Forum forum_info = 3; 14 | RankInfo current_rank_info = 4; 15 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/SignInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | import "FrsPage/SignForum.proto"; 8 | import "FrsPage/SignUser.proto"; 9 | 10 | message SignInfo { 11 | SignUser user_info = 1; 12 | SignForum forum_info = 2; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/Size.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message Size { 8 | int32 width = 1; 9 | int32 height = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/FrsPage/VideoImageColor.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.frsPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.frsPage"; 6 | 7 | message VideoImageColor { 8 | uint32 time = 1; 9 | string color = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/FrsTabInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message FrsTabInfo { 8 | int32 tabId = 1; 9 | int32 tabType = 2; 10 | string tabName = 3; 11 | string tabUrl = 4; 12 | string tabGid = 5; 13 | string tabTitle = 6; 14 | int32 isGeneralTab = 7; 15 | string tabCode = 8; 16 | uint32 tabVersion = 9; 17 | int32 isDefault = 10; 18 | } -------------------------------------------------------------------------------- /app/src/main/protos/GetBawuInfo/GetBawuInfoRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getBawuInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getBawuInfo"; 6 | 7 | import "GetBawuInfo/GetBawuInfoRequestData.proto"; 8 | 9 | message GetBawuInfoRequest { 10 | GetBawuInfoRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetBawuInfo/GetBawuInfoRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getBawuInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getBawuInfo"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetBawuInfoRequestData { 10 | CommonRequest common = 1; 11 | uint64 forum_id = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetBawuInfo/GetBawuInfoResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getBawuInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getBawuInfo"; 6 | 7 | import "Error.proto"; 8 | import "GetBawuInfo/GetBawuInfoResponseData.proto"; 9 | 10 | message GetBawuInfoResponse { 11 | GetBawuInfoResponseData data = 1; 12 | Error error = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetBawuInfo/GetBawuInfoResponseData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getBawuInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getBawuInfo"; 6 | 7 | import "BawuTeam.proto"; 8 | import "GetBawuInfo/ManagerApplyInfo.proto"; 9 | 10 | message GetBawuInfoResponseData { 11 | BawuTeam bawu_team_info = 1; 12 | ManagerApplyInfo manager_apply_info = 2; 13 | int32 is_private_forum = 3; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetBawuInfo/ManagerApplyInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getBawuInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getBawuInfo"; 6 | 7 | message ManagerApplyInfo { 8 | int32 manager_left_num = 1; 9 | string manager_apply_url = 2; 10 | int32 assist_left_num = 3; 11 | string assist_apply_url = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/ApplyStatus.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | message ApplyStatus { 8 | int32 is_avatar_applying = 1; 9 | int32 is_desc_applying = 2; 10 | int32 next_avatar_apply_time = 3; 11 | int32 next_desc_apply_time = 4; 12 | int32 is_fdir_applying = 5; 13 | int32 fdir_next_apply_time = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/BawuAction.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | message BawuAction { 8 | string name = 1; 9 | int32 type = 2; 10 | string url = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/BazhuGrade.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "GradePoint.proto"; 8 | 9 | message BazhuGrade { 10 | string grade = 1; 11 | repeated GradePoint grade_point = 2; 12 | string estimation_left_text = 3; 13 | string grade_text = 4; 14 | int32 estimation_left_time = 5; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/BazhuUniversity.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "GetForumDetail/UniversityInfo.proto"; 8 | import "GetForumDetail/UniversityTabInfo.proto"; 9 | 10 | message BazhuUniversity { 11 | repeated UniversityInfo entrance = 1; 12 | repeated UniversityInfo banner = 2; 13 | repeated UniversityTabInfo tab = 3; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/BzApplySwitch.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | message BzApplySwitch { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/GetForumDetailRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "GetForumDetail/GetForumDetailRequestData.proto"; 8 | 9 | message GetForumDetailRequest { 10 | GetForumDetailRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/GetForumDetailRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetForumDetailRequestData { 10 | int64 forum_id = 1; 11 | CommonRequest common = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/GetForumDetailResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "Error.proto"; 8 | import "GetForumDetail/GetForumDetailResponseData.proto"; 9 | 10 | message GetForumDetailResponse { 11 | Error error = 1; 12 | GetForumDetailResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/ManagerElectionTab.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | message ManagerElectionTab { 8 | uint32 is_new_strategy = 1; 9 | string new_strategy_link = 2; 10 | uint32 new_manager_status = 4; 11 | string new_strategy_text = 5; 12 | string toast_text = 6; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/UniversityInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | message UniversityInfo { 8 | string title = 1; 9 | string pic_url = 2; 10 | string to_url = 3; 11 | int32 type = 4; 12 | int64 agree_num = 5; 13 | int64 browse_num = 6; 14 | int64 video_time = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/GetForumDetail/UniversityTabInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getForumDetail; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getForumDetail"; 6 | 7 | import "GetForumDetail/UniversityInfo.proto"; 8 | 9 | message UniversityTabInfo { 10 | string tab_name = 1; 11 | repeated UniversityInfo content = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetHistoryForum/GetHistoryForumRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getHistoryForum; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getHistoryForum"; 6 | 7 | 8 | import "GetHistoryForum/GetHistoryForumRequestData.proto"; 9 | 10 | message GetHistoryForumRequest { 11 | GetHistoryForumRequestData data = 1; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetHistoryForum/GetHistoryForumRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getHistoryForum; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getHistoryForum"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetHistoryForumRequestData { 10 | CommonRequest common = 1; 11 | string history = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetHistoryForum/GetHistoryForumResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getHistoryForum; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getHistoryForum"; 6 | 7 | 8 | import "Error.proto"; 9 | import "GetHistoryForum/GetHistoryForumResponseData.proto"; 10 | 11 | message GetHistoryForumResponse { 12 | Error error = 1; 13 | GetHistoryForumResponseData data = 2; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetHistoryForum/GetHistoryForumResponseData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getHistoryForum; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getHistoryForum"; 6 | 7 | import "FrsTabInfo.proto"; 8 | import "HistoryForumInfo.proto"; 9 | 10 | message GetHistoryForumResponseData { 11 | repeated HistoryForumInfo history_forum = 1; 12 | repeated FrsTabInfo nav_tab_info = 2; 13 | repeated HistoryForumInfo this_week_forums = 3; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetLevelInfo/GetLevelInfoRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getLevelInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getLevelInfo"; 6 | 7 | import "GetLevelInfo/GetLevelInfoRequestData.proto"; 8 | 9 | message GetLevelInfoRequest { 10 | GetLevelInfoRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetLevelInfo/GetLevelInfoRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getLevelInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getLevelInfo"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetLevelInfoRequestData { 10 | uint64 forum_id = 1; 11 | CommonRequest common = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetLevelInfo/GetLevelInfoResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getLevelInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getLevelInfo"; 6 | 7 | import "Error.proto"; 8 | import "GetLevelInfo/GetLevelInfoResponseData.proto"; 9 | 10 | message GetLevelInfoResponse { 11 | GetLevelInfoResponseData data = 1; 12 | Error error = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetLevelInfo/GetLevelInfoResponseData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getLevelInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getLevelInfo"; 6 | 7 | import "LevelInfo.proto"; 8 | 9 | message GetLevelInfoResponseData { 10 | repeated LevelInfo level_info = 1; 11 | int32 is_like = 2; 12 | int32 user_level = 3; 13 | string level_name = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/GetMemberInfo/GetMemberInfoRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getMemberInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getMemberInfo"; 6 | 7 | import "GetMemberInfo/GetMemberInfoRequestData.proto"; 8 | 9 | message GetMemberInfoRequest { 10 | GetMemberInfoRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetMemberInfo/GetMemberInfoRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getMemberInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getMemberInfo"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetMemberInfoRequestData { 10 | uint64 forum_id = 1; 11 | CommonRequest common = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetMemberInfo/GetMemberInfoResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getMemberInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getMemberInfo"; 6 | 7 | import "Error.proto"; 8 | import "GetMemberInfo/GetMemberInfoResponseData.proto"; 9 | 10 | message GetMemberInfoResponse { 11 | GetMemberInfoResponseData data = 1; 12 | Error error = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetMemberInfo/ManagerApplyInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getMemberInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getMemberInfo"; 6 | 7 | message ManagerApplyInfo { 8 | int32 manager_left_num = 1; 9 | string manager_apply_url = 2; 10 | int32 assist_left_num = 3; 11 | string assist_apply_url = 4; 12 | int32 manager_apply_status = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetMemberInfo/MemberGodInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getMemberInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getMemberInfo"; 6 | 7 | import "User.proto"; 8 | 9 | message MemberGodInfo { 10 | repeated User forum_god_list = 1; 11 | int32 forum_god_num = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GetUserInfo/GetUserInfoRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getUserInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getUserInfo"; 6 | 7 | import "GetUserInfo/GetUserInfoRequestData.proto"; 8 | 9 | message GetUserInfoRequest { 10 | GetUserInfoRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GetUserInfo/GetUserInfoRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getUserInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getUserInfo"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message GetUserInfoRequestData { 10 | CommonRequest common = 1; 11 | int64 uid = 2; 12 | int32 scr_w = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetUserInfo/GetUserInfoResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getUserInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getUserInfo"; 6 | 7 | import "Error.proto"; 8 | import "GetUserInfo/GetUserInfoResponseData.proto"; 9 | 10 | message GetUserInfoResponse { 11 | Error error = 1; 12 | GetUserInfoResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/GetUserInfo/GetUserInfoResponseData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.getUserInfo; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.getUserInfo"; 6 | 7 | import "User.proto"; 8 | 9 | message GetUserInfoResponseData { 10 | User user = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/GodInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message GodInfo { 8 | int64 id = 1; 9 | string intro = 2; 10 | int32 type = 3; 11 | int64 fid = 4; 12 | int32 followed = 5; 13 | string recommend_reason = 6; 14 | string forum_name = 7; 15 | int32 can_send_msg = 8; 16 | string prefix = 9; 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/protos/GoodsWin.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message GoodsWin { 8 | int32 show = 1; 9 | string goods_url = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/GradePoint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message GradePoint { 8 | string point_name = 1; 9 | int32 point_type = 2; 10 | int32 current_point = 3; 11 | int32 next_point = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/GraffitiRankItem.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message GraffitiRankItem { 8 | int64 gid = 1; 9 | string url = 2; 10 | int64 vote_count = 3; 11 | int32 is_vote = 4; 12 | int64 uid = 5; 13 | string pic_id = 6; 14 | int32 g_type = 7; 15 | string thumb_url = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/GraffitiRankListInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "GraffitiRankItem.proto"; 8 | import "User.proto"; 9 | 10 | message GraffitiRankListInfo { 11 | int32 has_more = 1; 12 | int32 total = 2; 13 | repeated GraffitiRankItem list = 3; 14 | int32 show_list_count = 4; 15 | int32 quick_list_count = 5; 16 | int32 has_state = 6; 17 | int64 tid = 7; 18 | repeated User consent_list = 8; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/protos/GuessLikeThreadInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message GuessLikeThreadInfo { 8 | int64 thread_id = 1; 9 | int64 forum_id = 2; 10 | string forum_name = 3; 11 | int64 reply_num = 4; 12 | string recom_cover = 5; 13 | string recom_reason = 6; 14 | string title = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/HeadItem.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message HeadItem { 8 | string name = 1; 9 | string content = 2; 10 | int32 type = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/High.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message High { 8 | uint64 album_id = 1; 9 | uint64 hid = 2; 10 | uint64 uid = 3; 11 | string pic_url = 4; 12 | uint32 create_time = 5; 13 | uint32 num_zan = 6; 14 | uint32 num_cai = 7; 15 | uint32 weight = 8; 16 | uint32 type = 9; 17 | string portrait = 10; 18 | string user_name = 11; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/protos/Highlist.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "High.proto"; 8 | 9 | message Highlist { 10 | repeated High list = 1; 11 | bool has_more = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/HotPost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "PbContent.proto"; 8 | import "PbPostZan.proto"; 9 | 10 | message HotPost { 11 | uint64 thread_id = 1; 12 | uint64 post_id = 2; 13 | string user_name = 3; 14 | uint64 user_id = 4; 15 | PbPostZan post_zan = 5; 16 | int32 post_num = 6; 17 | repeated PbContent content = 7; 18 | uint32 create_time = 8; 19 | uint32 floor = 9; 20 | string portrait = 10; 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/protos/HotTWThreadInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message HotTWThreadInfo { 10 | repeated User user_list = 1; 11 | uint32 fans_count = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/HotUserRankEntry.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ShortUserInfo.proto"; 8 | 9 | message HotUserRankEntry { 10 | repeated ShortUserInfo hot_user = 1; 11 | string module_name = 2; 12 | string module_icon = 3; 13 | uint32 today_rank = 4; 14 | uint32 yesterday_rank = 5; 15 | bool is_in_rank = 6; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/Icon.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | import "Position.proto"; 4 | import "Terminal.proto"; 5 | 6 | package tieba; 7 | 8 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 9 | 10 | message Icon { 11 | string name = 1; 12 | int32 weight = 2; 13 | string url = 3; 14 | string icon = 4; 15 | int32 value = 5; 16 | Terminal terminal = 6; 17 | Position position = 7; 18 | repeated string sprite_info = 8; 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/protos/IconStampInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message IconStampInfo { 8 | string stamp_title = 1; 9 | string stamp_text = 2; 10 | int32 stamp_type = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/LabelInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LabelInfo { 8 | int32 labelHot = 1; 9 | string labelContent = 2; 10 | string labelId = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/Lbs.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Lbs { 8 | string lat = 1; 9 | string lng = 2; 10 | string name = 3; 11 | string sn = 4; 12 | string distance = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/LbsInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LbsInfo { 8 | string lat = 1; 9 | string lon = 2; 10 | string town = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/LevelInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LevelInfo { 8 | int32 id = 1; 9 | string name = 2; 10 | int32 score = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/LikeForumInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LikeForumInfo { 8 | string forum_name = 1; 9 | uint64 forum_id = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/LinkInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LinkInfo { 8 | string desc = 1; 9 | string link = 2; 10 | string type = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/LiveCoverStatus.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message LiveCoverStatus { 8 | int32 status_num = 1; 9 | string status = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/ManagerApplyInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ManagerApplyInfo { 8 | int32 manager_left_num = 1; 9 | string manager_apply_url = 2; 10 | int32 manager_apply_status = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/ManagerElection.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ManagerElection { 8 | uint32 can_vote = 1; 9 | uint32 vote_num = 2; 10 | uint32 begin_vote_time = 3; 11 | repeated string vote_condition = 5; 12 | string tail_text = 6; 13 | uint32 is_show_distribute = 7; 14 | uint32 remainder_time = 8; 15 | uint32 status = 9; 16 | repeated string vote_condition_title = 10; 17 | repeated string vote_condition_pic = 11; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/Media.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Media { 8 | int32 type = 1; 9 | string bigPic = 3; 10 | string srcPic = 8; 11 | uint32 width = 10; 12 | uint32 height = 11; 13 | string originPic = 15; 14 | uint32 originSize = 16; 15 | int64 postId = 17; 16 | string dynamicPic = 18; 17 | uint32 isLongPic = 19; 18 | uint32 showOriginalBtn = 20; 19 | } -------------------------------------------------------------------------------- /app/src/main/protos/MemberGroupInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "BawuRoleInfoPub.proto"; 8 | 9 | message MemberGroupInfo { 10 | string member_group_type = 1; 11 | int32 member_group_num = 2; 12 | repeated BawuRoleInfoPub member_group_list = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/MemeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message MemeInfo { 8 | uint32 pckId = 1; 9 | uint64 picId = 2; 10 | string picUrl = 3; 11 | string thumbnail = 4; 12 | uint32 width = 5; 13 | uint32 height = 6; 14 | string detailLink = 7; 15 | } -------------------------------------------------------------------------------- /app/src/main/protos/ModuleInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ThreadModule.proto"; 8 | 9 | message ModuleInfo { 10 | repeated ThreadModule module_list = 1; 11 | int32 max_module_num = 2; 12 | int32 max_module_thread_num = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/MultipleForum.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message MultipleForum { 8 | int64 forum_id = 1; 9 | string forum_name = 2; 10 | int32 is_bawu = 3; 11 | string bawu_type = 4; 12 | int32 is_deleted = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/NaGuide.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "RecGuide.proto"; 8 | 9 | message NaGuide { 10 | string dwnl_url = 1; 11 | repeated RecGuide rec_info = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/NewGodInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message NewGodInfo { 8 | int32 status = 1; 9 | uint32 field_id = 2; 10 | string field_name = 3; 11 | uint32 type = 4; 12 | string type_name = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/NoticeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message NoticeInfo { 8 | string notice = 1; 9 | int32 pullCommentFrequence = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/NovelInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message NovelInfo { 8 | int64 novel_id = 1; 9 | string img = 2; 10 | string name = 3; 11 | string author = 4; 12 | string desc = 5; 13 | string discount_price = 6; 14 | int64 percent = 7; 15 | string h5_url = 8; 16 | string is_pay = 9; 17 | int64 chapters = 10; 18 | string member_text = 11; 19 | string member_img = 12; 20 | string buy_url = 13; 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/protos/Page.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Page { 8 | int32 page_size = 1; 9 | int32 offset = 2; 10 | int32 current_page = 3; 11 | int32 total_count = 4; 12 | int32 total_page = 5; 13 | int32 has_more = 6; 14 | int32 has_prev = 7; 15 | int32 cur_good_id = 8; 16 | int32 req_num = 9; 17 | int32 pnum = 10; 18 | int32 tnum = 11; 19 | int32 total_num = 12; 20 | int32 lz_total_floor = 13; 21 | int32 new_total_page = 14; 22 | } -------------------------------------------------------------------------------- /app/src/main/protos/PbFloor/PbFloorRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbFloor; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbFloor"; 6 | 7 | import "PbFloor/PbFloorRequestData.proto"; 8 | 9 | message PbFloorRequest { 10 | PbFloorRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/PbFloor/PbFloorResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbFloor; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbFloor"; 6 | 7 | import "Error.proto"; 8 | import "PbFloor/PbFloorResponseData.proto"; 9 | 10 | message PbFloorResponse { 11 | Error error = 1; 12 | PbFloorResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/PbHotPost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "HotPost.proto"; 8 | import "Post.proto"; 9 | 10 | message PbHotPost { 11 | repeated Post post_list = 1; 12 | int32 need_hot_post = 2; 13 | int32 need_post_zan = 3; 14 | repeated HotPost hot_post_list = 4; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/PbLinkInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PbLinkInfo { 8 | string title = 1; 9 | string to_url = 2; 10 | string pic_url = 3; 11 | string link_from = 4; 12 | string ext_txt = 5; 13 | uint32 sort = 6; 14 | int32 url_type = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/AdParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message AdParam { 8 | optional int32 load_count = 1; 9 | int32 refresh_count = 2; 10 | string yoga_lib_version = 3; 11 | int32 is_req_ad = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/AddPost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message AddPost { 8 | int32 create_time = 1; 9 | string post_id = 2; 10 | int32 already_count = 3; 11 | int32 total_count = 4; 12 | string last_addition_content = 5; 13 | int32 last_addition_time = 6; 14 | string warn_msg = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/AppealInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message AppealInfo { 8 | string source = 1; 9 | string appeal_url = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/BusinessPromotInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | import "SendCardInfo.proto"; 8 | 9 | message BusinessPromotInfo { 10 | int64 is_promot = 1; 11 | int32 is_headlinepost = 2; 12 | int32 is_s_card = 3; 13 | SendCardInfo send_card_info = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/FeedExtInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message FeedExtInfo { 8 | repeated string feed_tab = 1; 9 | repeated string feed_bar = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/FloatingIcon.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | import "PbPage/FloatingIconItem.proto"; 8 | 9 | message FloatingIcon { 10 | FloatingIconItem pbpage = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/ForumHeadlineImgInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message ForumHeadlineImgInfo { 8 | string img_user_name = 1; 9 | string img_url = 2; 10 | int32 rank_num = 3; 11 | int64 img_user_id = 4; 12 | string rank_url = 5; 13 | string rank_up_info = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/GodCard.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message GodCard { 8 | string user_name = 1; 9 | string portrait = 2; 10 | string time_ex = 3; 11 | string text = 4; 12 | string pic_url = 5; 13 | string button_text = 6; 14 | string button_url = 7; 15 | uint32 show_floor = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/GuessLikeStruct.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | import "GuessLikeThreadInfo.proto"; 8 | 9 | message GuessLikeStruct { 10 | string title = 1; 11 | repeated GuessLikeThreadInfo thread_list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/NewsInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message NewsInfo { 8 | string news_link = 1; 9 | string summary = 2; 10 | uint32 position = 3; 11 | uint32 news_type = 4; 12 | string news_icon = 5; 13 | string subtitle = 6; 14 | string button_text = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/PbFollowTip.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message PbFollowTip { 8 | uint32 is_toast_tip = 1; 9 | string tip_text = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/PbPageRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | import "PbPage/PbPageRequestData.proto"; 8 | 9 | message PbPageRequest { 10 | PbPageRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/PbPageResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | import "Error.proto"; 8 | import "PbPage/PbPageResponseData.proto"; 9 | 10 | message PbPageResponse { 11 | Error error = 1; 12 | PbPageResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/PbSortType.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message PbSortType { 8 | int32 sort_type = 1; 9 | string sort_name = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/PostBanner.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message PostBanner { 8 | string banner_pic = 1; 9 | string banner_name = 2; 10 | uint32 banner_position = 3; 11 | uint32 link_type = 4; 12 | string banner_url = 5; 13 | uint32 client_type = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPage/RecommendBook.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.pbPage; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.pbPage"; 6 | 7 | message RecommendBook { 8 | string recommend_text = 1; 9 | string suggest_text = 2; 10 | string suggest_url = 3; 11 | string book_id = 4; 12 | uint32 book_type = 5; 13 | string book_cover = 6; 14 | string book_title = 7; 15 | repeated string book_tips = 8; 16 | string botton_text = 9; 17 | string subscript_icon = 10; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPostZan.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PbPostZan { 8 | int64 zan_num = 1; 9 | int32 has_zan = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPresent.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "PbPresentList.proto"; 8 | 9 | message PbPresent { 10 | uint32 total = 1; 11 | repeated PbPresentList list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/PbPresentList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PbPresentList { 8 | uint32 gift_id = 1; 9 | string gift_name = 2; 10 | string thumbnail_url = 3; 11 | uint32 num = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/PbTopAgreePost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Post.proto"; 8 | 9 | message PbTopAgreePost { 10 | repeated Post post_list = 1; 11 | repeated int64 post_id_list = 3; 12 | string forum_top_list = 4; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/PollOption.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PollOption { 8 | int32 id = 1; 9 | int64 num = 2; 10 | string text = 3; 11 | string image = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/Position.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Position { 8 | int32 frs = 1; 9 | int32 pb = 2; 10 | int32 home = 3; 11 | int32 card = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/PostInfoContent.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Abstract.proto"; 8 | 9 | message PostInfoContent { 10 | repeated Abstract post_content = 1; 11 | uint64 create_time = 2; 12 | uint64 post_type = 3; 13 | uint64 post_id = 4; 14 | int32 is_author_view = 5; 15 | string target_scheme = 7; 16 | } -------------------------------------------------------------------------------- /app/src/main/protos/PostPrefix.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PostPrefix { 8 | int32 mode = 1; 9 | string text = 2; 10 | string type = 3; 11 | string time = 4; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/PriManagerApplyInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PriManagerApplyInfo { 8 | int32 assist_left_num = 1; 9 | string assist_apply_url = 2; 10 | int32 assist_apply_status = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/PrivSets.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PrivSets { 8 | int32 like = 2; 9 | int32 group = 3; 10 | int32 post = 4; 11 | int32 live = 6; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/PrivateForumInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message PrivateForumInfo { 8 | int32 private_forum_status = 1; 9 | int32 private_forum_audit_status = 2; 10 | } -------------------------------------------------------------------------------- /app/src/main/protos/Profile/CommonDistance.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message CommonDistance { 8 | uint32 distance = 1; 9 | uint32 time = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/CommonLocation.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message CommonLocation { 8 | string distance = 1; 9 | int64 time = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/Duxiaoman.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message Duxiaoman { 8 | uint32 total_cash = 1; 9 | uint32 is_end = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/FinanceTab.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | import "Profile/FinanceTabItems.proto"; 8 | 9 | message FinanceTab { 10 | string title = 1; 11 | string general_tab_text = 2; 12 | string general_tab_url = 3; 13 | repeated FinanceTabItems tabs = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/FinanceTabItems.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message FinanceTabItems { 8 | string tab_name = 1; 9 | string tab_url = 2; 10 | string icon_url = 3; 11 | string desc_text = 4; 12 | string tab_bubble = 5; 13 | string tab_type = 6; 14 | string statistic = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/ForumGodDetailInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message ForumGodDetailInfo { 8 | int64 god_id = 1; 9 | int64 user_id = 2; 10 | string intro = 3; 11 | string detail_intro = 4; 12 | int64 forum_id = 5; 13 | string forum_name = 6; 14 | string avatar = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/GodDetailInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message GodDetailInfo { 8 | int64 god_id = 1; 9 | int64 user_id = 2; 10 | string intro = 3; 11 | string detail_intro = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/MemberBlockInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message MemberBlockInfo { 8 | int32 is_permanent_ban = 1; 9 | int32 is_auto_pay = 2; 10 | int32 is_ban = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/Namoaixud.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message Namoaixud { 8 | uint32 total_cash = 1; 9 | uint32 is_end = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/NicknameInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message NicknameInfo { 8 | int32 left_days = 2; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/ProfileRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | import "Profile/ProfileRequestData.proto"; 8 | 9 | message ProfileRequest { 10 | ProfileRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/ProfileResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | import "Error.proto"; 8 | import "Profile/ProfileResponseData.proto"; 9 | 10 | message ProfileResponse { 11 | Error error = 1; 12 | ProfileResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/ReplyList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message ReplyList { 8 | int64 user_id = 1; 9 | int64 friend_id = 2; 10 | string message = 3; 11 | uint32 time = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/UserAgreeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message UserAgreeInfo { 8 | int64 total_agree_num = 1; 9 | int64 normal_agree_num = 2; 10 | int64 user_agree_num = 3; 11 | int64 video_agree_num = 4; 12 | int64 ala_agree_num = 5; 13 | int32 has_user_agree = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/Profile/VipBanner.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.profile; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.profile"; 6 | 7 | message VipBanner { 8 | string title = 1; 9 | string sub_title = 2; 10 | string button_lable = 3; 11 | string bubble = 4; 12 | string url = 5; 13 | string button_url = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/Promotion.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Promotion { 8 | string title = 1; 9 | string sub_title = 2; 10 | string image = 3; 11 | string link = 4; 12 | string link_text = 5; 13 | int64 appear_time = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ProtoCommonResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Error.proto"; 8 | 9 | message ProtoCommonResponse { 10 | Error error = 1; 11 | } -------------------------------------------------------------------------------- /app/src/main/protos/PsRankListItem.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message PsRankListItem { 10 | int64 game_id = 1; 11 | int64 user_id = 2; 12 | int64 score = 3; 13 | User user = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/Quote.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Quote { 8 | int64 post_id = 1; 9 | string user_name = 2; 10 | int64 user_id = 3; 11 | string ip = 4; 12 | string content = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/RankingParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message RankingParam { 8 | int32 rank_type = 1; 9 | int32 rank_code = 2; 10 | string sort_type = 3; 11 | int32 tab_id = 4; 12 | int32 pn = 5; 13 | int32 rn = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/RecGuide.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message RecGuide { 8 | string document = 1; 9 | string url = 2; 10 | string pic = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/RecomTagInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message RecomTagInfo { 8 | int32 id = 1; 9 | string name = 2; 10 | string pic = 3; 11 | string first_class = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/RecomThreadList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ThreadInfo.proto"; 8 | import "User.proto"; 9 | 10 | message RecomThreadList { 11 | repeated User user_list = 1; 12 | repeated ThreadInfo thread_list = 2; 13 | string recommend_date = 3; 14 | int64 current_pv = 4; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/RecomTopicInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "RecomTopicList.proto"; 8 | 9 | message RecomTopicInfo { 10 | string recom_title = 1; 11 | repeated RecomTopicList topic_list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/RecomTopicList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Media.proto"; 8 | 9 | message RecomTopicList { 10 | uint64 topic_id = 1; 11 | string topic_name = 2; 12 | uint32 type = 3; 13 | uint64 discuss_num = 4; 14 | uint32 tag = 5; 15 | string topic_desc = 6; 16 | string topic_pic = 7; 17 | int64 update_time = 8; 18 | string author = 9; 19 | repeated Media media = 10; 20 | int32 is_video_topic = 11; 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/protos/RecommendThread.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message RecommendThread { 8 | uint64 tid = 1; 9 | string title = 2; 10 | uint64 post_num = 3; 11 | repeated string term_list = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/RecommendTopicList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message RecommendTopicList { 8 | uint64 topicId = 1; 9 | string topicName = 2; 10 | uint32 type = 3; 11 | uint64 discussNum = 4; 12 | uint32 tag = 5; 13 | string topicDesc = 6; 14 | string topicPic = 7; 15 | } -------------------------------------------------------------------------------- /app/src/main/protos/ReplyExp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ReplyExp { 8 | string pre_msg = 1; 9 | string color_msg = 2; 10 | string current_level_max_exp = 3; 11 | string current_level = 4; 12 | string old = 5; 13 | string inc = 6; 14 | string question_msg = 7; 15 | string question_exp = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/SdkTopicThread.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SdkTopicThread { 8 | string pic_url = 1; 9 | string title = 2; 10 | uint64 post_num = 3; 11 | uint64 zan_num = 4; 12 | uint64 tid = 5; 13 | int32 need_topic = 6; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/SearchSug/SearchSugRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.searchSug; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.searchSug"; 6 | 7 | import "SearchSug/SearchSugRequestData.proto"; 8 | 9 | message SearchSugRequest { 10 | SearchSugRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/SearchSug/SearchSugRequestData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.searchSug; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.searchSug"; 6 | 7 | import "CommonRequest.proto"; 8 | 9 | message SearchSugRequestData { 10 | CommonRequest common = 1; 11 | string word = 2; 12 | string isforum = 3; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/SearchSug/SearchSugResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.searchSug; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.searchSug"; 6 | 7 | import "Error.proto"; 8 | import "SearchSug/SearchSugResponseData.proto"; 9 | 10 | message SearchSugResponse { 11 | Error error = 1; 12 | SearchSugResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/SendCardInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SendCardInfo { 8 | string card_logo = 1; 9 | string card_name = 2; 10 | string card_pro = 3; 11 | int32 card_get_status = 4; 12 | int64 packet_id = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/ServiceArea.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "SmartApp.proto"; 8 | 9 | message ServiceArea { 10 | string servicename = 1; 11 | string picurl = 2; 12 | string serviceurl = 3; 13 | string version = 4; 14 | string service_type = 5; 15 | SmartApp area_smart_app = 6; 16 | string schema = 7; 17 | repeated string third_statistics_url = 8; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/ShareInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ShareInfo { 8 | string title = 1; 9 | string content = 2; 10 | string url = 3; 11 | string imageurl = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/ShortUserInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ShortUserInfo { 8 | int64 user_id = 1; 9 | string portrait = 2; 10 | string user_name = 3; 11 | int32 gender = 4; 12 | string intro = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/SignatureContent.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SignatureContent { 8 | int32 type = 1; 9 | string text = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/SignatureData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "SignatureContent.proto"; 8 | 9 | message SignatureData { 10 | int32 signature_id = 1; 11 | string fontKeyName = 2; 12 | string fontColor = 3; 13 | repeated SignatureContent content = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/SimpleForum.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SimpleForum { 8 | int64 id = 1; 9 | string name = 2; 10 | string avatar = 4; 11 | int32 memberNum = 12; 12 | int32 postNum = 13; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/SimpleThreadInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "Abstract.proto"; 8 | import "Zan.proto"; 9 | 10 | message SimpleThreadInfo { 11 | uint64 tid = 1; 12 | string title = 2; 13 | int32 reply_num = 3; 14 | int32 last_time_int = 4; 15 | repeated Abstract _abstract = 5; 16 | Zan zan = 6; 17 | uint64 thread_type = 7; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/SimpleUser.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SimpleUser { 8 | int64 user_id = 1; 9 | int32 user_status = 2; 10 | string secureemail = 3; 11 | string securemobil = 4; 12 | string user_name = 5; 13 | string user_nickname = 6; 14 | uint32 incomplete_user = 7; 15 | string portrait = 8; 16 | int32 agree_type = 9; 17 | string ahead_url = 10; 18 | string block_msg = 11; 19 | int32 show_onlyme = 12; 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/protos/SkinInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SkinInfo { 8 | string skin = 1; 9 | string skin_size = 2; 10 | string url = 3; 11 | string obj_id = 4; 12 | string monitor_id = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/SmartApp.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message SmartApp { 8 | string avatar = 1; 9 | string name = 2; 10 | string _abstract = 3; 11 | string pic = 4; 12 | string h5_url = 5; 13 | string id = 6; 14 | string link = 7; 15 | uint64 naws_app_id = 8; 16 | int32 is_recom = 9; 17 | int32 is_game = 10; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/SubPost.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "SubPostList.proto"; 8 | 9 | message SubPost { 10 | uint64 pid = 1; 11 | repeated SubPostList sub_post_list = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/SugLiveInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "AlaLiveInfo.proto"; 8 | 9 | message SugLiveInfo { 10 | string word = 1; 11 | AlaLiveInfo ala_info = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/SugRankingInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "RankingParam.proto"; 8 | 9 | message SugRankingInfo { 10 | string rank_title = 1; 11 | RankingParam rank_param = 2; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/TailInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message TailInfo { 8 | int32 tail_type = 1; 9 | string icon_url = 2; 10 | string icon_link = 3; 11 | string content = 4; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/protos/TbBookrack.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "BookInfo.proto"; 8 | 9 | message TbBookrack { 10 | string booktown = 1; 11 | uint32 num = 2; 12 | repeated BookInfo book_list = 3; 13 | string title = 4; 14 | string icon = 5; 15 | string tip = 6; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/TbInteraction.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message TbInteraction { 8 | string content = 1; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/Terminal.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Terminal { 8 | int32 pc = 1; 9 | int32 wap = 2; 10 | int32 client = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/ThemeColorInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | import "ThemeElement.proto"; 3 | 4 | package tieba; 5 | 6 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 7 | 8 | message ThemeColorInfo { 9 | ThemeElement day = 1; 10 | ThemeElement night = 2; 11 | ThemeElement dark = 3; 12 | } -------------------------------------------------------------------------------- /app/src/main/protos/ThemeElement.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ThemeElement { 8 | string common_color = 1; 9 | string dark_color = 2; 10 | string light_color = 3; 11 | string pattern_image = 4; 12 | string font_color = 5; 13 | } -------------------------------------------------------------------------------- /app/src/main/protos/ThreadEasterEgg.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ShareInfo.proto"; 8 | 9 | message ThreadEasterEgg { 10 | string activity_id = 1; 11 | string video_url = 2; 12 | string pop_text = 3; 13 | string pop_imageurl = 4; 14 | ShareInfo share_info = 5; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/ThreadList/AdParam.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.threadList; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.threadList"; 6 | 7 | message AdParam { 8 | int32 load_count = 1; 9 | int32 refresh_count = 2; 10 | optional string yoga_lib_version = 3; 11 | } -------------------------------------------------------------------------------- /app/src/main/protos/ThreadModule.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ThreadInfo.proto"; 8 | 9 | message ThreadModule { 10 | int64 module_id = 1; 11 | string module_name = 2; 12 | repeated ThreadInfo thread_info = 3; 13 | int64 show_num = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ThreadPicList.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ThreadPicList { 8 | string pic = 1; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/TiebaPlusAd.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message TiebaPlusAd { 8 | string cost_url = 1; 9 | string show_url = 2; 10 | string ad_source = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/Timgs.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Timgs { 8 | string img_url = 1; 9 | string url = 2; 10 | uint32 flag = 3; 11 | string des_main = 4; 12 | string des_sub = 5; 13 | string bsize = 6; 14 | string big_cdn_url = 7; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/Toast.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "ToastContent.proto"; 8 | 9 | message Toast { 10 | int32 icon_type = 1; 11 | repeated ToastContent content = 2; 12 | string url = 3; 13 | string background = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/ToastConfig.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ToastConfig { 8 | string pre_color_msg = 1; 9 | string toast_back_image = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/ToastContent.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message ToastContent { 8 | string text = 1; 9 | int32 has_color = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/TogetherHi.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message TogetherHi { 8 | string album_name = 1; 9 | uint64 album_id = 2; 10 | uint32 start_time = 3; 11 | uint32 end_time = 4; 12 | string location = 5; 13 | uint32 num_signup = 6; 14 | repeated string potraits = 7; 15 | uint32 num_join = 8; 16 | repeated string pic_urls = 9; 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/protos/TwZhiBoAnti.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message TwZhiBoAnti { 8 | int32 can_add_live_post = 1; 9 | int32 can_del_live_post = 2; 10 | int32 can_show_pb_headline = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/UcCard.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "UcCardInfo.proto"; 8 | 9 | message UcCard { 10 | string name = 1; 11 | string icon = 2; 12 | string doc = 3; 13 | string jmp = 4; 14 | repeated UcCardInfo uc_cards = 5; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/protos/UcCardInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UcCardInfo { 8 | string title = 1; 9 | string pic = 2; 10 | string jmp = 3; 11 | string tip = 4; 12 | uint32 st = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/UserDynamic.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message UserDynamic { 10 | repeated User concerned_user_list = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/UserManChannelInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UserManChannelInfo { 8 | uint32 man_channel = 1; 9 | uint32 follow_channel = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/UserMap.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UserMap { 8 | int32 id = 1; 9 | string name = 2; 10 | string url = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/UserPics.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UserPics { 8 | string big = 1; 9 | string small = 2; 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/protos/UserPost/UserPostRequest.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.userPost; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.userPost"; 6 | 7 | import "UserPost/UserPostRequestData.proto"; 8 | 9 | message UserPostRequest { 10 | UserPostRequestData data = 1; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/UserPost/UserPostResponse.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.userPost; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.userPost"; 6 | 7 | import "Error.proto"; 8 | import "UserPost/UserPostResponseData.proto"; 9 | 10 | message UserPostResponse { 11 | Error error = 1; 12 | UserPostResponseData data = 2; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/UserPost/UserPostResponseData.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba.userPost; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos.userPost"; 6 | 7 | import "PostInfoList.proto"; 8 | 9 | message UserPostResponseData { 10 | repeated PostInfoList post_list = 1; 11 | uint32 hide_post = 2; 12 | uint64 time = 3; 13 | uint64 ctime = 4; 14 | uint64 logid = 5; 15 | int32 mask_type = 6; 16 | int32 view_card_num = 7; 17 | int32 reddot_deleted_thread = 8; 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/protos/UserPostPerm.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UserPostPerm { 8 | uint32 not_show_hide_thread = 1; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/protos/UserSessionInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message UserSessionInfo { 8 | string bduss = 1; 9 | string mobile = 2; 10 | string email = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/VcodeExtra.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message VcodeExtra { 8 | string textimg = 1; 9 | string slideimg = 2; 10 | string endpoint = 3; 11 | string successimg = 4; 12 | string slideendpoint = 5; 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/protos/VcodeInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "VcodeExtra.proto"; 8 | 9 | message VcodeInfo { 10 | string vcode_md5 = 1; 11 | string vcode_pic_url = 2; 12 | string vcode_type = 3; 13 | VcodeExtra vcode_extra = 4; 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/protos/VideoInfo.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message VideoInfo { 8 | string videoMD5 = 1; 9 | string videoUrl = 2; 10 | uint32 videoDuration = 3; 11 | uint32 videoWidth = 4; 12 | uint32 videoHeight = 5; 13 | string thumbnailUrl = 6; 14 | uint32 thumbnailWidth = 7; 15 | uint32 thumbnailHeight = 8; 16 | string mediaSubtitle = 11; 17 | } -------------------------------------------------------------------------------- /app/src/main/protos/Voice.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message Voice { 8 | int32 type = 1; 9 | int32 during_time = 2; 10 | string voice_md5 = 3; 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/protos/VoiceRoom.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message VoiceRoom { 10 | int64 room_id = 2; 11 | User author = 4; 12 | repeated User talker = 5; 13 | int64 joined_num = 6; 14 | int64 talker_num = 7; 15 | uint32 status = 8; 16 | string room_name = 9; 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/protos/YyExt.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | message YyExt { 8 | string sid = 1; 9 | string ssid = 2; 10 | string template_id = 3; 11 | string yy_uid = 4; 12 | int32 is_yy_game = 5; 13 | string stream_info = 6; 14 | string rank_show = 7; 15 | string icon_url = 8; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/protos/Zan.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package tieba; 4 | 5 | option java_package = "com.huanchengfly.tieba.post.api.models.protos"; 6 | 7 | import "User.proto"; 8 | 9 | message Zan { 10 | int32 num = 1; 11 | repeated User liker_list = 2; 12 | int32 is_liked = 3; 13 | int32 last_time = 4; 14 | repeated int64 liker_id = 5; 15 | int32 consent_type = 6; 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/anim/anim_fade_in.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/anim/anim_fade_out.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/anim/in_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/anim/out_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/animator/appbar_elevation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/color/tint_checkbox.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_audio.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_popup.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_popup_amoled_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_popup_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_popup_dark_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_popup_dark_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_radius_10dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_radius_10dp_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_radius_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_radius_50dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_top_radius_10dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/drawable_thumb_font_size.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fg_ripple_radius_50dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_new_invert_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/ic_launcher_new_invert_round.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_more_horiz_black_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_oksign.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_outline_collapse_all.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_outline_watch_later_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_outlined_close_circle_24.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_arrow_back.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_check.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_chevron_right.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_forum.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_location_on.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_mode_comment.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_play_circle_filled_18dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_splash.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/ic_splash.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_splash_text.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/ic_splash_text.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon1.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon10.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon10.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon11.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon11.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon12.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon12.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon13.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon13.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon14.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon14.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon15.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon15.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon16.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon16.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon17.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon17.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon18.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon18.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon19.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon19.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon2.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon20.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon20.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon21.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon21.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon22.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon22.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon23.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon23.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon24.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon24.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon25.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon25.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon26.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon26.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon27.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon27.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon28.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon28.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon29.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon29.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon3.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon30.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon30.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon31.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon31.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon32.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon32.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon33.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon33.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon34.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon34.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon35.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon35.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon36.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon36.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon37.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon37.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon38.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon38.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon39.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon39.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon4.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon4.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon40.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon40.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon41.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon41.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon42.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon42.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon43.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon43.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon44.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon44.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon45.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon45.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon46.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon46.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon47.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon47.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon48.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon48.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon49.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon49.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon5.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon5.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon50.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon50.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon6.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon7.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon7.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon8.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon8.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon89.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon89.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/image_emoticon9.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/image_emoticon9.webp -------------------------------------------------------------------------------- /app/src/main/res/drawable/splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/user_header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/drawable/user_header.jpg -------------------------------------------------------------------------------- /app/src/main/res/layout/item_wallpaper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_audio_long_click.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_undoable_edit_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new_invert.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new_invert_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new_themed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_new_themed_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_shortcut_my_collect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_shortcut_my_message.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_shortcut_oksign.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_shortcut_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v31/ic_launcher_new_themed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v31/ic_launcher_new_themed_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new_invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new_invert.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new_invert_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new_invert_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new_themed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new_themed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_new_themed_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_new_themed_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_shortcut_my_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_shortcut_my_collect.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_shortcut_my_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_shortcut_my_message.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_shortcut_oksign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_shortcut_oksign.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-hdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new_invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new_invert.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new_invert_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new_invert_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new_themed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new_themed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_new_themed_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_new_themed_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_shortcut_my_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_shortcut_my_collect.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_shortcut_my_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_shortcut_my_message.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_shortcut_oksign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_shortcut_oksign.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-mdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new_invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new_invert.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new_invert_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new_invert_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new_themed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new_themed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_new_themed_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_new_themed_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_shortcut_my_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_shortcut_my_collect.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_shortcut_my_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_shortcut_my_message.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_shortcut_oksign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_shortcut_oksign.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xhdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new_invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new_invert.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new_invert_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new_invert_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new_themed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new_themed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_new_themed_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_new_themed_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_shortcut_my_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_shortcut_my_collect.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_shortcut_my_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_shortcut_my_message.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_shortcut_oksign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_shortcut_oksign.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxhdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_invert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_invert.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_invert_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_invert_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_themed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_themed.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_themed_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_new_themed_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_shortcut_my_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_my_collect.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_shortcut_my_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_my_message.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_shortcut_oksign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_oksign.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_shortcut_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_search.png -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #333 4 | #000 5 | 6 | #1C2938 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-sw600dp/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/values-v31/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @android:color/system_accent1_600 4 | @android:color/system_accent1_300 5 | @android:color/system_accent1_600 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 0dp 3 | 45dp 4 | 5 | 8dp 6 | 36dp 7 | 8 | 12dp 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_descriptor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/xml/file_paths_share_img.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/test/java/com/huanchengfly/tieba/post/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.huanchengfly.tieba.post; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.assertEquals; 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() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /application.properties: -------------------------------------------------------------------------------- 1 | versionCode=390100 2 | versionName=4.0.0 3 | isPreRelease=true 4 | preReleaseName=beta 5 | preReleaseVer=2 6 | -------------------------------------------------------------------------------- /compose_stability_configuration.txt: -------------------------------------------------------------------------------- 1 | com.huanchengfly.tieba.post.api.models.protos.** -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zzc10086/TiebaLite/ea3f5c29d2bb7cf14d812508af7d704ccc54d82a/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jan 25 14:43:43 CST 2021 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-8.2-all.zip 7 | --------------------------------------------------------------------------------