jonataslaw / getx

Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
MIT License
10.34k stars 1.62k forks source link

stuck on Get.updateLocale #737

Open mmmcorpsvit opened 4 years ago

mmmcorpsvit commented 4 years ago

start use you wonderful library. Have dropdown list for select UI language, on change execute code

class AppLanguageItem {
  const AppLanguageItem(this.name, this.countryCode, this.languageCode);

  final String name;
  final String countryCode;
  final String languageCode;

  @override
  String toString() {
    return name;
  }
}

const List<AppLanguageItem> appLanguagesList = <AppLanguageItem>[
  AppLanguageItem('English', 'en', 'US'),
  AppLanguageItem('Ukrainian', 'uk', 'UA'),
  AppLanguageItem('Russian', 'ru', 'RU')
];

  _setLocale(locale) {
    // find locale by name
    var w = appLanguagesList.firstWhere((element) => element.name == locale);
    Get.updateLocale(Locale(w.countryCode, w.languageCode));
  }

stuck at Get.updateLocale, on real device and emulator( can share full source if need, please help. Stuck at random moment, i rely can't understand why. Just stuck, no errors, no crash etc... just quite stuck(

eduardoflorence commented 4 years ago

There don't seem to be any errors, but we need to analyze your GetMaterialApp and the Class with the translations. Please share all the source code so that we can reproduce the problem

mmmcorpsvit commented 3 years ago

There don't seem to be any errors, but we need to analyze your GetMaterialApp and the Class with the translations. Please share all the source code so that we can reproduce the problem

emeet.zip

mmmcorpsvit commented 3 years ago

language picker at top of login screen my code bad (i start use flatter month ago), will be happy if extend and fix how example project)

eduardoflorence commented 3 years ago

I just made the changes below and resolved

language_picker.dart

  ...
  @override
  Widget build(BuildContext context) {
    final localeLanguageCode = Get.locale.toString().split('_')[1]; // <- change
    return Container(
        // padding: EdgeInsets.all(20.0),
        alignment: Alignment.topRight,
        child: DropdownButton<String>(
          value: appLanguagesList
              .firstWhere((element) => element.languageCode == localeLanguageCode) // <- change
              .name,
          onChanged: _setLocale,
          items: _languagesList,
        ));
  }
mmmcorpsvit commented 3 years ago

this not help for me( i continue testing, and think problem in Get.update inside forceAppUpdate

i just use few finger (debug mode run from android studio)

log: > > Launching lib\main.dart on meizu note9 in debug mode... > Running Gradle task 'assembleDebug'... > √ Built build\app\outputs\flutter-apk\app-debug.apk. > Waiting for meizu note9 to report its views... > Debug service listening on ws://127.0.0.1:62271/dMom_o2nmLw=/ws > Syncing files to device meizu note9... > I/flutter (31800): Injecting dependencies > [GETX] Lazy instance "FlutterSecureStorage" created > [GETX] "GetMaterialController" has been initialized > [GETX] GOING TO ROUTE /login > [GETX] Lazy instance "LoginController" created > I/flutter (31800): onInit > [GETX] "LoginController" has been initialized > I/flutter (31800): onReady > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): > E/flutter (31800): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/gestures/binding.dart': Failed assertion: line 227 pos 12: '!locked': is not true. > E/flutter (31800): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39) > E/flutter (31800): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5) > E/flutter (31800): #2 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:227:12) > E/flutter (31800): #3 _rootRun (dart:async/zone.dart:1182:47) > E/flutter (31800): #4 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #5 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #6 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #7 _rootRun (dart:async/zone.dart:1190:13) > E/flutter (31800): #8 _CustomZone.run (dart:async/zone.dart:1093:19) > E/flutter (31800): #9 _CustomZone.runGuarded (dart:async/zone.dart:997:7) > E/flutter (31800): #10 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23) > E/flutter (31800): #11 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) > E/flutter (31800): #12 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) > E/flutter (31800): >

then app stuck( in any way i free for change design, will be fine quick fix - any way for safe change languge UI

how represent error:- just use few fingers at screen and dropdown and quick random tap by fingers, bug stable too i use android studio from debug mode run, but bug happend on release profile too

eduardoflorence commented 3 years ago

To do: Update Getx in pubspec.yml for 3.15.0. In terminal:

flutter channel stable
flutter upgrade
flutter clean
flutter pub cache repair
flutter pub get
mmmcorpsvit commented 3 years ago

reinstall all, not help for me, i use windows, you too?

eduardoflorence commented 3 years ago

I also use windows

mmmcorpsvit commented 3 years ago

hm... can share please you apk, maybe problem in my env(

eduardoflorence commented 3 years ago

This is my entire folder: emeet.zip

This is the working app: emeet

jonataslaw commented 3 years ago

Can this issue be closed?

mmmcorpsvit commented 3 years ago

error present(

jigarfumakiya commented 3 years ago

Getting same issue here Any update here?

ArkasDev commented 2 years ago

Same error. When I use Get.updateLocale after my API call to get the stored language, the app sometimes gets stuck in the loading screen forever. Without the update, it works fine. When I use the update function only on a button click, it works fine too.