feat(mobile): share to mechanism ()

* setup ios

* chore: succesfully sent media to the app

* share from Android

* wip: navigate to share screen

* wip: UI for displaying upload candidate

* wip: logic

* wip: upload logic

* wip: up up up we got it up

* wip

* wip

* wip

* upload state

* feat: i18n

* fix: release build ios'

* feat: clear file cache

* pr feedback

* using const for checking download status

---------

Co-authored-by: Alex <alex@pop-os.localdomain>
This commit is contained in:
Alex 2025-01-16 21:20:44 -06:00 committed by GitHub
parent 3a2bf91889
commit fd99bd05cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 1368 additions and 55 deletions
mobile/lib

View file

@ -4,6 +4,7 @@ import 'dart:io';
import 'package:background_downloader/background_downloader.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:immich_mobile/providers/asset_viewer/share_intent_upload.provider.dart';
import 'package:intl/date_symbol_data_local.dart';
import 'package:timezone/data/latest.dart';
import 'package:isar/isar.dart';
@ -107,10 +108,12 @@ Future<void> initApp() async {
progressBar: true,
);
FileDownloader().trackTasksInGroup(
await FileDownloader().trackTasksInGroup(
downloadGroupLivePhoto,
markDownloadedComplete: false,
);
await FileDownloader().trackTasks();
}
Future<Isar> loadDb() async {
@ -208,6 +211,8 @@ class ImmichAppState extends ConsumerState<ImmichApp>
// needs to be delayed so that EasyLocalization is working
ref.read(backgroundServiceProvider).resumeServiceIfEnabled();
});
ref.read(shareIntentUploadProvider.notifier).init();
}
@override