Fix set status bar icons on API 30 #886
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #881
The issue occurs with the
Activity
's theme containsandroid:windowLightStatusBars="true"
. In other words, the status bars icons are dark by default.There was a bug in
androidx.core
in this case that prevented showing the light icons on API 30: https://issuetracker.google.com/issues/180881870.This was marked as fixed, and released with
1.7.0
(whichaccompanist
is using), but there is a follow-up issue: Depending on how theWindowInsetsControllerCompat
is acquired, the workaround fixing the issue on API 30 may or may not be used: https://issuetracker.google.com/issues/207401542In our case, we were using a codepath that doesn't have the workaround, meaning that we are still encountering the "fixed" issue (#881). By switching from
ViewCompat. getWindowInsetsController
to the direct constructor ofWindowInsetsControllerCompat
, we will ensure we still get the workaround in the meantime while the upstream issue is fixed.