2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 05:26:47 +00:00
inventree-app/lib/preferences.dart
Oliver Walters b71c665453 Better use of async functions for API
- Use local_preferences for storing data
2019-06-26 00:07:18 +10:00

41 lines
1.2 KiB
Dart

import 'package:shared_preferences/shared_preferences.dart';
import 'api.dart';
class InvenTreeUserPreferences {
static const String _SERVER = 'server';
static const String _USERNAME = 'username';
static const String _PASSWORD = 'password';
// Ensure we only ever create a single instance of the preferences class
static final InvenTreeUserPreferences _api = new InvenTreeUserPreferences._internal();
factory InvenTreeUserPreferences() {
return _api;
}
InvenTreeUserPreferences._internal();
// Load saved login details, and attempt connection
void loadLoginDetails() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var server = prefs.getString(_SERVER);
var username = prefs.getString(_USERNAME);
var password = prefs.getString(_PASSWORD);
await InvenTreeAPI().connect(server, username, password);
}
void saveLoginDetails(String server, String username, String password) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString(_SERVER, server);
await prefs.setString(_USERNAME, username);
await prefs.setString(_PASSWORD, password);
// Reconnect the API
await InvenTreeAPI().connect(server, username, password);
}
}