Skip to content

fix(oobe): stabilize onboarding transitions - #1651

Open
badnng wants to merge 2 commits into
ReChronoRain:mainfrom
badnng:Fix/OOBE引导过程相关问题修复

Hidden character warning

The head ref may contain hidden characters: "Fix/OOBE\u5f15\u5bfc\u8fc7\u7a0b\u76f8\u5173\u95ee\u9898\u4fee\u590d"
Open

fix(oobe): stabilize onboarding transitions#1651
badnng wants to merge 2 commits into
ReChronoRain:mainfrom
badnng:Fix/OOBE引导过程相关问题修复

Conversation

@badnng

@badnng badnng commented Jul 13, 2026

Copy link
Copy Markdown

修改内容

  • 统一 OOBE 详情页前进/返回的 Activity 转场与导航提交状态,拦截快速连点,避免状态机与实际页面不同步。
  • 完善欢迎页进入权限页的异步截图交接,增加超时降级、重复回调保护及 Bitmap 回收。
  • 修复权限页快速继续、连续返回时短暂跳回欢迎页以及箭头状态丢失的问题。
  • 首次启动时在 OOBE 下层预加载 Home;完成页等待 Home 就绪后再允许进入,并复用已加载主页播放淡入/下沉动画,避免白屏。
  • 完成页启动主页失败时恢复完成状态并重新启用按钮,避免停留在不可恢复状态。
  • 普通首次 OOBE 在欢迎页返回时将任务移至后台;Debug OOBE 返回时正常关闭并回到 Home。
  • OOBE Activity 关闭预测性返回回调,保持自定义返回动画一致。

根因

OOBE 状态机推进、欢迎页异步截图和 Activity 启动原先分别执行。快速操作时,状态已经前进但目标页面尚未启动,后续 result/back 又会再次修改状态,导致跳屏和返回动画丢失。完成阶段原先清理任务栈并重新创建主页,也会产生白屏和不连续的进入动画。

状态与任务栈

  • 未新增或修改 SharedPreferences key。
  • 正常 OOBE 仍只在完成页写入 is_provisioned 与 Hook 门控;Debug OOBE 不写真实完成状态。
  • 首次启动的 Home 作为 OOBE 下层页面提前布局;完成后使用 CLEAR_TOP | SINGLE_TOP 复用该实例。
  • 主页启动失败时回滚完成标志,不修改 Log 服务。

验证

  • ./gradlew :app:assembleDebug
  • git diff --check
  • 清数据后的完整真机 OOBE 回归矩阵未在本次提交阶段重新执行
  • 平板横屏、RTL、旋转和进程回收场景未验证

@codacy-production

codacy-production Bot commented Jul 13, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 64 complexity

Metric Results
Complexity 64

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@badnng

badnng commented Jul 13, 2026

Copy link
Copy Markdown
Author

主要改动:
1.优化oobe的动画效果和部分操作问题
2.开发者选项内点开的oobe完成之后回到首页

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant