File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -16,21 +16,28 @@ class SettingsPage extends StatefulWidget {
1616
1717class _SettingsPageState extends State <SettingsPage > {
1818 late final TextEditingController _nicknameController;
19+ late String _lastSyncedNickname;
1920 bool _savingNickname = false ;
2021
2122 @override
2223 void initState () {
2324 super .initState ();
25+ _lastSyncedNickname = widget.controller.preferences.nickname;
2426 _nicknameController = TextEditingController (
25- text: widget.controller.preferences.nickname ,
27+ text: _lastSyncedNickname ,
2628 );
2729 }
2830
2931 @override
3032 void didUpdateWidget (covariant SettingsPage oldWidget) {
3133 super .didUpdateWidget (oldWidget);
32- if (_nicknameController.text != widget.controller.preferences.nickname) {
33- _nicknameController.text = widget.controller.preferences.nickname;
34+ final savedNickname = widget.controller.preferences.nickname;
35+ if (savedNickname != _lastSyncedNickname) {
36+ _lastSyncedNickname = savedNickname;
37+ _nicknameController.value = TextEditingValue (
38+ text: savedNickname,
39+ selection: TextSelection .collapsed (offset: savedNickname.length),
40+ );
3441 }
3542 }
3643
@@ -282,6 +289,7 @@ class _SettingsPageState extends State<SettingsPage> {
282289 if (! mounted) {
283290 return ;
284291 }
292+ _lastSyncedNickname = widget.controller.preferences.nickname;
285293 setState (() {
286294 _savingNickname = false ;
287295 });
You can’t perform that action at this time.
0 commit comments