[Mono.Android] Enumify API-37.0, API-37.0 is "Stable"#11151
[Mono.Android] Enumify API-37.0, API-37.0 is "Stable"#11151jonpryor wants to merge 3 commits intodotnet:mainfrom
Conversation
|
/review |
|
✅ Android PR Reviewer completed successfully! |
There was a problem hiding this comment.
🤖 AI Review Summary
Verdict:
Found 4 issues in the API 37 enumification map.csv entries:
- ❌ Wrong enum type:
AlcoholConsumptionRecord.RECORD_TEMPORAL_TYPE_*constants are mapped toAlcoholConsumptionBeverageTypeinstead of a separate temporal-type enum (map.csv:3391-3393) - ❌ Typo:
KillExcessivCpuUsage→KillExcessiveCpuUsage(missing 'e') — this becomes a public API name (map.csv:9754) ⚠️ Namespace casing:Android.Content.Pm.Webappshould beAndroid.Content.PM.Webappto match existingandroid.content.pmconvention (map.csv:2208-2223)⚠️ Redundant prefixes: Several new member names include the enum type name as a prefix, inconsistent with existing members in the same enum types (6 instances acrossNetCapability,DocumentContractFlags,DocumentRootFlags,ProfilingTriggerType)
👍 The Documentation path updates (xamarin-android → dotnet/android) and metadata ns-replace additions look correct. The LIGHT_CAPABILITY_* flags fix and CarrierConfigManager ? → I decisions are good cleanup.
Review generated by android-reviewer from review guidelines.
Note
🔒 Integrity filter blocked 2 items
The following items were blocked because they don't meet the GitHub integrity level.
- #11151
pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved". - #11151
pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | noneGenerated by Android PR Reviewer for issue #11151 · ● 26.6M
Context: http://github.com/jpobst/BindingStudio Context: dotnet#10005 Use jpobst/BindingStudio to begin enumifying API-36.1. Note: current dotnet/java-interop emits an "extra" `,` on `map.csv` output, which would make for a "noisy" diff (every line changed!). The diff size is reduced by removing trailing commas: sed 's/,$//' < src/Mono.Android/new-map.csv > src/Mono.Android/map.csv This keeps the diff to a reasonable size. Sanity check: during enumification, this should have no matches: git grep '\.[A-Z][a-z]\.' src/Mono.Android/map.csv Two-letter namespace parts should be all upper-case. TODO (lol): update `map.csv` to current BindingStudio output after this is merged. WIP. Current state: finished **Creating enums**. Need to perform: * **Extract methods that possibly need enums** * **Mapping methods** Commit [Extract constants from API][0] output. [0]: https://github.com/dotnet/android/blob/e67a3fd36ca5e24b0007a170ea77037e4437f9d3/Documentation/workflow/HowToAddNewApiLevel.md#extract-constants-from-api
1bd3059 to
1f394ea
Compare
Rename `Permissionui` to `PermissionUI`. Also work on a more "future proof" `Color` mapping implementation.
1f394ea to
373b46a
Compare
|
/review |
|
✅ Android PR Reviewer completed successfully! |
There was a problem hiding this comment.
🤖 AI Review Summary
Verdict:
Found 2 bugs and 1 suggestion across 2 files:
- ❌ Bugs & correctness:
@tinttypo in XPath — should be@name(src/Mono.Android/meta(redacted)meta(redacted) This silently breaks "ends with Tint" matching for two of the three Color/Tint rule blocks. - ❌ Bugs & correctness:
getMaxChannelWidthmapped to wrong enum typePreambleinstead ofWifiChannelWidth(src/Mono.Android/methodmap.csv:4656). - 💡 Code organization: Exact duplicate entries in
methodmap.csvforforStopwatch,forTimer,AlcoholConsumptionRecord$Builder.ctor,SymptomRecord$Builder.ctor.
👍 The pattern-based Color/Tint approach for API-37+ is a smart way to reduce manual enumification work going forward. The documentation updates with the namespace casing check (git grep) and BindingStudio workflow improvements are helpful. CI is still in progress (7/35 checks passed, 0 failures so far).
Review generated by android-reviewer from review guidelines.
Generated by Android PR Reviewer for issue #11151 · ● 4.1M
Context: http://github.com/jpobst/BindingStudio
Context: #10005
Use jpobst/BindingStudio to begin enumifying API-36.1.
Note: current dotnet/java-interop emits an "extra"
,onmap.csvoutput, which would make for a "noisy" diff (every line changed!). The diff size is reduced by removing trailing commas:This keeps the diff to a reasonable size.
TODO (lol): update
map.csvto current BindingStudio output after this is merged.WIP.
Current state: finished Creating enums.
Need to perform:
Commit Extract constants from API output.
Pull Request
title and
description
should follow the
commit-messages.mdworkflow documentation, and in particular should include: