Refactor
This commit is contained in:
@@ -267,7 +267,7 @@ Future<void> _init(bool isBackground, {String via = ''}) async {
|
||||
});
|
||||
}
|
||||
_logger.info("PushService/HomeWidget done $tlog");
|
||||
VideoPreviewServie.instance.init(preferences);
|
||||
VideoPreviewService.instance.init(preferences);
|
||||
unawaited(SemanticSearchService.instance.init());
|
||||
unawaited(MLService.instance.init());
|
||||
await PersonService.init(
|
||||
@@ -298,7 +298,7 @@ void logLocalSettings() {
|
||||
);
|
||||
_logger.info("Gallery grid size: ${localSettings.getPhotoGridSize()}");
|
||||
_logger.info(
|
||||
"Video streaming is enalbed: ${VideoPreviewServie.instance.isVideoStreamingEnabled}",
|
||||
"Video streaming is enalbed: ${VideoPreviewService.instance.isVideoStreamingEnabled}",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ class MLService {
|
||||
} finally {
|
||||
_isRunningML = false;
|
||||
computeController.releaseCompute(ml: true);
|
||||
VideoPreviewServie.instance.queueFiles();
|
||||
VideoPreviewService.instance.queueFiles();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ class RemoteSyncService {
|
||||
|
||||
fileDataService.syncFDStatus().then((_) {
|
||||
if (!flagService.hasGrantedMLConsent) {
|
||||
VideoPreviewServie.instance
|
||||
VideoPreviewService.instance
|
||||
.queueFiles(); // if ML is enabled the MLService will queue when ML is done
|
||||
}
|
||||
}).ignore();
|
||||
|
||||
@@ -41,8 +41,8 @@ import "package:shared_preferences/shared_preferences.dart";
|
||||
|
||||
const _maxRetryCount = 3;
|
||||
|
||||
class VideoPreviewServie {
|
||||
final _logger = Logger("VideoPreviewServie");
|
||||
class VideoPreviewService {
|
||||
final _logger = Logger("VideoPreviewService");
|
||||
final LinkedHashMap<int, PreviewItem> _items = LinkedHashMap();
|
||||
LinkedHashMap<int, EnteFile> fileQueue = LinkedHashMap();
|
||||
final int _maxPreviewSizeLimitForCache = 50 * 1024 * 1024; // 50 MB
|
||||
@@ -50,17 +50,19 @@ class VideoPreviewServie {
|
||||
|
||||
bool _hasQueuedFile = false;
|
||||
|
||||
VideoPreviewServie._privateConstructor();
|
||||
VideoPreviewService._privateConstructor();
|
||||
|
||||
static final VideoPreviewServie instance =
|
||||
VideoPreviewServie._privateConstructor();
|
||||
static final VideoPreviewService instance =
|
||||
VideoPreviewService._privateConstructor();
|
||||
|
||||
final cacheManager = DefaultCacheManager();
|
||||
final videoCacheManager = VideoCacheManager.instance;
|
||||
|
||||
int uploadingFileId = -1;
|
||||
|
||||
final _dio = NetworkClient.instance.enteDio;
|
||||
final _enteDio = NetworkClient.instance.enteDio;
|
||||
final _nonEnteDio = NetworkClient.instance.getDio();
|
||||
final CollectionsService collectionsService = CollectionsService.instance;
|
||||
|
||||
void init(SharedPreferences prefs) {
|
||||
_prefs = prefs;
|
||||
@@ -464,7 +466,7 @@ class VideoPreviewServie {
|
||||
},
|
||||
encryptionKey,
|
||||
);
|
||||
final _ = await _dio.put(
|
||||
final _ = await _enteDio.put(
|
||||
"/files/video-data",
|
||||
data: {
|
||||
"fileID": file.uploadedFileID!,
|
||||
@@ -483,7 +485,7 @@ class VideoPreviewServie {
|
||||
Future<(String, int)> _uploadPreviewVideo(EnteFile file, File preview) async {
|
||||
_logger.info("Pushing preview for $file");
|
||||
try {
|
||||
final response = await _dio.get(
|
||||
final response = await _enteDio.get(
|
||||
"/files/data/preview-upload-url",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID!,
|
||||
@@ -493,7 +495,7 @@ class VideoPreviewServie {
|
||||
final uploadURL = response.data["url"];
|
||||
final String objectID = response.data["objectID"];
|
||||
final objectSize = preview.lengthSync();
|
||||
final _ = await _dio.put(
|
||||
final _ = await _enteDio.put(
|
||||
uploadURL,
|
||||
data: preview.openRead(),
|
||||
options: Options(
|
||||
@@ -635,20 +637,20 @@ class VideoPreviewServie {
|
||||
|
||||
Future<Map<String, dynamic>> _getPlaylistData(EnteFile file) async {
|
||||
late Response<dynamic> response;
|
||||
if (CollectionsService.instance.isSharedPublicLink(file.collectionID!)) {
|
||||
response = await NetworkClient.instance.getDio().get(
|
||||
"${Configuration.instance.getHttpEndpoint()}/public-collection/files/data/fetch/",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
"type": "vid_preview",
|
||||
},
|
||||
options: Options(
|
||||
headers: CollectionsService.instance
|
||||
.publicCollectionHeaders(file.collectionID!),
|
||||
),
|
||||
);
|
||||
if (collectionsService.isSharedPublicLink(file.collectionID!)) {
|
||||
response = await _nonEnteDio.get(
|
||||
"${Configuration.instance.getHttpEndpoint()}/public-collection/files/data/fetch/",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
"type": "vid_preview",
|
||||
},
|
||||
options: Options(
|
||||
headers:
|
||||
collectionsService.publicCollectionHeaders(file.collectionID!),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
response = await _dio.get(
|
||||
response = await _enteDio.get(
|
||||
"/files/data/fetch/",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
@@ -689,23 +691,22 @@ class VideoPreviewServie {
|
||||
Future<(String, String)> _getPreviewUrl(EnteFile file) async {
|
||||
try {
|
||||
late String url;
|
||||
if (CollectionsService.instance.isSharedPublicLink(file.collectionID!)) {
|
||||
final response = await NetworkClient.instance.getDio().get(
|
||||
"${Configuration.instance.getHttpEndpoint()}/public-collection/files/data/preview",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
"type": file.fileType == FileType.video
|
||||
? "vid_preview"
|
||||
: "img_preview",
|
||||
},
|
||||
options: Options(
|
||||
headers: CollectionsService.instance
|
||||
.publicCollectionHeaders(file.collectionID!),
|
||||
),
|
||||
);
|
||||
if (collectionsService.isSharedPublicLink(file.collectionID!)) {
|
||||
final response = await _nonEnteDio.get(
|
||||
"${Configuration.instance.getHttpEndpoint()}/public-collection/files/data/preview",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
"type":
|
||||
file.fileType == FileType.video ? "vid_preview" : "img_preview",
|
||||
},
|
||||
options: Options(
|
||||
headers:
|
||||
collectionsService.publicCollectionHeaders(file.collectionID!),
|
||||
),
|
||||
);
|
||||
url = (response.data["url"] as String);
|
||||
} else {
|
||||
final response = await _dio.get(
|
||||
final response = await _enteDio.get(
|
||||
"/files/data/preview",
|
||||
queryParameters: {
|
||||
"fileID": file.uploadedFileID,
|
||||
|
||||
@@ -139,13 +139,13 @@ class AdvancedSettingsScreen extends StatelessWidget {
|
||||
singleBorderRadius: 8,
|
||||
alignCaptionedTextToLeft: true,
|
||||
trailingWidget: ToggleSwitchWidget(
|
||||
value: () => VideoPreviewServie
|
||||
value: () => VideoPreviewService
|
||||
.instance.isVideoStreamingEnabled,
|
||||
onChanged: () async {
|
||||
final isEnabled = VideoPreviewServie
|
||||
final isEnabled = VideoPreviewService
|
||||
.instance.isVideoStreamingEnabled;
|
||||
|
||||
await VideoPreviewServie.instance
|
||||
await VideoPreviewService.instance
|
||||
.setIsVideoStreamingEnabled(!isEnabled);
|
||||
},
|
||||
),
|
||||
|
||||
@@ -379,7 +379,7 @@ class FileAppBarState extends State<FileAppBar> {
|
||||
await _onTapGuestView();
|
||||
} else if (value == 99) {
|
||||
try {
|
||||
await VideoPreviewServie.instance.chunkAndUploadVideo(
|
||||
await VideoPreviewService.instance.chunkAndUploadVideo(
|
||||
context,
|
||||
widget.file,
|
||||
);
|
||||
|
||||
@@ -77,7 +77,7 @@ class _VideoWidgetState extends State<VideoWidget> {
|
||||
Future<void> _checkForPreview() async {
|
||||
if (!widget.file.isOwner) {
|
||||
final bool isStreamable =
|
||||
await VideoPreviewServie.instance.isSharedFileStreamble(widget.file);
|
||||
await VideoPreviewService.instance.isSharedFileStreamble(widget.file);
|
||||
if (!isStreamable && mounted) {
|
||||
isPreviewLoadable = false;
|
||||
setState(() {});
|
||||
@@ -87,7 +87,7 @@ class _VideoWidgetState extends State<VideoWidget> {
|
||||
return;
|
||||
}
|
||||
widget.playbackCallback?.call(false);
|
||||
final data = await VideoPreviewServie.instance
|
||||
final data = await VideoPreviewService.instance
|
||||
.getPlaylist(widget.file)
|
||||
.onError((error, stackTrace) {
|
||||
if (!mounted) return;
|
||||
|
||||
@@ -44,7 +44,7 @@ class _PreviewPropertiesItemWidgetState
|
||||
final textStyle = getEnteTextTheme(context).miniMuted;
|
||||
final subSectionWidgets = <Widget>[];
|
||||
|
||||
final data = await VideoPreviewServie.instance
|
||||
final data = await VideoPreviewService.instance
|
||||
.getPlaylist(widget.file)
|
||||
.onError((error, stackTrace) {
|
||||
if (!mounted) return;
|
||||
|
||||
Reference in New Issue
Block a user