Revert "[mob][photos] Create separate widget for home tab's app bar"

This reverts commit 0e642cd254.
This commit is contained in:
ashilkn
2024-08-23 18:24:06 +05:30
parent 66d7e7e043
commit 67ee521775
2 changed files with 2 additions and 139 deletions

View File

@@ -1,135 +0,0 @@
import "dart:async";
import "dart:io";
import "package:flutter/material.dart";
import "package:logging/logging.dart";
import "package:photo_manager/photo_manager.dart";
import "package:photos/core/event_bus.dart";
import "package:photos/events/sync_status_update_event.dart";
import "package:photos/generated/l10n.dart";
import "package:photos/services/local_sync_service.dart";
import "package:photos/theme/text_style.dart";
import "package:photos/ui/components/buttons/icon_button_widget.dart";
import "package:photos/ui/home/status_bar_widget.dart";
import "package:photos/ui/settings/backup/backup_folder_selection_page.dart";
import "package:photos/utils/dialog_util.dart";
import "package:photos/utils/navigation_util.dart";
import "package:photos/utils/photo_manager_util.dart";
class HomeAppBarWidget extends StatefulWidget {
const HomeAppBarWidget({super.key});
@override
State<HomeAppBarWidget> createState() => _HomeAppBarWidgetState();
}
class _HomeAppBarWidgetState extends State<HomeAppBarWidget> {
bool _showStatus = false;
bool _showErrorBanner = false;
late StreamSubscription<SyncStatusUpdate> _subscription;
final _logger = Logger("HomeAppBarWidget");
@override
void initState() {
super.initState();
_subscription = Bus.instance.on<SyncStatusUpdate>().listen((event) {
_logger.info("Received event " + event.status.toString());
if (event.status == SyncStatus.error) {
setState(() {
_showErrorBanner = true;
});
} else {
setState(() {
_showErrorBanner = false;
});
}
if (event.status == SyncStatus.completedFirstGalleryImport ||
event.status == SyncStatus.completedBackup) {
Future.delayed(const Duration(milliseconds: 2000), () {
if (mounted) {
setState(() {
_showStatus = false;
});
}
});
} else {
setState(() {
_showStatus = true;
});
}
});
}
dispose() {
_subscription.cancel();
super.dispose();
}
@override
AppBar build(BuildContext context) {
return AppBar(
centerTitle: true,
title: _showStatus
? _showErrorBanner
? const Text("ente", style: brandStyleMedium)
: const SyncStatusWidget()
: const Text("ente", style: brandStyleMedium),
actions: [
IconButtonWidget(
icon: Icons.add_photo_alternate_outlined,
iconButtonType: IconButtonType.primary,
onTap: () async {
try {
final PermissionState state =
await requestPhotoMangerPermissions();
await LocalSyncService.instance.onUpdatePermission(state);
} on Exception catch (e) {
Logger("HomeHeaderWidget").severe(
"Failed to request permission: ${e.toString()}",
e,
);
}
if (!LocalSyncService.instance.hasGrantedFullPermission()) {
if (Platform.isAndroid) {
await PhotoManager.openSetting();
} else {
final bool hasGrantedLimit =
LocalSyncService.instance.hasGrantedLimitedPermissions();
// ignore: unawaited_futures
showChoiceActionSheet(
context,
title: S.of(context).preserveMore,
body: S.of(context).grantFullAccessPrompt,
firstButtonLabel: S.of(context).openSettings,
firstButtonOnTap: () async {
await PhotoManager.openSetting();
},
secondButtonLabel: hasGrantedLimit
? S.of(context).selectMorePhotos
: S.of(context).cancel,
secondButtonOnTap: () async {
if (hasGrantedLimit) {
await PhotoManager.presentLimited();
}
},
);
}
} else {
unawaited(
routeToPage(
context,
BackupFolderSelectionPage(
buttonText: S.of(context).backup,
),
),
);
}
},
),
],
);
}
}

View File

@@ -38,8 +38,6 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
@override
void initState() {
super.initState();
_subscription = Bus.instance.on<SyncStatusUpdate>().listen((event) {
_logger.info("Received event " + event.status.toString());
if (event.status == SyncStatus.error) {
@@ -74,6 +72,7 @@ class _StatusBarWidgetState extends State<StatusBarWidget> {
setState(() {});
}
});
super.initState();
}
@override
@@ -143,14 +142,13 @@ class _SyncStatusWidgetState extends State<SyncStatusWidget> {
@override
void initState() {
super.initState();
_subscription = Bus.instance.on<SyncStatusUpdate>().listen((event) {
setState(() {
_event = event;
});
});
_event = SyncService.instance.getLastSyncStatusEvent();
super.initState();
}
@override