Retire keyboard caches and deferred editor metadata - #21
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Theme and locale changes cleared only the soft keyboard cache, leaving four strong references alive. Inherited input state also retained full framework EditorInfo objects after extracting the few fields it needed. Clear all keyboard cache slots at existing invalidation boundaries, preserve retained native proximity owners, and use immutable metadata for deferred callback comparison and private-option checks.
Terminal handler cleanup now drops deferred lifecycle bookkeeping without calling an editor. Rotation coalescing keeps its existing nullable comparison semantics. The roadmap and provenance record the published experimental preview01 separately from these newer changes.
Validation: independent Terra source review; 12 JVM and 119 API 35 x86-64 emulator tests passed with zero failures/errors/skips; lint zero errors (4,021 warnings and one hint); unsigned release assembly and both APKs' 18-document notice verification passed. Added tests cover cache reconstruction, retained proximity owners, terminal cleanup, snapshot mutation/null semantics and private-option capture. No physical-phone acceptance or new APK publication is claimed.