Ad and purchases enabled (still need actual testing)
This commit is contained in:
parent
2fcc6dcab7
commit
faf319322a
35 changed files with 1676 additions and 34 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
|
@ -6,6 +7,7 @@ import 'package:provider/provider.dart';
|
|||
|
||||
import '../services/app_state.dart';
|
||||
import '../services/receipt_parser.dart';
|
||||
import '../widgets/backup_reminder.dart';
|
||||
import 'receipt_image_screen.dart';
|
||||
|
||||
/// Shown right after a receipt photo is captured and OCR'd. Pre-fills
|
||||
|
|
@ -112,7 +114,8 @@ class _ConfirmFuelEntryScreenState extends State<ConfirmFuelEntryScreen> {
|
|||
|
||||
setState(() => _saving = true);
|
||||
try {
|
||||
await context.read<AppState>().addFuelEntry(
|
||||
final appState = context.read<AppState>();
|
||||
await appState.addFuelEntry(
|
||||
vehicleId: widget.vehicleId,
|
||||
date: _date,
|
||||
gallons: double.parse(_gallonsController.text),
|
||||
|
|
@ -120,7 +123,21 @@ class _ConfirmFuelEntryScreenState extends State<ConfirmFuelEntryScreen> {
|
|||
totalCost: double.parse(_totalController.text),
|
||||
receiptImage: widget.imageFile,
|
||||
);
|
||||
if (mounted) Navigator.of(context).pop();
|
||||
if (!mounted) return;
|
||||
|
||||
// Ask while this screen (and its context) is still fully alive,
|
||||
// before popping — simpler than trying to show a dialog against a
|
||||
// context whose widget is mid-removal.
|
||||
var wantsBackupSetup = false;
|
||||
if (!appState.hasCloudBackupConfigured) {
|
||||
wantsBackupSetup = await showBackupReminderDialog(context);
|
||||
if (!mounted) return;
|
||||
}
|
||||
|
||||
Navigator.of(context).pop();
|
||||
if (wantsBackupSetup) {
|
||||
unawaited(openCloudBackupSetup(context));
|
||||
}
|
||||
} finally {
|
||||
if (mounted) setState(() => _saving = false);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue