一、重磅更新:
- 适配到 Android 16
- 适配 Android RTL 特性
- AOP 插件兼容高版本 Gradle
- 升级到 Gradle 版本到 9.2.1
- 适配 Gradle Version Catalogs 特性
- 更新所有第三方远程依赖库的版本
- 对项目通用和代码资源进行抽取和分类
- 将友盟分享 QQ 和微信的依赖替换成本地仓库
- 剔除 Android 12 SplashScreen 特性自带的图标显示
- 处理 QQ SDK 和 OkHttp 5.3 会出现编译失败的问题
二、新增方面:
- 新增集成 OkHttp 抓包工具
- 新增集成 Gradle 图标插件
- 新增用户协议和隐私政策弹窗
- 新增获取进程名称和判断主进程的方法
- 新增支持在 WebView 的界面上面支持全屏播放视频
- 新增支持在 WebView 的界面上申请摄像头或者相机权限
- 新增监听网页控制台打印的日志并同步打印到 Logcat 中
- 新增 FragmentPagerAdapter 支持删除 Fragment
- 新增 BaseFragment.onFragmentPause 回调方法
- 新增 BaseFragment.onActivityPause 回调方法
- 新增 CountdownView 支持判断当前是否处于倒计时
- 新增 DialogManager 类以便支持设置弹窗显示的优先级
- 新增 BaseViewHolder 的 onAttached、onDetached、onRecycled 方法
- 新增 MessageDialog 对话框文本高度限制并且设置支持滚动
- 新增支持 ActivityManager 类存取 Activity 是有序的
- 新增 BasePopupWindow 类支持 Lifecycle 特性
- 新增在 BrowserViewClient、BrowserChromeClient 回调中打印日志(方便追踪问题)
- 新增细化 WebViewClient.onReceivedSslError 方法中的错误提示
三、优化方面:
- 优化项目混淆规则
- 优化友盟回调逻辑
- 优化项目 Gradle 下载速度
- 优化项目代码写法及代码逻辑
- 优化单选和多选对话框监听器
- 优化 Activity 动画效果设置方式
- 优化 PlayView 播放出错回调处理
- 优化 PasswordEditText 输入类型
- 优化 MenuDialog 最大高度限制
- 优化关于我们界面的富文本显示的写法
- 优化 PlayerView 省电策略(播放状态不息屏,反之会息屏)
- 优化网络安全策略 使得支持抓包软件在 debug 模式直接进行抓包
- 优化选择图片和选择视频页面的 onRestart 方法执行性能
- 优化在非主进程下的 Application 初始化的耗时时间
- 优化 HandlerAction removeCallbacks 方法调用时机
- 优化封装微信回调 WXEntryActivity 类的清单文件配置方式
- 优化在 BrowserActivity 首次加载出现拒绝 SSL 异常时点击返回没有回退界面的问题
- 优化 WebView 在重定向时会调用多次 onPageFinished 方法的问题
- 优化 Android 8.0 透明主题会导致固定方向 Activity 崩溃的问题
四、修复方面:
- 修复 WrapRecyclerView 位置不正确的问题
- 修复 PasswordEditText 能够输入中文的问题
- 修复图片选择功能没有过滤掉破损的图片的问题
- 修复网页底部有输入框会被系统输入法遮挡的问题
- 修复视频播放界面的调节亮度功能在小米手机上异常的问题
- 修复 GridSpaceDecoration 分割线间距计算不正确的问题
- 修复 TabAdapter 在 Tab 过多的情况下选中 Tab 没有自动滚动的问题
- 修复日期选择器无法选中当年的最后一天的日期的问题
- 修复 HttpListData.isLastPage 方法可能会出现除 0 异常的问题
- 修复 AddressDialog 类因为 ViewPager2 高灵敏度导致错判滑动方向
- 修复 BaseDialog 和 BasePopupWindow 调用多次 postDelayed 只执行一次的问题
- 修复在最新版本的 AndroidX 上面复用 BaseDialog 或 BasePopupWindow 对象会出现崩溃的问题
五、更新方面:
- 更新省市区 Json 文件
- 更新项目 loading 的 lottie 动画资源
- 更新 smallestWidth 限定符适配资源
- 关闭上拉刷新下拉加载框架的彩蛋
- 统一登录密码输入的最大长度
- 修改查看大图界面的 ViewPager 换成 ViewPager2
- 将权限拦截器从全局设置修改成局部设置
六、删除方面:
- 删除权限 AOP 注解
- 删除 PhotoViewPager 类
- 删除 RecyclerPagerAdapter 类
- 删除 RatioFrameLayout 自定义控件
- 删除 BaseFragment.getContext 方法