gitextract_r5thwsnn/ ├── .gitignore ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── example/ │ │ └── c001apk/ │ │ └── compose/ │ │ └── ExampleInstrumentedTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── assets/ │ │ │ └── devicemodel.txt │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ └── c001apk/ │ │ │ └── compose/ │ │ │ ├── C001Application.kt │ │ │ ├── constant/ │ │ │ │ └── Constants.kt │ │ │ ├── di/ │ │ │ │ ├── DataStoreModule.kt │ │ │ │ ├── DatabaseModule.kt │ │ │ │ └── NetworkModule.kt │ │ │ ├── logic/ │ │ │ │ ├── dao/ │ │ │ │ │ ├── HistoryFavoriteDao.kt │ │ │ │ │ ├── HomeMenuDao.kt │ │ │ │ │ ├── RecentAtUserDao.kt │ │ │ │ │ └── StringEntityDao.kt │ │ │ │ ├── database/ │ │ │ │ │ ├── HistoryFavoriteDatabase.kt │ │ │ │ │ ├── HomeMenuDatabase.kt │ │ │ │ │ ├── RecentAtUserDatabase.kt │ │ │ │ │ └── StringEntityDatabase.kt │ │ │ │ ├── datastore/ │ │ │ │ │ ├── UserPreferencesCompat.kt │ │ │ │ │ ├── UserPreferencesDataSource.kt │ │ │ │ │ └── UserPreferencesSerializer.kt │ │ │ │ ├── model/ │ │ │ │ │ ├── AppItem.kt │ │ │ │ │ ├── CheckCountResponse.kt │ │ │ │ │ ├── CheckResponse.kt │ │ │ │ │ ├── CreateFeedResponse.kt │ │ │ │ │ ├── DeviceInfo.kt │ │ │ │ │ ├── FeedAdapter.kt │ │ │ │ │ ├── FeedArticleContentBean.kt │ │ │ │ │ ├── FeedContentResponse.kt │ │ │ │ │ ├── FeedEntity.kt │ │ │ │ │ ├── HomeFeedResponse.kt │ │ │ │ │ ├── HomeMenu.kt │ │ │ │ │ ├── LikeAdapter.kt │ │ │ │ │ ├── LikeResponse.kt │ │ │ │ │ ├── LoadUrlResponse.kt │ │ │ │ │ ├── LoginResponse.kt │ │ │ │ │ ├── MessageListResponse.kt │ │ │ │ │ ├── OSSUploadPrepareModel.kt │ │ │ │ │ ├── OSSUploadPrepareResponse.kt │ │ │ │ │ ├── PostReplyResponse.kt │ │ │ │ │ ├── RecentAtUser.kt │ │ │ │ │ ├── StringEntity.kt │ │ │ │ │ ├── TopicBean.kt │ │ │ │ │ ├── TotalReplyResponse.kt │ │ │ │ │ ├── UpdateCheckItem.kt │ │ │ │ │ └── UpdateCheckResponse.kt │ │ │ │ ├── network/ │ │ │ │ │ └── ApiService.kt │ │ │ │ ├── providable/ │ │ │ │ │ └── LocalUserPreferences.kt │ │ │ │ ├── repository/ │ │ │ │ │ ├── BlackListRepo.kt │ │ │ │ │ ├── HistoryFavoriteRepo.kt │ │ │ │ │ ├── HomeMenuRepo.kt │ │ │ │ │ ├── NetworkRepo.kt │ │ │ │ │ ├── RecentAtUserRepo.kt │ │ │ │ │ ├── RecentEmojiRepo.kt │ │ │ │ │ ├── SearchHistoryRepo.kt │ │ │ │ │ └── UserPreferencesRepository.kt │ │ │ │ └── state/ │ │ │ │ ├── FooterState.kt │ │ │ │ ├── LoadingState.kt │ │ │ │ └── State.kt │ │ │ ├── ui/ │ │ │ │ ├── app/ │ │ │ │ │ ├── AppContentScreen.kt │ │ │ │ │ ├── AppContentViewModel.kt │ │ │ │ │ ├── AppScreen.kt │ │ │ │ │ └── AppViewModel.kt │ │ │ │ ├── appupdate/ │ │ │ │ │ └── AppUpdateScreen.kt │ │ │ │ ├── base/ │ │ │ │ │ ├── BaseViewModel.kt │ │ │ │ │ └── PrefsViewModel.kt │ │ │ │ ├── blacklist/ │ │ │ │ │ ├── BlackListScreen.kt │ │ │ │ │ └── BlackListViewModel.kt │ │ │ │ ├── carousel/ │ │ │ │ │ ├── CarouselContentScreen.kt │ │ │ │ │ ├── CarouselScreen.kt │ │ │ │ │ └── CarouselViewModel.kt │ │ │ │ ├── chat/ │ │ │ │ │ ├── ChatScreen.kt │ │ │ │ │ └── ChatViewModel.kt │ │ │ │ ├── collection/ │ │ │ │ │ ├── CollectionScreen.kt │ │ │ │ │ └── CollectionViewModel.kt │ │ │ │ ├── component/ │ │ │ │ │ ├── ArticleItem.kt │ │ │ │ │ ├── Button.kt │ │ │ │ │ ├── ChatEditText.kt │ │ │ │ │ ├── CoilLoader.kt │ │ │ │ │ ├── CommonScreen.kt │ │ │ │ │ ├── FooterCard.kt │ │ │ │ │ ├── IconText.kt │ │ │ │ │ ├── ImageView.kt │ │ │ │ │ ├── ItemCard.kt │ │ │ │ │ ├── LinkText.kt │ │ │ │ │ ├── NineImageView.kt │ │ │ │ │ ├── Transitions.kt │ │ │ │ │ ├── WebView.kt │ │ │ │ │ ├── cards/ │ │ │ │ │ │ ├── AppCard.kt │ │ │ │ │ │ ├── AppInfoCard.kt │ │ │ │ │ │ ├── AppUpdateCard.kt │ │ │ │ │ │ ├── CardIndicator.kt │ │ │ │ │ │ ├── CarouselCard.kt │ │ │ │ │ │ ├── ChatLeftCard.kt │ │ │ │ │ │ ├── ChatRightCard.kt │ │ │ │ │ │ ├── ChatTimeCard.kt │ │ │ │ │ │ ├── CollectionCard.kt │ │ │ │ │ │ ├── FeedArticleCard.kt │ │ │ │ │ │ ├── FeedCard.kt │ │ │ │ │ │ ├── FeedReplyCard.kt │ │ │ │ │ │ ├── FeedReplySortCard.kt │ │ │ │ │ │ ├── HistoryCard.kt │ │ │ │ │ │ ├── IconLinkGridCard.kt │ │ │ │ │ │ ├── IconMiniGridCard.kt │ │ │ │ │ │ ├── IconMiniScrollCard.kt │ │ │ │ │ │ ├── IconScrollCard.kt │ │ │ │ │ │ ├── ImageSquareScrollCard.kt │ │ │ │ │ │ ├── ImageTextScrollCard.kt │ │ │ │ │ │ ├── LoadingCard.kt │ │ │ │ │ │ ├── MessageCard.kt │ │ │ │ │ │ ├── MessageFFFCard.kt │ │ │ │ │ │ ├── MessageHeaderCard.kt │ │ │ │ │ │ ├── MessageListCard.kt │ │ │ │ │ │ ├── MessageWidgetCard.kt │ │ │ │ │ │ ├── NotificationCard.kt │ │ │ │ │ │ ├── SearchHistoryCard.kt │ │ │ │ │ │ ├── TextCard.kt │ │ │ │ │ │ ├── TitleCard.kt │ │ │ │ │ │ └── UserInfoCard.kt │ │ │ │ │ ├── icons/ │ │ │ │ │ │ └── Swatch.kt │ │ │ │ │ └── settings/ │ │ │ │ │ ├── BasicListItem.kt │ │ │ │ │ ├── DropdownListItem.kt │ │ │ │ │ ├── StateBasicListItem.kt │ │ │ │ │ ├── StateDropdownListItem.kt │ │ │ │ │ └── SwitchListItem.kt │ │ │ │ ├── coolpic/ │ │ │ │ │ ├── CoolPicContentScreen.kt │ │ │ │ │ ├── CoolPicContentViewModel.kt │ │ │ │ │ └── CoolPicScreen.kt │ │ │ │ ├── dyh/ │ │ │ │ │ ├── DyhContentScreen.kt │ │ │ │ │ ├── DyhContentViewModel.kt │ │ │ │ │ └── DyhScreen.kt │ │ │ │ ├── feed/ │ │ │ │ │ ├── FeedScreen.kt │ │ │ │ │ ├── FeedViewModel.kt │ │ │ │ │ └── reply/ │ │ │ │ │ ├── ReplyActivity.kt │ │ │ │ │ ├── ReplyViewModel.kt │ │ │ │ │ └── emoji/ │ │ │ │ │ ├── EmojiChildPagerAdapter.kt │ │ │ │ │ ├── EmojiGridAdapter.kt │ │ │ │ │ └── EmojiPagerAdapter.kt │ │ │ │ ├── ffflist/ │ │ │ │ │ ├── FFFContentScreen.kt │ │ │ │ │ ├── FFFContentViewModel.kt │ │ │ │ │ └── FFFListScreen.kt │ │ │ │ ├── history/ │ │ │ │ │ ├── HistoryScreen.kt │ │ │ │ │ └── HistoryViewModel.kt │ │ │ │ ├── home/ │ │ │ │ │ ├── HomeScreen.kt │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── AppListScreen.kt │ │ │ │ │ │ └── AppListViewModel.kt │ │ │ │ │ ├── feed/ │ │ │ │ │ │ ├── HomeFeedScreen.kt │ │ │ │ │ │ └── HomeFeedViewModel.kt │ │ │ │ │ └── topic/ │ │ │ │ │ ├── HomeTopicScreen.kt │ │ │ │ │ └── HomeTopicViewModel.kt │ │ │ │ ├── login/ │ │ │ │ │ ├── LoginScreen.kt │ │ │ │ │ └── LoginViewModel.kt │ │ │ │ ├── main/ │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── MainNavigation.kt │ │ │ │ │ ├── MainScreen.kt │ │ │ │ │ ├── MainViewModel.kt │ │ │ │ │ └── Router.kt │ │ │ │ ├── message/ │ │ │ │ │ ├── MessageScreen.kt │ │ │ │ │ └── MessageViewModel.kt │ │ │ │ ├── notification/ │ │ │ │ │ ├── NoticeScreen.kt │ │ │ │ │ └── NoticeViewModel.kt │ │ │ │ ├── others/ │ │ │ │ │ └── CopyTextScreen.kt │ │ │ │ ├── search/ │ │ │ │ │ ├── SearchContentScreen.kt │ │ │ │ │ ├── SearchContentViewModel.kt │ │ │ │ │ ├── SearchResultScreen.kt │ │ │ │ │ ├── SearchScreen.kt │ │ │ │ │ └── SearchViewModel.kt │ │ │ │ ├── settings/ │ │ │ │ │ ├── AboutScreen.kt │ │ │ │ │ ├── LicenseScreen.kt │ │ │ │ │ ├── ParamsScreen.kt │ │ │ │ │ ├── SettingsScreen.kt │ │ │ │ │ └── SettingsViewModel.kt │ │ │ │ ├── theme/ │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Theme.kt │ │ │ │ │ └── Type.kt │ │ │ │ ├── topic/ │ │ │ │ │ ├── TopicContentScreen.kt │ │ │ │ │ ├── TopicContentViewModel.kt │ │ │ │ │ ├── TopicScreen.kt │ │ │ │ │ └── TopicViewModel.kt │ │ │ │ ├── user/ │ │ │ │ │ ├── UserScreen.kt │ │ │ │ │ └── UserViewModel.kt │ │ │ │ └── webview/ │ │ │ │ ├── WebViewScreen.kt │ │ │ │ └── WebViewViewModel.kt │ │ │ ├── util/ │ │ │ │ ├── AddCookiesInterceptor.kt │ │ │ │ ├── Base64Utils.kt │ │ │ │ ├── CacheDataManager.kt │ │ │ │ ├── CommentHelper.kt │ │ │ │ ├── CookieUtil.kt │ │ │ │ ├── DateUtils.kt │ │ │ │ ├── EmojiUtils.kt │ │ │ │ ├── Extensions.kt │ │ │ │ ├── ImageDownloadUtil.kt │ │ │ │ ├── ImageShowUtil.kt │ │ │ │ ├── LoginCookiesInterceptor.kt │ │ │ │ ├── NetWorkUtil.kt │ │ │ │ ├── OSSUtil.kt │ │ │ │ ├── OssUploadUtil.kt │ │ │ │ ├── SpannableStringBuilderUtil.kt │ │ │ │ ├── TokenDeviceUtils.kt │ │ │ │ └── Utils.kt │ │ │ └── view/ │ │ │ ├── BadgeDrawable.kt │ │ │ ├── BadgedImageView.kt │ │ │ ├── CenteredImageSpan.kt │ │ │ ├── CircleIndexIndicator.kt │ │ │ ├── CircleIndicator.kt │ │ │ ├── LinkTextView.kt │ │ │ ├── MyURLSpan.kt │ │ │ ├── NestedScrollableHost.kt │ │ │ ├── NineGridImageView.kt │ │ │ ├── RoundedImageView.kt │ │ │ ├── SmoothInputLayout.kt │ │ │ └── circleindicator/ │ │ │ ├── BaseCircleIndicator.kt │ │ │ ├── CircleIndicator3.kt │ │ │ └── Config.kt │ │ ├── proto/ │ │ │ └── UserPreferences.proto │ │ └── res/ │ │ ├── anim/ │ │ │ ├── anim_bottom_sheet_slide_down.xml │ │ │ ├── anim_bottom_sheet_slide_up.xml │ │ │ ├── indicator_animator.xml │ │ │ ├── indicator_animator_reverse.xml │ │ │ └── scale_with_alpha.xml │ │ ├── color/ │ │ │ └── image_stroke.xml │ │ ├── drawable/ │ │ │ ├── ic_author.xml │ │ │ ├── ic_feed_top.xml │ │ │ ├── ic_launcher_foreground.xml │ │ │ ├── ic_photo.xml │ │ │ ├── ic_subauthor.xml │ │ │ ├── outline_alternate_email_24.xml │ │ │ ├── outline_backspace_24.xml │ │ │ ├── outline_emoji_emotions_24.xml │ │ │ ├── outline_image_24.xml │ │ │ ├── outline_keyboard_hide_24.xml │ │ │ ├── outline_keyboard_show_24.xml │ │ │ ├── outline_note_alt_24.xml │ │ │ ├── outline_tag_24.xml │ │ │ ├── round_corners_12.xml │ │ │ ├── selector_bg_12_trans.xml │ │ │ ├── selector_bg_trans.xml │ │ │ ├── selector_emoji.xml │ │ │ ├── selector_emoji_indicator.xml │ │ │ ├── selector_emoji_indicator_selected.xml │ │ │ ├── selector_reply.xml │ │ │ ├── shape_oval_primary.xml │ │ │ └── white_radius.xml │ │ ├── layout/ │ │ │ ├── activity_reply.xml │ │ │ ├── dialog_refresh.xml │ │ │ ├── item_captcha.xml │ │ │ ├── item_emoji.xml │ │ │ └── item_emoji_child_viewpager.xml │ │ ├── layout-land/ │ │ │ └── activity_reply.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── values/ │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── values-night/ │ │ │ └── colors.xml │ │ ├── values-night-v31/ │ │ │ └── colors.xml │ │ ├── values-v31/ │ │ │ └── colors.xml │ │ └── xml/ │ │ ├── backup_rules.xml │ │ ├── data_extraction_rules.xml │ │ └── file_provider_paths.xml │ └── test/ │ └── java/ │ └── com/ │ └── example/ │ └── c001apk/ │ └── compose/ │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── gradle/ │ ├── libs.versions.toml │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── renovate.json └── settings.gradle.kts