Add service provider (#250)

* optimize android side gradle settings

* android minsdk back to 21

* remove unused package, update linter and fix lint error

* clean code of 'shared module' with offical dart style guide

* restore uploadProfileImage method in UserService

* add service provider

* fix searchFocusNode init error
This commit is contained in:
xpwmaosldk
2022-06-26 03:46:51 +09:00
committed by GitHub
parent 485b152beb
commit d02b97e1c1
24 changed files with 288 additions and 157 deletions

View File

@@ -1,6 +1,10 @@
import 'package:flutter_udid/flutter_udid.dart';
import 'dart:io' show Platform;
import 'package:hooks_riverpod/hooks_riverpod.dart';
final deviceInfoServiceProvider = Provider((_) => DeviceInfoService());
class DeviceInfoService {
Future<Map<String, dynamic>> getDeviceInfo() async {
// Get device info

View File

@@ -1,6 +1,9 @@
import 'package:hive/hive.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/hive_box.dart';
final localStorageServiceProvider = Provider((_) => LocalStorageService());
class LocalStorageService {
late Box _box;

View File

@@ -4,11 +4,11 @@ import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
import 'package:hive/hive.dart';
import 'package:http_parser/http_parser.dart';
import 'package:image_picker/image_picker.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/constants/hive_box.dart';
import 'package:immich_mobile/utils/dio_http_interceptor.dart';
import 'package:immich_mobile/utils/files_helper.dart';
final networkServiceProvider = Provider((_) => NetworkService());
class NetworkService {
late final Dio dio;

View File

@@ -1,11 +1,16 @@
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/shared/models/server_info.model.dart';
import 'package:immich_mobile/shared/models/server_version.model.dart';
import 'package:immich_mobile/shared/services/network.service.dart';
final serverInfoServiceProvider =
Provider((ref) => ServerInfoService(ref.watch(networkServiceProvider)));
class ServerInfoService {
final NetworkService _networkService = NetworkService();
final NetworkService _networkService;
ServerInfoService(this._networkService);
Future<ServerInfo> getServerInfo() async {
Response response = await _networkService.getRequest(url: 'server-info');

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:http_parser/http_parser.dart';
import 'package:image_picker/image_picker.dart';
import 'package:immich_mobile/constants/hive_box.dart';
@@ -12,8 +13,12 @@ import 'package:immich_mobile/shared/services/network.service.dart';
import 'package:immich_mobile/utils/dio_http_interceptor.dart';
import 'package:immich_mobile/utils/files_helper.dart';
final userServiceProvider =
Provider((ref) => UserService(ref.watch(networkServiceProvider)));
class UserService {
final NetworkService _networkService = NetworkService();
final NetworkService _networkService;
UserService(this._networkService);
Future<List<User>> getAllUsersInfo() async {
try {