Releases: Mangi-11/SmartisanWeather-Revived
Releases · Mangi-11/SmartisanWeather-Revived
Release list
v0.3.0
现代化重写
本版本使用 GPT-6 Astra 完成了锤子天气 UI 从 XML / Kotlin View 到 Jetpack Compose 的全量迁移与现代化重写。迁移覆盖主天气、城市搜索、城市管理、天气预警、首次说明、应用内弹窗和桌面小组件配置页。
Compose 使用声明式 Kotlin API 描述界面,减少了 XML 布局与 View 控件之间的样板衔接,让 UI 状态管理、组件复用和后续交互迭代更加直接。
迁移过程中保留原版视觉资源与核心交互,并完善了定位权限、定位刷新及现代 Android 系统适配。
主要更新
Jetpack Compose
- 全部应用页面使用 Compose 重新实现,保留多 Activity 页面结构。
- 使用 Compose Foundation、Canvas 和自定义 Smartisan 组件呈现标题栏、天气卡片、列表、弹窗及温度动画。
- 保留原版 PNG、NinePatch、按压反馈和日夜资源。
- 移除旧页面布局 XML、View 控件、Adapter 及冗余映射代码,清理 312 个未使用资源。
功能与交互
- 保留城市滑动切换、边界阻尼、温度滚动、摄氏/华氏切换及天气背景过渡。
- 保留城市拖拽排序、浮层阴影、边缘滚动、取消恢复和确认保存。
- 保留城市搜索的弹性滚动、回弹和按压反馈。
- 修复统一弹窗在 Compose 迁移后圆角裁剪不一致的问题。
- 修复深色天气卡片底部黑边。
定位与刷新
- 修复无法申请精确定位权限的问题,同时支持大致位置授权。
- 完善定位权限说明、精度提升和系统定位服务提示。
- 优化多定位来源的并发获取与结果筛选,减少过期位置对刷新结果的影响。
- 修复重新定位到同一城市时天气未及时刷新的问题。
- 完善返回前台后的定位更新,以及定位失败时的天气刷新处理。
系统与工程
- 统一系统导航栏沉浸显示,完善系统栏、刘海与输入法避让。
- 大窗口下背景铺满窗口,天气内容保持最大 480dp 居中显示。
- 使用生命周期感知的状态收集与协程任务管理,完善后台取消和前台恢复。
- 更新 Android 构建工具链与 Compose 依赖。
完整变更:v0.2.0...v0.3.0
v0.2.0
天黑以后,天气也应该有自己的样子
原版 Smartisan OS 没有等来系统级深色模式。
所以这一次,我们没有把白色简单地换成黑色,也没有把原版界面交给系统强制反色。我们重新处理了每一种天气背景、每一层文字、每一张卡片、每一个按钮,以及它们在按下时应有的样子。
除此之外,我们还把天气放到了桌面上,把城市扩展到了全世界,并且让整个应用少做了许多没有必要做的事。
本次版本新增主要功能 3 项,重点优化性能、耗电与安装包构建,优化视觉细节若干。
主要更新
深色模式
- 新增:跟随系统的完整深色模式,覆盖主天气、城市搜索、城市管理、天气预警、弹框、小组件配置页及系统栏。
- 新增:为不同天气分别设计夜间背景,保留原有天气色调与视觉层次。
- 优化:重新调整卡片遮罩、文字对比度、搜索框、页面指示器及操作按钮。
- 优化:保留原版 PNG 与 NinePatch 的轮廓、阴影、留白和交互状态,通过语义色及运行时着色完成夜间适配。
桌面天气小组件
- 新增:Smartisan 风格桌面小组件“天气窗”。
- 新增:支持
2×2、3×2和4×2三种自适应布局。 - 新增:支持当前天气、温度范围、空气质量、天气预警及逐小时预报。
- 新增:支持固定城市或自动优先跟随定位城市。
- 新增:支持手动刷新、定时更新、点击进入对应城市及天气预警详情。
- 优化:城市、天气及温度单位变化后自动同步小组件内容。
全球天气
- 新增:城市搜索、系统定位、城市管理、天气缓存及桌面小组件支持全球城市。
- 新增:中国城市使用小米混合天气数据,全球城市使用小米天气接口返回的 AccuWeather 数据。
- 新增:按城市所在地时区显示更新时间并判断昼夜状态。
- 优化:按服务端真实数据展示预报、空气质量、天气预警及生活指数,不补全缺失字段。
- 优化:天气来源及归因信息跟随服务端响应。
性能与构建
- 优化:主页面按城市增量更新,减少无关页面的重复绑定与计算。
- 优化:自动加载优先复用短时间内的新鲜天气缓存。
- 优化:合并重复刷新任务,减少无效页面更新及网络请求。
- 优化:限制桌面小组件后台刷新并发,降低后台耗电。
- 优化:复用页面指示器位图,避免重复解码。
- 优化:收紧 R8 保留规则,移除无用依赖、服务及重复资源。
- 优化:升级 Android 构建工具链并进一步缩减 Release 产物。
其他更新
- 重构首次启动使用说明,移除旧版 Smartisan 协议页面。
- 更新中文、英文及日文文案。
- 更新项目功能、数据来源及免责声明。
- 版本号更新至
0.2.0,versionCode更新至3。
完整变更:v0.1.1...v0.2.0
v0.1.1
v0.1.0
首次正式发布。
- 基于锤子天气 8.1.3 重写,恢复经典界面、动画与触摸反馈。
- 天气、城市搜索和坐标反查统一更换为小米中国区混合天气源。
- 支持实时天气、逐小时与 15 日预报、空气质量、天气预警、多城市管理、系统定位和温标切换。
- 全面适配现代 Android 设备,支持 edge-to-edge、沉浸式手势导航栏(小白条)、大屏及多窗口。
- 使用 Room、DataStore、Coroutines、ViewModel 和 StateFlow 重建数据与状态管理。
- 支持 Android 8.1 及以上版本。