Updates to add more ads and fix ad types.
This commit is contained in:
parent
ad850d2be6
commit
ad2d932842
17 changed files with 552 additions and 59 deletions
|
|
@ -92,6 +92,25 @@ class _DataSettingsScreenState extends State<DataSettingsScreen> {
|
|||
}
|
||||
}
|
||||
|
||||
/// The resting (non-syncing) Sync Now icon — badged with the same
|
||||
/// play-triangle [CloudBackupActionButton] uses, for anyone who isn't on
|
||||
/// an active ad-free purchase, since tapping this can trigger the
|
||||
/// rewarded ad gate (see [AppState.syncNow]/`AdService.showGateAd`). Not
|
||||
/// a live prediction of whether *this* tap specifically will show one —
|
||||
/// same general "this leads to an ad-supported feature" disclosure the
|
||||
/// icon-badge uses elsewhere, not an attempt to account for the open
|
||||
/// gate window or the free-first-sync case.
|
||||
Widget _syncNowIcon(BuildContext context, AppState appState) {
|
||||
const icon = Icon(Icons.sync);
|
||||
if (appState.adsCurrentlyDisabled) return icon;
|
||||
final colors = Theme.of(context).colorScheme;
|
||||
return Badge(
|
||||
backgroundColor: colors.tertiary,
|
||||
label: Icon(Icons.play_arrow, size: 8, color: colors.onTertiary),
|
||||
child: icon,
|
||||
);
|
||||
}
|
||||
|
||||
/// Shared warning-dialog shell for both purge actions — [message] is the
|
||||
/// caller's job to make specific and unambiguous, since this is the only
|
||||
/// thing standing between the user and an unrecoverable delete.
|
||||
|
|
@ -283,7 +302,7 @@ class _DataSettingsScreenState extends State<DataSettingsScreen> {
|
|||
height: 16,
|
||||
width: 16,
|
||||
child: CircularProgressIndicator(strokeWidth: 2))
|
||||
: const Icon(Icons.sync),
|
||||
: _syncNowIcon(context, appState),
|
||||
label: const Text('Sync Now'),
|
||||
),
|
||||
TextButton.icon(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue