• LongCatIsLooong's avatar
    [CP-stable] Remove `TextEditingController` private member access (#149042) (#149208) · 071635b4
    LongCatIsLooong authored
    Manual request (merge conflicts in the test file) for cherry-picking #149042 to stable
    
    ### Issue Link:
    What is the link to the issue this cherry-pick is addressing?
    
    #148692 
    
    ### Changelog Description:
    Explain this cherry pick in one line that is accessible to most Flutter developers. See [best practices](https://github.com/flutter/flutter/wiki/Hotfix-Documentation-Best-Practices) for examples
    
    Fixes an `EditableText` crash that happens with a custom `TextEditingController` which only `implements` the `TextEditingController` interface.
    
    ### Impact Description:
    What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)
    
    Production apps crash if the user gives an `EditableText` a custom `TextEditingControllor` class that `implements TextEditingControllor`.
    
    ### Workaround:
    Is there a workaround for this issue?
    
    The crash does not happen if the user `extends TextEditingControllor`, but it's not always desirable / feasible. The class could be already extending a different base class.
    
    ### Risk:
    What is the risk level of this cherry-pick?
    
    ### Test Coverage:
    Are you confident that your fix is well-tested by automated tests?
    
    ### Validation Steps:
    What are the steps to validate that this fix works?
    
    Run the test in the PR, or follow the repro steps in https://github.com/flutter/flutter/issues/148692
    071635b4
Name
Last commit
Last update
..
fix_data Loading commit data...
src Loading commit data...
analysis_options.yaml Loading commit data...
animation.dart Loading commit data...
cupertino.dart Loading commit data...
foundation.dart Loading commit data...
gestures.dart Loading commit data...
material.dart Loading commit data...
painting.dart Loading commit data...
physics.dart Loading commit data...
rendering.dart Loading commit data...
scheduler.dart Loading commit data...
semantics.dart Loading commit data...
services.dart Loading commit data...
widgets.dart Loading commit data...