Skip to content

Commit aefbe09

Browse files
committed
feat(ads): add inline ad cache service to app
- Integrate InlineAdCacheService into App class - Update _AppView to include inlineAdCacheService in constructor - Modify AdService initialization in main.dart to use InlineAdCacheService
1 parent f701637 commit aefbe09

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

lib/app/view/app.dart

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:flex_color_scheme/flex_color_scheme.dart';
55
import 'package:flutter/material.dart';
66
import 'package:flutter_bloc/flutter_bloc.dart';
77
import 'package:flutter_news_app_mobile_client_full_source_code/ads/ad_service.dart';
8+
import 'package:flutter_news_app_mobile_client_full_source_code/ads/inline_ad_cache_service.dart';
89
import 'package:flutter_news_app_mobile_client_full_source_code/ads/interstitial_ad_manager.dart';
910
import 'package:flutter_news_app_mobile_client_full_source_code/app/bloc/app_bloc.dart';
1011
import 'package:flutter_news_app_mobile_client_full_source_code/app/config/app_environment.dart';
@@ -36,6 +37,7 @@ class App extends StatelessWidget {
3637
required AdService adService,
3738
required DataRepository<LocalAd> localAdRepository,
3839
required GlobalKey<NavigatorState> navigatorKey,
40+
required InlineAdCacheService inlineAdCacheService,
3941
this.demoDataMigrationService,
4042
this.demoDataInitializerService,
4143
this.initialUser,
@@ -53,7 +55,8 @@ class App extends StatelessWidget {
5355
_environment = environment,
5456
_adService = adService,
5557
_localAdRepository = localAdRepository,
56-
_navigatorKey = navigatorKey;
58+
_navigatorKey = navigatorKey,
59+
_inlineAdCacheService = inlineAdCacheService;
5760

5861
final AuthRepository _authenticationRepository;
5962
final DataRepository<Headline> _headlinesRepository;
@@ -70,6 +73,7 @@ class App extends StatelessWidget {
7073
final AdService _adService;
7174
final DataRepository<LocalAd> _localAdRepository;
7275
final GlobalKey<NavigatorState> _navigatorKey;
76+
final InlineAdCacheService _inlineAdCacheService;
7377
final DemoDataMigrationService? demoDataMigrationService;
7478
final DemoDataInitializerService? demoDataInitializerService;
7579
final User? initialUser;
@@ -90,6 +94,7 @@ class App extends StatelessWidget {
9094
RepositoryProvider.value(value: _kvStorageService),
9195
RepositoryProvider.value(value: _adService),
9296
RepositoryProvider.value(value: _localAdRepository),
97+
RepositoryProvider.value(value: _inlineAdCacheService),
9398
],
9499
child: MultiBlocProvider(
95100
providers: [
@@ -104,7 +109,6 @@ class App extends StatelessWidget {
104109
demoDataMigrationService: demoDataMigrationService,
105110
demoDataInitializerService: demoDataInitializerService,
106111
initialUser: initialUser,
107-
adService: context.read<AdService>(),
108112
navigatorKey: _navigatorKey, // Pass navigatorKey to AppBloc
109113
),
110114
),
@@ -138,6 +142,7 @@ class App extends StatelessWidget {
138142
adService: _adService,
139143
localAdRepository: _localAdRepository,
140144
navigatorKey: _navigatorKey, // Pass navigatorKey to _AppView
145+
inlineAdCacheService: _inlineAdCacheService,
141146
),
142147
),
143148
);
@@ -159,6 +164,7 @@ class _AppView extends StatefulWidget {
159164
required this.adService,
160165
required this.localAdRepository,
161166
required this.navigatorKey,
167+
required this.inlineAdCacheService,
162168
});
163169

164170
final AuthRepository authenticationRepository;
@@ -174,6 +180,7 @@ class _AppView extends StatefulWidget {
174180
final AdService adService;
175181
final DataRepository<LocalAd> localAdRepository;
176182
final GlobalKey<NavigatorState> navigatorKey;
183+
final InlineAdCacheService inlineAdCacheService;
177184

178185
@override
179186
State<_AppView> createState() => _AppViewState();
@@ -211,9 +218,9 @@ class _AppViewState extends State<_AppView> {
211218
userContentPreferencesRepository: widget.userContentPreferencesRepository,
212219
remoteConfigRepository: widget.appConfigRepository,
213220
userRepository: widget.userRepository,
214-
environment: widget.environment,
215221
adService: widget.adService,
216222
navigatorKey: widget.navigatorKey,
223+
inlineAdCacheService: widget.inlineAdCacheService,
217224
);
218225
}
219226

0 commit comments

Comments
 (0)