Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复在 Android Q 上的界面问题,新增 Firebase 服务 #85

Merged
merged 42 commits into from
Oct 28, 2024

Conversation

ArcticFoxPro
Copy link
Collaborator

@ArcticFoxPro ArcticFoxPro commented Oct 28, 2024

这个 PR 解决了什么问题?

请补充以下信息

需求背景

  1. QVT 1.4.0 在 Android Q 上存在找不到 Material 动态配色导致软件报错的 Bug(刷新后提示软件出错 #84
  2. QVT 1.4.0 在 Android Q 上存在 Material Bottom App Bar 与系统导航栏重叠的 Bug

更新日志

用户协议变更

修复

  • 修复:Android Q 上找不到 Material 动态配色导致软件报错的 Bug(刷新后提示软件出错 #84
  • 修复:Android Q 上存在 Material Bottom App Bar 与系统导航栏重叠的 Bug
  • 修复:某些情况下,猜版对话框小版本号被预填写“-1”的 Bug

新增

  • 新增:Firebase 实验性功能。在实验性功能中初始化 Firebase 服务后,可在设置中打开通过 Firebase 云消息传递的版本列表更新提醒
    • 初始化 Firebase 服务后,将立即在本地由 Firebase SDK 生成注册令牌,并将标识符和配置数据上传到 Firebase 服务器。此操作一经启用即无法撤销。

优化

  • 优化:部分长列表弹窗新增滚动条

其它更改

  • 2024 年 10 月 17 日,九七公司「通知中心」微信小程序改名为「通知侠」重新上线,但因内容安全为由去掉了 GitHub Releases 更新订阅。故去掉自述文档和关于界面中的“通知中心”。
  • 关于界面新增个人信息第三方共享清单入口
  • 关于界面新增特别感谢 @Hill-98
  • 自述文档的细微更改与信息补充
  • 仓库文档新增个人信息第三方共享清单

上游更改

  • 新增:Firebase Android 物料清单(com.google.firebase:firebase-bom)33.5.1
  • 新增:Firebase Cloud Messaging(com.google.firebase:firebase-messaging
  • 新增:Google Analytics(com.google.firebase:firebase-analytics
  • 新增:Google Play services Gradle Plugin(com.google.gms:google-services)4.4.2
  • 新增:AndroidFastScroll(me.zhanghai.android.fastscroll:library)1.3.0
  • 新增:Secrets Gradle Plugin for Android(com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin)2.0.1
  • 新增:Jetpack Activity KTX(androidx.activity:activity-ktx)1.9.3
  • 新增:Kotlin Coroutines on Android(org.jetbrains.kotlinx:kotlinx-coroutines-android)1.9.0
  • 新增:Jetpack Browser(androidx.browser:browser)1.8.0
  • 更新:Kotlin 更新至 2.0.21
  • 更新:Android Gradle Plugin 更新至 8.7.1
  • 更新:Material Composnents for Android(com.google.android.material:material)更新至 1.13.0-alpha07
  • 更新:Kotlin Serialization(org.jetbrains.kotlinx:kotlinx-serialization-json)更新至 2.0.21

已知 Bug

自检清单

请确认下列所有选项并打勾

  • 此 PR 已实现我的所有预期更改,可以被合并。
  • 我确认此 PR 全部代码仅由本人(或联合作者)编写,代码所有权归本人(或联合作者)所有。
  • 此 PR 更新日志已提供(或无须提供)。
  • Readme 文档无须补充(或已补充)。

请确认下列选项并打勾。如不认可选项内容或存在需备注内容,请在选项旁随附补充说明。

  • 我认可并确认我贡献的代码将以 GNU Affero General Public License Version 3 开源许可进行发行。
  • (单项选择)若后续项目决定更改开源许可:
    • 请通知我并等待我的决定
    • 无需通知,我授权项目所有者自行决定我的贡献的开源许可变更。
    • 其他,请补充说明:_______

ArcticFoxPro and others added 30 commits September 29, 2024 17:57
- 将 Android Gradle 插件版本更新到8.7.0
- 更新 gradle-wrapper.properties 中的 Gradle 分发版本到 8.10.2
- 调整资源文件中的平台名称,从 "Shiply 分发平台" 更改为 "Shiply 容器与发布平台"
- 修复部分资源文件中的英文术语描述
- 在 app 模块的 build.gradle.kts 中添加 secrets-gradle-plugin 插件
- 在项目级 build.gradle.kts 中添加 secrets-gradle-plugin 依赖
- 更新 README.md,添加 Secrets Gradle 插件的引用
在 CodeQL 和 Push CI 工作流程中,添加了一个新的步骤来创建一个空的 local.properties 文件。这是为了确保在没有现有 local.properties 文件时,构建过程不会失败。
- 在 AndroidManifest.xml 中添加通知权限和 FCM服务
- 更新 build.gradle 文件以包含 Firebase 依赖项
- 添加 FirebaseMessagingService 类以处理 FCM 消息
- 在 MainActivity 中集成 FCM 功能,包括订阅主题、发送通知等
- 添加必要的 XML 图标和布局文件
- 更新 README 和个人信息第三方共享清单以反映 Firebase 集成
在 showGuessVersionDialog函数中添加了 @SuppressLint("SetTextI18n") 注解,以忽略关于国际化(I18n)的警告。这是因为在该函数中使用了 setText 方法直接设置含有中文字符的字符串,可能会引发 Android 的 I18n检查机制的警告。添加此注解可以抑制这类警告,但需要注意的是,这并不意味着完全符合国际化标准,可能需要后续进行更全面的国际化处理。
- 在 dialogError函数中添加前往系统设置的选项,用于处理通知权限问题
- 在 MainActivity 中增加 Firebase 服务初始化的提示文本
- 向资源文件中添加新的字符串资源,支持多语言
- 在 GitHub Actions 中添加插入 google-services.json 的步骤,支持 Firebase 功能
在CodeQL和PushCI工作流中,修改插入google-services.json文件的内容时增加-n选项,确保文件内容正确写入,避免额外的空行或空格导致的错误。
使用`cat<<EOF`方式代替`echo`命令,确保`google-services.json`文件内容正确插入且格式保持一致。同时指定使用bash shell执行该命令。
- 在 .gitignore 中添加 app/google-services.json,防止敏感信息泄露
- 更新 GitHub Actions CodeQL 分析工作流,仅在特定仓库中运行
- 在 .gitignore 中添加 app/google-services.json,防止敏感信息泄露
- 更新 GitHub Actions CodeQL 分析工作流,仅在特定仓库中运行
-2024 年 10 月 17 日,「通知中心」微信小程序改名为「通知侠」重新上线
- 因内容安全问题,去掉了 GitHub Releases 更新订阅
- 更新了相关文档页面,说明当前情况
- 移除了关于页面中对九七通知中心的提及,因内容安全问题已停止使用
- 注释了与九七通知中心相关的代码部分
- 添加了对 Firebase 云消息传递订阅和退订 API 问题的注释
…e.android.material:material 依赖从 1.13.0-alpha06 升级到 1.13.0-alpha07

- 修改 Dependabot 更新频率从每月一次改为每天一次
Bumps the action-dependencies group with 1 update: [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `actions/upload-artifact` from 4.4.0 to 4.4.3
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v4.4.0...v4.4.3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: action-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump the maven-dependencies group with 3 updates

Bumps the maven-dependencies group with 3 updates: androidx.core:core-splashscreen, [org.jetbrains.kotlinx:kotlinx-coroutines-android](https://github.com/Kotlin/kotlinx.coroutines) and [plugin.serialization](https://github.com/JetBrains/kotlin).


Updates `androidx.core:core-splashscreen` from 1.1.0-rc01 to 1.2.0-alpha02

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-android` from 1.8.1 to 1.9.0
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.8.1...1.9.0)

Updates `plugin.serialization` from 2.0.20 to 2.0.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.0.20...v2.0.21)

---
updated-dependencies:
- dependency-name: androidx.core:core-splashscreen
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven-dependencies
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-android
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: maven-dependencies
- dependency-name: plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: maven-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update build.gradle.kts

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 有鲫雪狐 <[email protected]>
- 将 Gradle 和 GitHub Actions 的依赖更新频率从每日改为每月
- 完善 FirebaseMessagingService 中的通知功能:
  -指定通知点击后跳转到 MainActivity
  - 优化代码格式
- 移除了未使用的导入
-简化了 PendingIntent 的创建方式- 更新了通知跳转的 Intent 实现
…gIntent 和 Intent 相关代码

- 将 setContentIntent 设置为 null,移除了点击通知后的跳转功能
- 在 build.gradle.kts 中启用 Compose
- 添加 Compose 相关的依赖库
- 更新 firebase 和 coroutines 依赖
- 修改 dependabot.yml,将更新频率改为每日
- 将 Compose 版本从 2024.09.00 升级到 2024.10.00- 修改 Dependabot 配置,将检查频率从每日改为每月
- 在 codeql.yml 文件中添加了对 commit 消息的判断
- 只有当 commit 消息不以 '[skip ci]' 开头时才执行代码分析
- 这样可以避免不必要的 CI 流程运行,提高工作效率
- 将触发条件从提交消息检查改为检查事件类型- 只在非 pull request事件时触发分析
- 适用于 'klxiaoniu/QQVersionList' 和 'ArcticFoxPro/QQVersionList' 仓库
- 移除 Compose 相关依赖的具体版本号,使用 BOM 管理版本
- 添加 Kotlin Compose 插件
- 删除了 build.gradle.kts 中的 Compose 插件和相关依赖- 移除了 buildFeatures 中的 compose 配置项
- 删除了与 Compose 相关的所有实现和测试依赖
- 在 QQVersionListFragment 和 TIMVersionListFragment 中集成 FastScroller
- 添加 AndroidFastScroll依赖并更新 README.md
-优化版本列表的布局和适配
- 修改了多个布局文件中的滚动条类型和样式
- 调整了部分布局文件的内边距
- 移除了 QQVersionListFragment 和 TIMVersionListFragment 中的 FastScrollerBuilder 设置
- 在 MainActivity 中为 UserAgreement 和 ExpBackDialog 添加了 FastScrollerBuilder 设置
- 调整 BottomAppBar 的布局和锚点
- 优化系统栏颜色设置
- 移除冗余的 SDK 版本判断
- 更新依赖版本:
  - material: 1.13.0-alpha07
  - firebase-bom: 33.5.1
  - okhttp:4.12.0 - gson: 2.11.0
  - paris:2.0.2
  - maven-artifact: 3.9.9
  - secrets-gradle-plugin: 2.0.1
  - google-services: 4.4.2
- 在说明中增加了"实现云端消息推送"的描述,明确了第三方 SDK 的用途
- 优化了语言表达,使说明更加清晰易懂
…build.gradle.kts 中使用 alias(libs.plugins.android.application) 替代直接引用插件版本

- 在 gradle/libs.versions.toml 中添加 androidGradlePlugin 版本定义
- 更新 MainActivity.kt 中的特别感谢名单,添加钟路帆
- 在关于对话框中添加个人信息第三方共享清单按钮
- 更新用户协议版本号和日期
- 在用户协议中添加 Firebase 服务相关说明
- 更新多语言字符串资源
- 添加浏览器组件依赖
- 在多个语言版本的 strings.xml 文件中,修正了 enablingFirebaseServiceWarning 字符串- 统一了文本格式,确保在不同语言版本中保持一致
- 优化了中文版本的警告信息,使其更加清晰准确
在 README.md 文件中的开源项目鸣谢列表中添加了 Kotlin Coroutines on Android项目,
并指明其许可证为 Apache License Version 2.0。
@klxiaoniu klxiaoniu merged commit 172cb06 into klxiaoniu:master Oct 28, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants