операционные системы, одинаковые контакты и версии приложения.
Но на одном девайсе отрабатывает нормально, на втором бесконечно весит экран загрузки.
Лично у себя я не смог словить этот баг.
логика экрана загрузки проста:
в методе 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
А разрешение на получение контактов проверяется ?
без него на экран не попасть
Ну а если вдруг попал ?
Обсуждают сегодня