@@ -2,18 +2,16 @@ import 'dart:async';
22import 'dart:io' show Platform;
33
44import 'package:flutter/material.dart' ;
5- import 'package:provider/provider.dart' ;
65import 'package:runanywhere/runanywhere.dart' ;
76import 'package:runanywhere_ai/app/content_view.dart' ;
87import 'package:runanywhere_ai/core/design_system/app_colors.dart' ;
9- import 'package:runanywhere_ai/core/services/model_manager.dart' ;
108import 'package:runanywhere_ai/core/utilities/constants.dart' ;
119import 'package:runanywhere_ai/core/utilities/keychain_helper.dart' ;
1210import 'package:runanywhere_genie/runanywhere_genie.dart' ;
1311import 'package:runanywhere_llamacpp/runanywhere_llamacpp.dart' ;
1412import 'package:runanywhere_onnx/runanywhere_onnx.dart' ;
1513
16- /// RunAnywhereAIApp (mirroring iOS RunAnywhereAIApp.swift)
14+ /// RunAnywhereAIApp
1715///
1816/// Main application entry point with SDK initialization.
1917class RunAnywhereAIApp extends StatefulWidget {
@@ -87,8 +85,6 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
8785 debugPrint (
8886 '🔧 Environment: ${RunAnywhere .environment ?.description ?? "Unknown" }' );
8987
90- await ModelManager .shared.refresh ();
91-
9288 debugPrint (
9389 '💡 Models registered, user can now download and select models' );
9490 } catch (e) {
@@ -123,8 +119,7 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
123119 // ── Step 1: Download ─────────────────────────────────────────
124120 debugPrint ('▶ Step 1: downloading $testModelId …' );
125121 final sw = Stopwatch ()..start ();
126- final progressStream =
127- RunAnywhere .downloads.start (testModelId);
122+ final progressStream = RunAnywhere .downloads.start (testModelId);
128123
129124 double lastPct = 0 ;
130125 await for (final p in progressStream) {
@@ -144,8 +139,6 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
144139
145140 // Let the download adapter finalize (path update, registry sync)
146141 await Future <void >.delayed (const Duration (milliseconds: 500 ));
147- await ModelManager .shared.refresh ();
148-
149142 // Re-run discovery so the SDK sees the downloaded file
150143 final models = await RunAnywhere .models.available ();
151144 final dlModel = models.where ((m) => m.id == testModelId).firstOrNull;
@@ -170,8 +163,7 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
170163 temperature: 0.7 ,
171164 systemPrompt: 'You are a helpful assistant.' ,
172165 );
173- final result =
174- await RunAnywhere .llm.generate ('Hello!' , genOpts);
166+ final result = await RunAnywhere .llm.generate ('Hello!' , genOpts);
175167 sw.stop ();
176168 debugPrint (
177169 '✅ generate() => "${result .text .substring (0 , result .text .length .clamp (0 , 120 ))}"' );
@@ -188,8 +180,7 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
188180 temperature: 0.7 ,
189181 systemPrompt: 'You are a helpful assistant.' ,
190182 );
191- final stream = RunAnywhere .llm
192- .generateStream ('What is 2+2?' , streamOpts);
183+ final stream = RunAnywhere .llm.generateStream ('What is 2+2?' , streamOpts);
193184 final buf = StringBuffer ();
194185 int tokenCount = 0 ;
195186 await for (final event in stream) {
@@ -222,7 +213,7 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
222213 }
223214 }
224215
225- /// True once we've registered modules + models exactly once. Without
216+ /// True once we've registered modules + models once. Without
226217 /// this guard, hot-reload (or any second call) re-runs the entire
227218 /// LLM catalog registration block, which is wasteful (B-FL-3-002).
228219 static bool _modulesRegistered = false ;
@@ -248,7 +239,6 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
248239
249240 /// Register modules with their associated models
250241 /// Each module explicitly owns its models - the framework is determined by the module
251- /// Matches iOS registerModulesAndModels pattern exactly
252242 Future <void > _registerModulesAndModels () async {
253243 if (_modulesRegistered) {
254244 debugPrint ('📦 Modules already registered — skipping (B-FL-3-002)' );
@@ -505,7 +495,8 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
505495 modality: ModelCategory .MODEL_CATEGORY_VOICE_ACTIVITY_DETECTION ,
506496 memoryRequirement: 5000000 ,
507497 );
508- debugPrint ('✅ STT/TTS/VAD models registered via Core SDK (incl. system-tts)' );
498+ debugPrint (
499+ '✅ STT/TTS/VAD models registered via Core SDK (incl. system-tts)' );
509500 await Future <void >.delayed (Duration .zero);
510501
511502 // --- RAG EMBEDDINGS ---
@@ -555,42 +546,37 @@ class _RunAnywhereAIAppState extends State<RunAnywhereAIApp> {
555546
556547 @override
557548 Widget build (BuildContext context) {
558- return MultiProvider (
559- providers: [
560- ChangeNotifierProvider .value (value: ModelManager .shared),
561- ],
562- child: MaterialApp (
563- scaffoldMessengerKey: _messengerKey,
564- title: 'RunAnywhere AI' ,
565- debugShowCheckedModeBanner: false ,
566- theme: ThemeData (
567- colorScheme: ColorScheme .fromSeed (
568- seedColor: AppColors .primaryBlue,
569- brightness: Brightness .light,
570- ),
571- useMaterial3: true ,
572- appBarTheme: const AppBarTheme (
573- centerTitle: true ,
574- elevation: 0 ,
575- ),
576- navigationBarTheme: NavigationBarThemeData (
577- indicatorColor: AppColors .primaryBlue.withValues (alpha: 0.2 ),
578- ),
549+ return MaterialApp (
550+ scaffoldMessengerKey: _messengerKey,
551+ title: 'RunAnywhere AI' ,
552+ debugShowCheckedModeBanner: false ,
553+ theme: ThemeData (
554+ colorScheme: ColorScheme .fromSeed (
555+ seedColor: AppColors .primaryBlue,
556+ brightness: Brightness .light,
557+ ),
558+ useMaterial3: true ,
559+ appBarTheme: const AppBarTheme (
560+ centerTitle: true ,
561+ elevation: 0 ,
562+ ),
563+ navigationBarTheme: NavigationBarThemeData (
564+ indicatorColor: AppColors .primaryBlue.withValues (alpha: 0.2 ),
565+ ),
566+ ),
567+ darkTheme: ThemeData (
568+ colorScheme: ColorScheme .fromSeed (
569+ seedColor: AppColors .primaryBlue,
570+ brightness: Brightness .dark,
579571 ),
580- darkTheme: ThemeData (
581- colorScheme: ColorScheme .fromSeed (
582- seedColor: AppColors .primaryBlue,
583- brightness: Brightness .dark,
584- ),
585- useMaterial3: true ,
586- appBarTheme: const AppBarTheme (
587- centerTitle: true ,
588- elevation: 0 ,
589- ),
572+ useMaterial3: true ,
573+ appBarTheme: const AppBarTheme (
574+ centerTitle: true ,
575+ elevation: 0 ,
590576 ),
591- themeMode: ThemeMode .system,
592- home: _buildHome (),
593577 ),
578+ themeMode: ThemeMode .system,
579+ home: _buildHome (),
594580 );
595581 }
596582
0 commit comments