Commit Graph

80125 Commits

Author SHA1 Message Date
renovate[bot]
0f9bee0bef chore(deps): update actions/stale action to v10 (#5795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 21:38:30 +08:00
renovate[bot]
6af9cc821f chore(deps): update actions/setup-python action to v6 (#5794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 21:38:08 +08:00
renovate[bot]
bc5504a032 fix(deps): update dependency com.google.android.material:material to v1.13.0 (#5793)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 21:37:57 +08:00
renovate[bot]
12bf882909 chore(deps): update agp to v8.13.0 (#5787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-03 14:45:35 +08:00
Lawnchair Bot
546d1d3397 New Crowdin translations by GitHub Action (#5785)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-31 10:47:58 +08:00
renovate[bot]
a479c50ee7 chore(deps): update actions/attest-build-provenance action to v3 (#5783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-30 19:15:32 +08:00
renovate[bot]
b7dd28fe61 chore(deps): update agp to v8.12.2 (#5782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-30 19:15:16 +08:00
Akash Yadav
777cbe1afa Replace Mull with IronFox as a search provider (#5780)
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-08-30 19:03:06 +08:00
renovate[bot]
64de45b9bc fix(deps): update dependency androidx.compose:compose-bom to v2025.08.01 (#5770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 13:45:34 +08:00
renovate[bot]
c9fb5dd4e5 fix(deps): update androidx.lifecycle to v2.9.3 (#5769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 13:45:25 +08:00
Lawnchair Bot
86a15a1b88 New Crowdin translations by GitHub Action (#5766)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-24 12:36:33 +08:00
SuperDragonXD
6a33e2e9f4 chore: Fix labels for feature request issue template 2025-08-23 12:28:13 +08:00
renovate[bot]
952b6520d8 chore(deps): update actions/setup-java action to v5 (#5758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 16:13:47 +08:00
renovate[bot]
2d86985ee2 chore(deps): update plugin com.android.test to v8.12.1 (#5755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 12:15:16 +08:00
renovate[bot]
7336b4a048 chore(deps): update plugin com.gradle.develocity to v4.1.1 (#5752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 21:17:55 +08:00
renovate[bot]
863d2a13e0 chore(deps): update agp to v8.12.1 (#5750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 11:12:08 +08:00
Lawnchair Bot
7a3f349c4e New Crowdin translations by GitHub Action (#5749)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-17 18:45:32 +08:00
renovate[bot]
c4686e8414 fix(deps): update protobuf monorepo to v4.32.0 (#5747)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 14:04:24 +08:00
renovate[bot]
e680050e78 fix(deps): update dependency androidx.core:core-ktx to v1.17.0 (#5746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 09:50:33 +08:00
renovate[bot]
7ca00b90f1 fix(deps): update dependency androidx.compose:compose-bom to v2025.08.00 (#5745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 09:50:09 +08:00
renovate[bot]
b77f8d131d chore(deps): update actions/checkout action to v5 (#5742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 14:37:24 +08:00
Lawnchair Bot
fa37868deb New Crowdin translations by GitHub Action (#5736)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-10 15:14:44 +08:00
foXaCe
24cb0d46e1 feat(about): add "View changes" button with detailed commit history (#5711)
* feat(about): add "View changes" button with detailed commit history

Add a new "View changes" button in the About screen that displays a detailed
changelog dialog when updates are available. This provides users with better
visibility into what changes they will receive when updating.

Features added:
- New "View changes" button in update section (Available/Downloaded states)
- ChangesDialog component showing commit history since current version
- Clickable commit cards that open GitHub commit pages in browser
- Relative time display (5m, 2h, 3d, etc.) following GitHub's format
- Full internationalization support for time strings
- Fetches commits using GitHub API and compares with current build
- Clean Material 3 UI with proper styling and animations

Technical changes:
- Extended GitHubService with commits and compare endpoints
- Added GitHubCommit and GitHubCompareResponse data models
- Enhanced NightlyBuildsRepository with commit fetching capabilities
- Added time-relative string resources (time_minutes_ago, time_hours_ago, etc.)
- Updated AboutViewModel to handle changes dialog state
- Modified UpdateState models to include build numbers
- Renamed getCommits to getRepositoryCommits for API consistency
- Replaced all hardcoded strings with proper internationalized resources

All strings are now properly internationalized to ensure translatability
across all supported languages.

* style: apply spotless code formatting

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* refactor(updater): move changelog logic to ViewModel

* feat(updater): improve UI and UX

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: SuperDragonXD <70206496+SuperDragonXD@users.noreply.github.com>
2025-08-07 19:35:54 +08:00
SuperDragonXD
a2236c6945 chore: fix nightly builds directory 2025-08-07 14:02:19 +08:00
SuperDragonXD
99f017c552 feat(about): redesign screen with new information hierarchy (#5728) 2025-08-07 04:05:00 +00:00
Goooler
eb1c6f27df Fix nightly-release 2025-08-06 20:54:00 +08:00
renovate[bot]
ea5b33f306 chore(deps): update actions/download-artifact action to v5 (#5719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 20:34:16 +08:00
renovate[bot]
32e23a3711 fix(deps): update dependency io.nlopez.compose.rules:ktlint to v0.4.27 (#5727)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 20:34:01 +08:00
Lawnchair Bot
b6ce6bf7a8 New Crowdin translations by GitHub Action (#5710)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-08-03 08:52:37 +08:00
Izzy
55dd17f96d docs: initial fastlane structures from IzzyOnDroid (#5689) 2025-08-02 22:05:54 +08:00
SuperDragonXD
421b7e439c fix: address minor bugs in updater and permission (#5707)
* fix(updater): prevent update checker from always showing
* fix(permissions): refresh state on request to fix stale experimental features UI
2025-08-02 13:59:03 +00:00
SuperDragonXD
df3632daae refactor(about): migrate screen to ViewModel and UDF (#5698)
* feat(about): add viewmodel and UDF state models

* feat(about): add new repository and service

* feat(about): refactor About screen and related components

* refactor(about): remove legacy update checker file

* refactor(about): improve robustness of NightlyBuildsRepository

This change also tweaks the code to use application storage instead of external storage.

* refactor(acknowledgements): simplify Acknowledgements implementation

* fix(about): add missing strings

* refactor(acknowledgements): apply suggestions from review

* refactor(about): simplify nightly builds repository

* refactor(about): apply changes from review

* refactor(acknowledgements): apply changes from review

* fixup: apply review suggestions from Goooler
2025-08-02 10:01:14 +00:00
Pun Butrach
3c3cf45940 Material 3 Expressive Icon Shape (#5605)
* M3E Shape

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* codespace

* Merge ci/backport-16-dev_material-expressive-shape to designated
upstream

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

* Merge incoming to codespace

* ok ok you win spotless

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>

---------

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
2025-08-01 17:04:44 +08:00
renovate[bot]
65bd1c74da chore(deps): update dependency gradle to v9 (#5701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 10:13:43 +08:00
renovate[bot]
b625cd4e9e chore(deps): update agp to v8.12.0 (#5700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 10:13:30 +08:00
SuperDragonXD
ffefb8fe55 docs: Establish public roadmap and professionalize contribution workflows (#5695)
* docs: Add roadmap
* docs: Update contributing guide to add new dev workflow
* docs: Cleanup visual guidelines
* docs: Add section for Open Collective supporters
2025-07-31 07:07:38 +00:00
renovate[bot]
4ca6f08f98 fix(deps): update dependency androidx.test.ext:junit to v1.3.0 (#5694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:36:13 +08:00
renovate[bot]
55b1efd61e fix(deps): update dependency androidx.test.espresso:espresso-core to v3.7.0 (#5693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:33:54 +08:00
renovate[bot]
92ca464313 fix(deps): update dependency androidx.benchmark:benchmark-macro-junit4 to v1.4.0 (#5692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:26:25 +08:00
renovate[bot]
3c2240de87 chore(deps): update plugin androidx.baselineprofile to v1.4.0 (#5691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:26:12 +08:00
renovate[bot]
5710262516 fix(deps): update dependency androidx.navigation:navigation-compose to v2.9.3 (#5690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:25:57 +08:00
SuperDragonXD
aad477f621 fix(search): Correct state handling and connect settings to providers (#5687)
* fix(search): apply max result to web suggestion provider
* fix(search): apply file search toggle to FileSearchProvider
* fix(search): apply font settings to empty state search result
* fix(settings): uncheck ContactsSearchProvider switch when permissions are not granted
* refactor(search): migrate clear history button to search settings

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-30 21:57:52 +08:00
SuperDragonXD
a4a17a607d chore(workflow): Introduce new PR template 2025-07-30 12:50:25 +08:00
SuperDragonXD
40c074d756 fix(search): return empty list instead of empty flow for WebSearchProvider
Fixes #5684
2025-07-30 12:49:57 +08:00
SuperDragonXD
bac85d2915 refactor(permissions): Unify file and media permission handling (#5683)
This commit completes the work started in the search refactor by migrating all remaining legacy file/media permission checks to the new, centralized `FileAccessManager`.

Previously, features like the wallpaper preview and backup system used the side-effect based permission model that created a poor user experience, especially on modern Android versions.

This change unifies all file and media access logic under the new, observable `StateFlow`-based system. This includes:

- Refactoring the wallpaper drawable access logic to correctly handle the various states of media permissions on Android 13+. This is disabled by default on Play Store builds, due to lack of `MANAGE_EXTERNAL_STORAGE` permission.
- Updating the backup/restore system to use the new manager.
- Updating the blur wallpaper feature to use the new manager.
- Migrating the OTA update check to use the new manager.
- Replacing the "Notification Dots" permission bottom sheet with the new, simpler `PermissionDialog` for UI consistency.

Credit-to: @lebao3105 for the initial analysis of the wallpaper permission issue.

Fixes #5632
Fixes #5676
2025-07-30 12:43:37 +08:00
Zongle Wang
3450fbaf36 Improve build performance by enabling R8 parallelism (#5682) 2025-07-30 11:14:09 +08:00
SuperDragonXD
08bd85c6c4 fix(search): annotate SearchProviderId with @Keep
Fixes #5678
2025-07-29 22:28:05 +08:00
SuperDragonXD
5d00aab878 fix(search): mark SearchProviderId as serializable
Fixes #5678
2025-07-29 21:17:13 +08:00
Zongle Wang
a11c31b19c Replace ViewModelFactory with using AndroidViewModel (#5677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 18:00:31 +08:00
SuperDragonXD
b92f9adbb8 fix(search): address feedback from PR review 2025-07-29 17:55:41 +08:00