1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import "package:flutter/cupertino.dart";
- import "package:photos/generated/l10n.dart";
- import 'package:photos/models/button_result.dart';
- import "package:photos/services/user_remote_flag_service.dart";
- import "package:photos/ui/components/buttons/button_widget.dart";
- import "package:photos/ui/components/dialog_widget.dart";
- import "package:photos/ui/components/models/button_type.dart";
- import "package:photos/utils/toast_util.dart";
- Future<bool> requestForMapEnable(BuildContext context) async {
- const String flagName = UserRemoteFlagService.mapEnabled;
- if (UserRemoteFlagService.instance.getCachedBoolValue(flagName)) {
- return true;
- }
- final ButtonResult? result = await showDialogWidget(
- context: context,
- title: S.of(context).enableMaps,
- body: S.of(context).enableMapsDesc,
- isDismissible: true,
- buttons: [
- ButtonWidget(
- buttonType: ButtonType.primary,
- buttonAction: ButtonAction.first,
- labelText: S.of(context).enableMaps,
- isInAlert: true,
- onTap: () async {
- await UserRemoteFlagService.instance.setBoolValue(
- flagName,
- true,
- );
- },
- ),
- ButtonWidget(
- buttonType: ButtonType.secondary,
- buttonAction: ButtonAction.second,
- labelText: S.of(context).cancel,
- isInAlert: true,
- ),
- ],
- );
- if (result?.action == ButtonAction.first) {
- return true;
- }
- if (result?.action == ButtonAction.error) {
- showShortToast(context, S.of(context).somethingWentWrong);
- return false;
- }
- return false;
- }
- //For debugging.
- void disableMap() {
- UserRemoteFlagService.instance
- .setBoolValue(UserRemoteFlagService.mapEnabled, false);
- }
|