[WIP][Android][CoreCLR] Filter legacy TimeZone IDs using ICU if tzlookup.xml
isn't available
#118573
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.
Goal
Tries to fix #90269.
Issue summary
On Android, there are legacy TimeZones that have the same display name as non-legacy TimeZones. If developers get a list of all TimeZones and show them in UI, it can look like there are duplicate TimeZones based on the display name.
The fix we have for Android API > 25 is to use
tzlookup.xml
to filter out the legacy TimeZone IDs.The problem is that for API <= 25, the
tzlookup.xml
file isn't available.PR Description
Problem with the PR
pal_timeZoneInfo.cs
when we callucal_getCanonicalTimeZoneID
function inGlobalizationNative_GetCanonicalTimeZoneId
method, the app crashes