Skip to content

Commit 02019fe

Browse files
authored
Merge pull request #115 from flutter-news-app-full-source-code/fix-interstitial-ads
Fix interstitial ads
2 parents a27f82c + a145967 commit 02019fe

18 files changed

+526
-442
lines changed

lib/account/view/manage_followed_items/countries/followed_countries_list_page.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
5+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
56
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
67
import 'package:flutter_news_app_mobile_client_full_source_code/router/routes.dart';
78
import 'package:go_router/go_router.dart';
@@ -96,6 +97,9 @@ class FollowedCountriesListPage extends StatelessWidget {
9697
},
9798
),
9899
onTap: () {
100+
context.read<InterstitialAdManager>().onPotentialAdTrigger(
101+
context: context,
102+
);
99103
context.pushNamed(
100104
Routes.entityDetailsName,
101105
pathParameters: {

lib/account/view/manage_followed_items/sources/followed_sources_list_page.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
5+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
56
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
67
import 'package:flutter_news_app_mobile_client_full_source_code/router/routes.dart';
78
import 'package:go_router/go_router.dart';
@@ -93,6 +94,9 @@ class FollowedSourcesListPage extends StatelessWidget {
9394
},
9495
),
9596
onTap: () {
97+
context.read<InterstitialAdManager>().onPotentialAdTrigger(
98+
context: context,
99+
);
96100
context.pushNamed(
97101
Routes.entityDetailsName,
98102
pathParameters: {

lib/account/view/manage_followed_items/topics/followed_topics_list_page.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
5+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
56
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
67
import 'package:flutter_news_app_mobile_client_full_source_code/router/routes.dart';
78
import 'package:go_router/go_router.dart';
@@ -101,6 +102,9 @@ class FollowedTopicsListPage extends StatelessWidget {
101102
},
102103
),
103104
onTap: () {
105+
context.read<InterstitialAdManager>().onPotentialAdTrigger(
106+
context: context,
107+
);
104108
context.pushNamed(
105109
Routes.entityDetailsName,
106110
pathParameters: {

lib/account/view/saved_headlines_page.dart

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:core/core.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
44
import 'package:flutter_news_app_mobile_client_full_source_code/account/bloc/account_bloc.dart';
5+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
56
import 'package:flutter_news_app_mobile_client_full_source_code/app/bloc/app_bloc.dart';
67
// HeadlineItemWidget import removed
78
import 'package:flutter_news_app_mobile_client_full_source_code/l10n/l10n.dart';
@@ -105,31 +106,46 @@ class SavedHeadlinesPage extends StatelessWidget {
105106
case HeadlineImageStyle.hidden:
106107
tile = HeadlineTileTextOnly(
107108
headline: headline,
108-
onHeadlineTap: () => context.goNamed(
109-
Routes.accountArticleDetailsName,
110-
pathParameters: {'id': headline.id},
111-
extra: headline,
112-
),
109+
onHeadlineTap: () {
110+
context
111+
.read<InterstitialAdManager>()
112+
.onPotentialAdTrigger(context: context);
113+
context.goNamed(
114+
Routes.accountArticleDetailsName,
115+
pathParameters: {'id': headline.id},
116+
extra: headline,
117+
);
118+
},
113119
trailing: trailingButton,
114120
);
115121
case HeadlineImageStyle.smallThumbnail:
116122
tile = HeadlineTileImageStart(
117123
headline: headline,
118-
onHeadlineTap: () => context.goNamed(
119-
Routes.accountArticleDetailsName,
120-
pathParameters: {'id': headline.id},
121-
extra: headline,
122-
),
124+
onHeadlineTap: () {
125+
context
126+
.read<InterstitialAdManager>()
127+
.onPotentialAdTrigger(context: context);
128+
context.goNamed(
129+
Routes.accountArticleDetailsName,
130+
pathParameters: {'id': headline.id},
131+
extra: headline,
132+
);
133+
},
123134
trailing: trailingButton,
124135
);
125136
case HeadlineImageStyle.largeThumbnail:
126137
tile = HeadlineTileImageTop(
127138
headline: headline,
128-
onHeadlineTap: () => context.goNamed(
129-
Routes.accountArticleDetailsName,
130-
pathParameters: {'id': headline.id},
131-
extra: headline,
132-
),
139+
onHeadlineTap: () {
140+
context
141+
.read<InterstitialAdManager>()
142+
.onPotentialAdTrigger(context: context);
143+
context.goNamed(
144+
Routes.accountArticleDetailsName,
145+
pathParameters: {'id': headline.id},
146+
extra: headline,
147+
);
148+
},
133149
trailing: trailingButton,
134150
);
135151
}

0 commit comments

Comments
 (0)