mirror of
https://github.com/immich-app/immich.git
synced 2025-07-08 10:44:15 -04:00
fix(mobile): prevent upload intent replacement in splash screen and reset upload button when minimize app (#18914)
fix(mobile): prevent upload intent replacement in splash screen - Added a check in the SplashScreenPage to ensure that the route is only replaced when it's not a share intent - Added lifecycle event to reset the isUpload.value when minimize the app
This commit is contained in:
parent
70b9a4c8f1
commit
1fb8861e35
@ -72,7 +72,9 @@ class SplashScreenPageState extends ConsumerState<SplashScreenPage> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
context.replaceRoute(const TabControllerRoute());
|
if (context.router.current.name != ShareIntentRoute.name) {
|
||||||
|
context.replaceRoute(const TabControllerRoute());
|
||||||
|
}
|
||||||
|
|
||||||
final hasPermission =
|
final hasPermission =
|
||||||
await ref.read(galleryPermissionNotifier.notifier).hasPermission;
|
await ref.read(galleryPermissionNotifier.notifier).hasPermission;
|
||||||
|
@ -7,6 +7,7 @@ import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
|||||||
import 'package:immich_mobile/models/upload/share_intent_attachment.model.dart';
|
import 'package:immich_mobile/models/upload/share_intent_attachment.model.dart';
|
||||||
import 'package:immich_mobile/pages/common/large_leading_tile.dart';
|
import 'package:immich_mobile/pages/common/large_leading_tile.dart';
|
||||||
import 'package:immich_mobile/providers/asset_viewer/share_intent_upload.provider.dart';
|
import 'package:immich_mobile/providers/asset_viewer/share_intent_upload.provider.dart';
|
||||||
|
import 'package:immich_mobile/routing/router.dart';
|
||||||
import 'package:immich_mobile/utils/url_helper.dart';
|
import 'package:immich_mobile/utils/url_helper.dart';
|
||||||
|
|
||||||
@RoutePage()
|
@RoutePage()
|
||||||
@ -20,6 +21,11 @@ class ShareIntentPage extends HookConsumerWidget {
|
|||||||
final currentEndpoint = getServerUrl() ?? '--';
|
final currentEndpoint = getServerUrl() ?? '--';
|
||||||
final candidates = ref.watch(shareIntentUploadProvider);
|
final candidates = ref.watch(shareIntentUploadProvider);
|
||||||
final isUploaded = useState(false);
|
final isUploaded = useState(false);
|
||||||
|
useOnAppLifecycleStateChange((previous, current) {
|
||||||
|
if (current == AppLifecycleState.resumed) {
|
||||||
|
isUploaded.value = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
void removeAttachment(ShareIntentAttachment attachment) {
|
void removeAttachment(ShareIntentAttachment attachment) {
|
||||||
ref.read(shareIntentUploadProvider.notifier).removeAttachment(attachment);
|
ref.read(shareIntentUploadProvider.notifier).removeAttachment(attachment);
|
||||||
@ -66,6 +72,14 @@ class ShareIntentPage extends HookConsumerWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
leading: IconButton(
|
||||||
|
onPressed: () {
|
||||||
|
context.navigateTo(
|
||||||
|
const TabControllerRoute(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
icon: const Icon(Icons.arrow_back),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
body: ListView.builder(
|
body: ListView.builder(
|
||||||
itemCount: attachments.length,
|
itemCount: attachments.length,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user