internalRequest method
Implementation
@override
Future<String?> internalRequest(data) async {
if (data is List && data[0][gType] == gTable) {
WidgetsFlutterBinding.ensureInitialized();
/*if (Platform.isWindows || Platform.isLinux) {
// Initialize FFI
sqfliteFfiInit();
}
databaseFactory = databaseFactoryFfi;*/
/*if (isSS() && !Platform.isWindows && !Platform.isLinux) {
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
}*/
/*ChangeNotifierProvider<DataModel>(
create: (context) => DataModel(),
child: MaterialApp(home: ChangeNotifierProviderDemo(data)),
);*/
Map mapTable = data[0];
BuildContext contextTable = mapTable[gContext];
data[0][gMsgChannel] = methodChannel;
Widget firstPage = ChangeNotifierProvider<DataModel>(
create: (context) => DataModel(),
child: MaterialApp(home: ChangeNotifierProviderDemo(data)),
);
Route lastRoute = MaterialPageRoute(builder: (context) => firstPage);
Navigator.push(contextTable, lastRoute);
return '';
} else {
final version =
await methodChannel.invokeMethod<String>('internalRequest', data);
return version;
}
}