tiki_data 0.0.21
tiki_data: ^0.0.21 copied to clipboard
flutter sdk for data
import 'dart:async';
import 'package:amplitude_flutter/amplitude.dart';
import 'widgets/widgety.dart';
import 'package:flutter/material.dart';
import 'package:httpp/httpp.dart';
import 'package:logging/logging.dart';
import 'package:sqflite_sqlcipher/sqflite.dart';
import 'package:tiki_data/tiki_data.dart';
import 'package:tiki_decision/tiki_decision.dart';
import 'package:tiki_kv/tiki_kv.dart';
import 'package:tiki_localgraph/tiki_localgraph.dart';
import 'package:tiki_spam_cards/tiki_spam_cards.dart';
import 'package:tiki_wallet/tiki_wallet.dart';
import 'widgets/fetch_command_tester.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
String Function() accessToken = () => '';
Httpp httpp = Httpp();
Database database = await openDatabase('tiki_data_test5.db');
TikiKv tikiKv = await TikiKv(database: database).init();
TikiDecision decision = await TikiDecision(tikiKv: tikiKv).init();
TikiKeysModel keys = await TikiKeysService().generate();
TikiChainService chainService = await TikiChainService(keys).open(
database: database, kv: tikiKv, httpp: httpp, accessToken: accessToken);
TikiLocalGraph localGraph = await TikiLocalGraph(chainService)
.open(database, httpp: httpp, accessToken: accessToken);
Logger.root.level = Level.INFO;
Logger.root.onRecord.listen((record) {
if(record.level == Level.INFO) {
return print(
'${record.level.name} [${record.loggerName}] ${record.message}');
};
});
Amplitude amplitude = Amplitude.getInstance(instanceName: "Develop");
await amplitude.init("afba707e002643a678747221206c9605");
await amplitude.enableCoppaControl();
await amplitude.setUserId(null);
await amplitude.trackingSessionEvents(true);
TikiData tikiData = await TikiData().init(
database: database,
spamCards: TikiSpamCards(decision),
decision: decision,
localGraph: localGraph,
httpp: httpp,
accessToken: accessToken,
amplitude: amplitude);
runZonedGuarded(() async {
FlutterError.onError = (FlutterErrorDetails details) {
Logger("Flutter Error")
.severe(details.summary, details.exception, details.stack);
};
runApp(MaterialApp(
title: 'Data Example',
theme: ThemeData(),
home: Builder(builder: (context) => Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
child: Text('App Screen Test'),
onPressed: () => navigateTo(Widgety(tikiData), context)),
ElevatedButton(
child: Text('Fetch Command Test'),
onPressed: () => navigateTo(FetchCommandTester(tikiData), context))
]
)
),
),
)));
}, (exception, stackTrace) async {
Logger("Uncaught Exception")
.severe("Caught by runZoneGuarded", exception, stackTrace);
});
}
navigateTo(Widget destination, BuildContext context) {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => destination));
}