операционные системы, одинаковые контакты и версии приложения. 
                  
                  
                  Но на одном девайсе отрабатывает нормально, на втором бесконечно весит экран загрузки.
                  
                  
                  Лично у себя я не смог словить этот баг. 
                  
                  
                  логика экрана загрузки проста: 
                  
                  
                      в методе build перед return вызывается метод кубита, в начале которого такой код 
                  
                  
                  
                  
                  
                  emit(
                  
                  
                    state.copyWith(
                  
                  
                      screenStatus: ContactListStatus.loading,
                  
                  
                    ),
                  
                  
                  );
                  
                  
                  
                  
                  
                  в конце метода
                  
                  
                   
                  
                  
                  emit(
                  
                  
                    state.copyWith(
                  
                  
                      contacts: appContacts,
                  
                  
                      recentContacts: recentContacts,
                  
                  
                      screenStatus: ContactListStatus.success,
                  
                  
                    ),
                  
                  
                  );
                  
                  
                  
                  
                  
                  ну и в дереве такой код 
                  
                  
                  
                  
                  
                  builder: (context, state) {
                  
                  
                    if (state.screenStatus == ContactListStatus.loading) {
                  
                  
                      return const ListShimmering(); // экран загрузки 
                  
                  
                    } else {
                  
                  
                  // экран
                  
                  
                  }
                  
                  
                  
                  
                  
                  сам метод берет контакты и книжки телефона, проверяет контакты сервера и выводит совпадения.
                  
                  
                  
                  
                  
                  подскажите, в чем может быть дело и как бы отлавливали такой баг?
                  
                  
                
Ошибки какие пишет
вызов метода перед билдом - атата.
перенести в initState?
но почему у нашей команды все ок, на многих девайсах все ок, а выборочно не работает?
BlocProvider( create => Cubit()..init() ) хотя бы. Или в initState
Нет это просто замечания по-тому что пошло не так.
перенес в initState
А разрешение на получение контактов проверяется ?
без него на экран не попасть
Ну а если вдруг попал ?
Обсуждают сегодня