feat(api_service): Update try-catch funtion and handle exception update(loading_animation): Update loading animation using Lottie
42 lines
1.1 KiB
Dart
42 lines
1.1 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:sfm_app/product/services/api_services.dart';
|
|
|
|
import '../feature/settings/profile/profile_model.dart';
|
|
import '../product/base/bloc/base_bloc.dart';
|
|
import '../product/shared/shared_snack_bar.dart';
|
|
|
|
class SettingsBloc extends BlocBase {
|
|
// Settings Screen
|
|
APIServices apiServices = APIServices();
|
|
final userProfile = StreamController<User>.broadcast();
|
|
StreamSink<User> get sinkUserProfile => userProfile.sink;
|
|
Stream<User> get streamUserProfile => userProfile.stream;
|
|
|
|
|
|
// Profile Screen
|
|
final isChangeProfileInfomation = StreamController<bool>.broadcast();
|
|
StreamSink<bool> get sinkIsChangeProfileInfomation =>
|
|
isChangeProfileInfomation.sink;
|
|
Stream<bool> get streamIsChangeProfileInfomation =>
|
|
isChangeProfileInfomation.stream;
|
|
|
|
|
|
void getUserProfile(BuildContext context) async {
|
|
try {
|
|
User user = await apiServices.getUserDetail();
|
|
sinkUserProfile.add(user);
|
|
} catch (e) {
|
|
if (!context.mounted) return;
|
|
showErrorTopSnackBarCustom(
|
|
context, e.toString());
|
|
}
|
|
}
|
|
|
|
|
|
@override
|
|
void dispose() {
|
|
}
|
|
}
|