├── data │ ├── bean 实体类 │ │ ├── BottomBar.java 主页面底部导航栏可配置化对象 │ │ ├── Comment.java 评论对象 │ │ ├── Destination.java 页面路由节点对象 │ │ ├── Feed.java 列表帖子对象 │ │ ├── SofaTab.java 沙发tab可配置化对象 │ │ ├── TagList.java 帖子所属标签对象 │ │ ├── Ugc.java 帖子/评论用户互动数据对象 │ │ └── User.java 用户对象 │ └── repository 数据依赖相关 │ │── DataRepository.java 数据访问实现类 │ ├── ILocalRequest.java 本地访问接口 │ └── IRemoteRequest.java 远程访问接口 ├── domain │ └── request 数据请求 │ │── CommentRequest.java 评论数据请求 │ │── LoginRequest.java 登录请求 │ └── PublishRequest.java 帖子请求 ├── exoplayer 列表视频播放相关 │ ├── IPlayTarget.java 视频播放检测接口 │ ├── PageListPlay.java 播放器和playerView的封装 │ ├── PageListPlayDetector.java 列表视频自动播放检测器 │ └── PageListPlayManager.java 多页面列表视频播放管理 | ├── navigator 页面路由导航器 │ └── FixFragmentNavigator.java 自定义Fragment导航器 ├── ui 业务/UI | | │ ├── binging_adapter 绑定适配器 │ │ ├── AbsBindingAdapter.java 通用抽象类Fragment的绑定适配器 │ │ ├── CaptureBindingAdapter.java CaptureFragment的绑定适配器 │ │ ├── CommonBindingAdapter.java 通用绑定适配器 │ │ ├── ProfileBindingAdapter.java Profile相关绑定适配器 │ │ └── SofaBindingAdapter.java 沙发页绑定适配器 │ │ │ ├── detail │ │ ├── CommentDialog.java 添加评论对话框 │ │ ├── FeedCommentAdapter.java 评论列表适配器 │ │ ├── FeedDetailActivity.java 图文/视频详情宿主页 │ │ ├── FeedDetailViewModel.java 详情页数据加载类 │ │ ├── ViewHandler.java 图文/视频详情页基类 │ │ ├── ImageViewHandler.java 图文详情页真正实现 │ │ ├── VideoViewHandler.java 视频详情页真正实现 │ │ ├── ViewAnchorBehavior.java 视频详情页组件位置可锚点的behavior │ │ └── ViewZoomBehavior.java 视频详情页手势滑动夜宵的behavior │ │ │ ├── find 发现页 │ │ ├── FindFragment.java 发现页面TabFragment │ │ ├── TagFeedListActivity.java 标签详情页 │ │ ├── TagListAdapter.java 标签页适配器 │ │ └── TagListFragment.java 发现页面 │ │ │ ├── home │ │ ├── FeedAdapter.java 首页feeds流列表适配器 │ │ └── HomeFragment.java 首页Fragment | | │ ├── login │ │ ├── LoginActivity.java 登录界面(QQ快捷登录) │ │ └── UserManager.java 全局用户信息管理 │ ├── my 个人界面相关 │ │ ├── MyFragment.java "我的"界面 │ │ ├── ProfileActivity.java 个人详情页 │ │ ├── ProfileListAdapter.java 详情页Adapter │ │ ├── ProfileListFragment.java 个人详情页Fragment │ │ ├── UserBehaviorListActivity.java 收藏列表 │ │ └── UserBehaviorListFragment.java 收藏列表实现Fragment | | │ ├── publish │ │ ├── CaptureActivity.java 视频录制/拍照 │ │ ├── PreviewActivity.java 视频/图片全屏预览 │ │ ├── PublishActivity.java 帖子发布页面 │ │ └── UploadFileWorker.java 文件上传 │ ├── share │ │ └── ShareDialog.java 分享组件对话框 │ ├── sofa │ | └── SofaFragment.java 沙发页面TabFragment │ ├── state ViewModel相关 │ │ ├── CaptureViewModel.java CaptureViewModel │ │ ├── CommentViewModel.java CommentViewModel │ │ ├── FeedDeatilViewModel.java FeedDeatilViewModel │ │ ├── FindViewModel.java FindViewModel │ │ ├── HomeViewModel.java HomeViewModel │ │ ├── LoginViewModel.java LoginViewModel │ │ ├── MyViewModel.java MyViewModel │ │ ├── PreviewViewModel.java PreviewViewModel │ │ ├── ProfileActivityViewModel.java ProfileActivityViewModel │ │ ├── ProfileViewModel.java ProfileViewModel │ │ ├── PublishViewModel.java PublishViewModel │ │ ├── SofaViewModel.java SofaViewModel │ │ ├── TagFeedListViewModel.java TagFeedListViewModel │ │ ├── TagListViewModel.java TagListViewModel │ │ └── UserBehaviorViewModel.java UserBehaviorViewModel │ ├── AbsListFragment.java 列表通用基类 │ ├── AbsViewModel.java ViewModel通用基类 │ ├── InteractionPresenter.java 用户行为互动接口辅助类 │ ├── MutableItemKeyedDataSource.java 通用可变数据源(ItemKeyedDataSource) │ └── MutablePageKeyedDataSource.java 通用可变数据源(PageKeyedDataSource) | ├── utils │ ├── AppConfig.java 通用配置类 │ ├── NavGraphBuilder.java 自定义页面路由结构图 │ ├── StringConvert.java DataBinding数据转换 │ └── TimeUtils.java 时间戳计算工具类 ├── view | ├── AppBottomBar.java 可配置化底部导航栏view | ├── FullScreenPlayerView.java 全屏视频播放 | ├── ListPlayerView.java 列表视频播放 | ├── PPImageView.java 图片加载/展示 | └── RecordView.java 仿微信视频录制按钮 | ├── JokeApplication.java 项目入口 └── MainActivity.java 项目主页面