| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import 'package:get/get.dart';
- import 'package:injectable/injectable.dart';
- import 'package:location/data/api/atmob_api.dart';
- import 'package:location/data/api/request/friends_list_request.dart';
- import 'package:location/di/get_it.dart';
- import 'package:location/utils/http_handler.dart';
- import '../../utils/atmob_log.dart';
- import '../api/response/friends_list_response.dart';
- import '../bean/user_info.dart';
- @lazySingleton
- class FriendsRepository {
- final String tag = 'FriendsRepository';
- final AtmobApi atmobApi;
- bool refreshFriendsFlag = false;
- final RxList<UserInfo> friendsList = RxList();
- FriendsRepository(this.atmobApi) {
- AtmobLog.d(tag, '$tag....init');
- refreshFriends();
- }
- void clearFriends() {
- friendsList.clear();
- }
- void refreshFriends() {
- if (refreshFriendsFlag) {
- return;
- }
- refreshFriendsFlag = true;
- friendList(0, 300).then((value) {
- friendsList.value = value.friends;
- }).whenComplete(() {
- refreshFriendsFlag = false;
- });
- }
- Future<FriendsListResponse> friendList(int offset, int limit) {
- return atmobApi
- .friendList(FriendsListRequest(offset: offset, limit: limit))
- .then(HttpHandler.handle(true));
- }
- static FriendsRepository getInstance() {
- return getIt.get<FriendsRepository>();
- }
- }
|