Repository navigation
feat(weather): add Android home screen weather widgets - #624
Vinson1014 wants to merge 28 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
CI 檢查未通過:請先 Rebase 至最新的
|
c9769cb to
be10faa
Compare
be10faa to
4e7a125
Compare
4e7a125 to
b226955
Compare
b226955 to
061b264
Compare
061b264 to
a9f6aea
Compare
Platform: android New(zh-Hant): Android 桌面新增天氣小工具,可選擇地點並依尺寸顯示即時天氣與預報 New(en-US): add Android home screen weather widgets with location selection and size-adaptive weather and forecasts
Platform: android New(zh-Hant): 首頁天氣更新會同步至 Android 小工具,切換首頁地點不會清除其他小工具的資料 New(en-US): sync Home weather updates to Android widgets without clearing their data when switching Home locations
Platform: android New(zh-Hant): 點擊 Android 天氣小工具可直接開啟 App 首頁 New(en-US): open the app Home screen directly by tapping an Android weather widget
Platform: android Fix(zh-Hant): Android 在粵語、簡體中文及香港繁體中文環境顯示在地化 App 名稱 Fix(en-US): show localized Android app names in Cantonese, Simplified Chinese and Hong Kong Traditional Chinese
Platform: android Fix(zh-Hant): 修正天氣小工具偶爾錯判資料過期與預報時間 Fix(en-US): fix weather widgets occasionally misjudging data freshness and forecast timing
Platform: android Fix(zh-Hant): 避免無效的小工具設定持續觸發背景更新 Fix(en-US): prevent invalid widget configurations from triggering ongoing background updates
Platform: android Fix(zh-Hant): 修正天氣小工具在儲存暫時異常後無法自動恢復更新 Fix(en-US): restore automatic weather widget updates after temporary storage failures
Platform: android Optimization(zh-Hant): 天氣小工具以 HH:mm 顯示觀測時間,並改善各尺寸版面與窄版體感溫度顯示 Optimization(en-US): Show HH:mm observation times and improve weather widget layouts and narrow apparent-temperature readings Fix(zh-Hant): 天氣小工具僅在需要時顯示重新整理按鈕,暫時無法取得位置時可再次重試 Fix(en-US): Show widget refresh controls when needed and allow retries after temporary location failures
Platform: android New(zh-Hant): 小型天氣小工具新增直向加高版型,依可用高度切換 New(en-US): Small weather widgets adapt to taller available space Optimization(zh-Hant): 調整小型天氣小工具的資訊排列與天氣圖示大小 Optimization(en-US): improve Small weather widget information layout and icon sizes Fix(zh-Hant): 修正大型天氣圖示尺寸與小型小工具泰文提示字形裁切 Fix(en-US): correct Large weather icon sizing and Thai status glyph clipping in Small widgets
Platform: android New(zh-Hant): 小型緊湊天氣小工具新增無障礙自適應版型 New(en-US): Add an accessible adaptive Compact weather widget layout Optimization(zh-Hant): 根據實際排版量測決定資訊降級,避免過早隱藏天氣資料 Optimization(en-US): Use native layout measurements to avoid unnecessary information fallback Fix(zh-Hant): 修正大字體下溫度裁切與泰文字形顯示問題 Fix(en-US): Fix temperature clipping at large font scales and Thai glyph clipping
Platform: android Fix(zh-Hant): 修正大型緊湊天氣小工具逐時預報降雨機率裁切問題 Fix(en-US): Fix hourly precipitation probability clipping in Large Tight weather widgets Optimization(zh-Hant): 調整大型緊湊版區段間距,保留完整預報資訊 Optimization(en-US): Optimize Large Tight section spacing to preserve complete forecast information
Platform: android Fix(zh-Hant): 修正大型天氣小工具在最小高度下逐時預報降雨機率遭裁切的問題 Fix(en-US): Fix hourly precipitation probability clipping in minimum-height Large weather widgets Optimization(zh-Hant): 優化大型版型區段間距,確保五欄逐時預報完整顯示 Optimization(en-US): Optimize Large widget spacing to keep all five hourly forecasts visible
Platform: android Fix(zh-Hant): 修正 Android 8.0 天氣小工具泰文狀態提示文字上緣裁切問題 Fix(en-US): Fix top-edge clipping of Thai status text in Android 8.0 weather widgets
Platform: android Fix(zh-Hant): 修正 Android 天氣小工具在不顯示預報時仍反覆重新抓取預報 Fix(en-US): Stop Android weather widgets re-fetching a forecast they no longer show
Platform: android
Platform: android Fix(zh-Hant): 修正 App 未開啟時點擊 Android 天氣小工具不會回到首頁 Fix(en-US): Fix tapping an Android weather widget not opening Home when the app was closed
Platform: android Fix(zh-Hant): 修正部分啟動器旋轉後 Android 天氣小工具內容被裁切 Fix(en-US): Fix clipped Android weather widget content after rotation on some launchers
Platform: android Fix(zh-Hant): 修正資料暫時讀取失敗時 Android 天氣小工具誤要求重新設定 Fix(en-US): Stop Android weather widgets asking to be reconfigured after a temporary read failure
Platform: android
Platform: android
824fa11 to
f99a774
Compare
|
目前在 Pixel 10a 測試 會有 UIUX 畫面顯示異常的問題 |








這個 PR 做了什麼
新增 Android 桌面天氣小工具,使用者可為每個小工具選擇目前位置或已儲存地點,並依小、中、大尺寸顯示即時天氣與預報。
AppWidgetProvider、設定頁、RemoteViews尺寸版型、背景更新與 WorkManager 排程、校時、定位與鄉鎮解析,以及 widget 專用 SQLite 快取與快照排序防護。widget_snapshotchannel 同步首頁天氣與已儲存地點;點擊 widget 可直接開啟 App 首頁。相關 issue
怎麼驗
tool/check/commits.sh origin/main..HEAD:13 個 commits 通過。tool/check.sh:所有 CI gate 通過。tool/dev/test_android.sh::app:testDebugUnitTest通過,0 failures。tool/dev/lint_android.sh::app:lintDebug通過,無 lint error。tool/dev/build.sh android:release APK 建置成功,輸出build/app/outputs/flutter-apk/app-release.apk(86.8 MB)。實機截圖:
檢查清單
tool/check/commits.sh origin/main..HEAD通過—— commit 訊息就是更新日誌,格式見 commit.md
mise exec -- flutter analyze與mise exec -- flutter test通過tool/dev/analyze.sh與tool/check.sh通過—— 專案規範要求透過
tool/腳本使用 pinned Flutter;tool/check.sh已執行 Dart 測試/coverage gate。res/values*/widget_strings.xml,沒有寫死gh pr checks:每一項都是 pass 或 skipped)—— 沒過不能合併,見 pr.md
RemoteViews使用集中於res/values/widget_dimens.xml的尺寸 token;已查看淺色/深色實機截圖,文字對比度可接受。