diff --git a/lib/core/configuration.dart b/lib/core/configuration.dart index b260e8658..0925183ca 100644 --- a/lib/core/configuration.dart +++ b/lib/core/configuration.dart @@ -19,6 +19,10 @@ class Configuration { return preferences.getString(endpointKey); } + String getHttpEndpoint() { + return "http://" + getEndpoint() + ":8080"; + } + void setEndpoint(String endpoint) async { await preferences.setString(endpointKey, endpoint); } diff --git a/lib/core/constants.dart b/lib/core/constants.dart index ead10a8c7..b4b641167 100644 --- a/lib/core/constants.dart +++ b/lib/core/constants.dart @@ -1,4 +1,2 @@ -const String ENDPOINT = "http://192.168.0.255:8080"; -const String USER = "umbu"; // TODO: Fix me const int THUMBNAIL_SMALL_SIZE = 128; const int THUMBNAIL_LARGE_SIZE = 512; diff --git a/lib/face_search_manager.dart b/lib/face_search_manager.dart index 73f83463b..88eebedbb 100644 --- a/lib/face_search_manager.dart +++ b/lib/face_search_manager.dart @@ -1,6 +1,6 @@ import 'package:dio/dio.dart'; import 'package:logger/logger.dart'; -import 'package:myapp/core/constants.dart' as Constants; +import 'package:myapp/core/configuration.dart'; import 'package:myapp/db/db_helper.dart'; import 'models/face.dart'; @@ -16,8 +16,11 @@ class FaceSearchManager { Future> getFaces() { return _dio - .get(Constants.ENDPOINT + "/faces", - queryParameters: {"user": Constants.USER}) + .get(Configuration.instance.getHttpEndpoint() + "/faces", + queryParameters: { + "user": Configuration.instance.getUsername(), + "token": Configuration.instance.getToken() + }) .then((response) => (response.data["faces"] as List) .map((face) => new Face.fromJson(face)) .toList()) @@ -26,9 +29,13 @@ class FaceSearchManager { Future> getFaceSearchResults(Face face) async { var futures = _dio.get( - Constants.ENDPOINT + "/search/face/" + face.faceID.toString(), - queryParameters: {"user": Constants.USER}).then((response) => (response - .data["results"] as List) + Configuration.instance.getHttpEndpoint() + + "/search/face/" + + face.faceID.toString(), + queryParameters: { + "user": Configuration.instance.getUsername(), + "token": Configuration.instance.getToken(), + }).then((response) => (response.data["results"] as List) .map((result) => (DatabaseHelper.instance.getPhotoByPath(result)))); return Future.wait(await futures); } diff --git a/lib/photo_sync_manager.dart b/lib/photo_sync_manager.dart index e746d001e..03fed5fc1 100644 --- a/lib/photo_sync_manager.dart +++ b/lib/photo_sync_manager.dart @@ -13,8 +13,8 @@ import 'package:photo_manager/photo_manager.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:dio/dio.dart'; import 'package:myapp/models/photo.dart'; -import 'package:myapp/core/constants.dart' as Constants; +import 'core/configuration.dart'; import 'events/remote_sync_event.dart'; class PhotoSyncManager { @@ -134,7 +134,9 @@ class PhotoSyncManager { for (Photo photo in diff) { var localPath = path + basename(photo.remotePath); await _dio - .download(Constants.ENDPOINT + "/" + photo.remotePath, localPath) + .download( + Configuration.instance.getHttpEndpoint() + "/" + photo.remotePath, + localPath) .catchError((e) => _logger.e(e)); // TODO: Save path photo.pathName = localPath; @@ -145,9 +147,11 @@ class PhotoSyncManager { } Future> _getDiff(int lastSyncTimestamp) async { - Response response = await _dio.get(Constants.ENDPOINT + "/diff", + Response response = await _dio.get( + Configuration.instance.getHttpEndpoint() + "/diff", queryParameters: { - "user": Constants.USER, + "user": Configuration.instance.getUsername(), + "token": Configuration.instance.getToken(), "lastSyncTimestamp": lastSyncTimestamp }).catchError((e) => _logger.e(e)); if (response != null) { @@ -165,10 +169,12 @@ class PhotoSyncManager { var formData = FormData.fromMap({ "file": MultipartFile.fromBytes(await localPhoto.getOriginalBytes()), "filename": localPhoto.title, - "user": Constants.USER, + "user": Configuration.instance.getUsername(), + "token": Configuration.instance.getToken(), }); return _dio - .post(Constants.ENDPOINT + "/upload", data: formData) + .post(Configuration.instance.getHttpEndpoint() + "/upload", + data: formData) .then((response) { _logger.i(response.toString()); var photo = Photo.fromJson(response.data); @@ -186,10 +192,12 @@ class PhotoSyncManager { } Future _deletePhotoOnServer(Photo photo) async { - return _dio.post(Constants.ENDPOINT + "/delete", queryParameters: { - "user": Constants.USER, - "fileID": photo.uploadedFileId - }).catchError((e) => _logger.e(e)); + return _dio.post(Configuration.instance.getHttpEndpoint() + "/delete", + queryParameters: { + "user": Configuration.instance.getUsername(), + "token": Configuration.instance.getToken(), + "fileID": photo.uploadedFileId + }).catchError((e) => _logger.e(e)); } Future _initializeDirectories() async { diff --git a/lib/ui/face_search_results_page.dart b/lib/ui/face_search_results_page.dart index 4c32ee8b2..8418cb00b 100644 --- a/lib/ui/face_search_results_page.dart +++ b/lib/ui/face_search_results_page.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; +import 'package:myapp/core/configuration.dart'; import 'package:myapp/face_search_manager.dart'; import 'package:myapp/models/face.dart'; import 'package:myapp/models/photo.dart'; import 'package:myapp/ui/circular_network_image_widget.dart'; -import 'package:myapp/core/constants.dart' as Constants; import 'package:myapp/ui/thumbnail_widget.dart'; import 'detail_page.dart'; @@ -25,7 +25,10 @@ class FaceSearchResultsPage extends StatelessWidget { Hero( tag: "face_" + _face.faceID.toString(), child: CircularNetworkImageWidget( - Constants.ENDPOINT + "/" + _face.thumbnailPath, 20), + Configuration.instance.getHttpEndpoint() + + "/" + + _face.thumbnailPath, + 20), ) ], ), diff --git a/lib/ui/network_image_detail_page.dart b/lib/ui/network_image_detail_page.dart index 5c91dc8f1..a6c0e9376 100644 --- a/lib/ui/network_image_detail_page.dart +++ b/lib/ui/network_image_detail_page.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:myapp/core/configuration.dart'; import 'package:myapp/core/constants.dart' as Constants; class NetworkImageDetailPage extends StatelessWidget { @@ -33,7 +34,8 @@ class NetworkImageDetailPage extends StatelessWidget { onVerticalDragUpdate: (details) { Navigator.pop(context); }, - child: Image.network(Constants.ENDPOINT + "/" + _path), + child: + Image.network(Configuration.instance.getHttpEndpoint() + "/" + _path), ); } } diff --git a/lib/ui/search_page.dart b/lib/ui/search_page.dart index 3b10a11cd..616bd6ebe 100644 --- a/lib/ui/search_page.dart +++ b/lib/ui/search_page.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:myapp/core/configuration.dart'; import 'package:myapp/face_search_manager.dart'; import 'package:myapp/models/face.dart'; import 'package:myapp/core/constants.dart' as Constants; @@ -72,7 +73,8 @@ class SearchPage extends StatelessWidget { child: Hero( tag: "face_" + face.faceID.toString(), child: CircularNetworkImageWidget( - Constants.ENDPOINT + "/" + face.thumbnailPath, 60), + Configuration.instance.getHttpEndpoint() + "/" + face.thumbnailPath, + 60), ), ); }