Add random endpoint choossing in main; WIP: Add commented code for wallet list refresh; Add TODO
This commit is contained in:
parent
2b053226a7
commit
a1f2b92d5b
|
@ -0,0 +1,3 @@
|
||||||
|
[
|
||||||
|
"https://g1.librelois.fr/gva"
|
||||||
|
]
|
|
@ -4,31 +4,84 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:graphql_flutter/graphql_flutter.dart';
|
import 'package:graphql_flutter/graphql_flutter.dart';
|
||||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:http/http.dart' as http;
|
||||||
|
// import 'package:flutter/services.dart' show rootBundle;
|
||||||
|
import 'dart:math';
|
||||||
|
// import 'dart:convert';
|
||||||
|
|
||||||
// void main() => runApp(Gecko());
|
|
||||||
final bool enableSentry = true;
|
final bool enableSentry = true;
|
||||||
|
|
||||||
|
// Future<String> getJsonEndpoints() {
|
||||||
|
// return rootBundle.loadString('config/gva_endpoints.json');
|
||||||
|
// }
|
||||||
|
|
||||||
|
T getRandomElement<T>(List<T> list) {
|
||||||
|
final random = new Random();
|
||||||
|
var i = random.nextInt(list.length);
|
||||||
|
return list[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<String> getRandomEndpoint() async {
|
||||||
|
// TODO: Improve implemention of getRandomEndpoint() with JSON and error handling
|
||||||
|
// final _json = json.decode(await getJsonEndpoints());
|
||||||
|
// print('JSON !! :');
|
||||||
|
// print(_json);
|
||||||
|
// final _list = _json[];
|
||||||
|
|
||||||
|
final _list = ['https://g1.librelois.fr/gva'];
|
||||||
|
final _endpoint = getRandomElement(_list);
|
||||||
|
print('ENDPOINT: ' + _endpoint);
|
||||||
|
|
||||||
|
// http.post(_endpoint);
|
||||||
|
final response = await http.post(_endpoint);
|
||||||
|
if (response.statusCode != 200) {
|
||||||
|
print('Endpoint statutcode: ' + response.statusCode.toString());
|
||||||
|
// _endpoint = getRandomElement(_list);
|
||||||
|
return 'HS';
|
||||||
|
}
|
||||||
|
|
||||||
|
return _endpoint;
|
||||||
|
}
|
||||||
|
|
||||||
Future<void> main() async {
|
Future<void> main() async {
|
||||||
|
String randomEndpoint; // = await getRandomEndpoint();
|
||||||
|
int i = 0;
|
||||||
|
do {
|
||||||
|
print(i);
|
||||||
|
if (i >= 3) {
|
||||||
|
print('NO VALID ENDPOINT FOUND !');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i != 0) {
|
||||||
|
await Future.delayed(Duration(milliseconds: 500));
|
||||||
|
}
|
||||||
|
randomEndpoint = await getRandomEndpoint();
|
||||||
|
i++;
|
||||||
|
} while (randomEndpoint == 'HS');
|
||||||
|
|
||||||
if (kReleaseMode && enableSentry) {
|
if (kReleaseMode && enableSentry) {
|
||||||
await SentryFlutter.init(
|
await SentryFlutter.init(
|
||||||
(options) {
|
(options) {
|
||||||
options.dsn =
|
options.dsn =
|
||||||
'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110';
|
'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110';
|
||||||
},
|
},
|
||||||
appRunner: () => runApp(Gecko()),
|
appRunner: () => runApp(Gecko(randomEndpoint)),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
print('Debug mode enabled: No sentry alerte');
|
print('Debug mode enabled: No sentry alerte');
|
||||||
runApp(Gecko());
|
runApp(Gecko(randomEndpoint));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class Gecko extends StatelessWidget {
|
class Gecko extends StatelessWidget {
|
||||||
|
Gecko(this.randomEndpoint);
|
||||||
|
final String randomEndpoint;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final _httpLink = HttpLink(
|
final _httpLink = HttpLink(
|
||||||
// 'http://192.168.1.91:10060/gva',
|
// 'http://192.168.1.91:10060/gva',
|
||||||
'https://g1.librelois.fr/gva',
|
randomEndpoint,
|
||||||
);
|
);
|
||||||
|
|
||||||
final _client = ValueNotifier(
|
final _client = ValueNotifier(
|
||||||
|
|
|
@ -14,7 +14,7 @@ class GenerateWalletScreen extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class GenerateWalletState extends State<GenerateWalletScreen> {
|
class GenerateWalletState extends State<GenerateWalletScreen> {
|
||||||
GlobalKey<MyWalletState> _keyWallets = GlobalKey();
|
GlobalKey<MyWalletState> _keyMyWallets = GlobalKey();
|
||||||
GlobalKey<ValidStoreWalletState> _keyValidWallets = GlobalKey();
|
GlobalKey<ValidStoreWalletState> _keyValidWallets = GlobalKey();
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
@ -102,7 +102,7 @@ class GenerateWalletState extends State<GenerateWalletScreen> {
|
||||||
if (fSnapshot.hasData)
|
if (fSnapshot.hasData)
|
||||||
return Visibility(
|
return Visibility(
|
||||||
visible: fSnapshot.data,
|
visible: fSnapshot.data,
|
||||||
child: MyWalletsScreen(keyWallets: _keyWallets));
|
child: MyWalletsScreen(keyMyWallets: _keyMyWallets));
|
||||||
return Center(child: CircularProgressIndicator());
|
return Center(child: CircularProgressIndicator());
|
||||||
}),
|
}),
|
||||||
SizedBox(height: 8),
|
SizedBox(height: 8),
|
||||||
|
@ -164,7 +164,7 @@ class GenerateWalletState extends State<GenerateWalletScreen> {
|
||||||
fontSize: 30.0,
|
fontSize: 30.0,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold)),
|
fontWeight: FontWeight.bold)),
|
||||||
SizedBox(height: 12),
|
SizedBox(height: 20),
|
||||||
// Expanded(child: Align(alignment: Alignment.bottomCenter)),
|
// Expanded(child: Align(alignment: Alignment.bottomCenter)),
|
||||||
new RaisedButton(
|
new RaisedButton(
|
||||||
color: Color(0xffFFD68E),
|
color: Color(0xffFFD68E),
|
||||||
|
@ -192,12 +192,12 @@ class GenerateWalletState extends State<GenerateWalletScreen> {
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// getAllWalletsNames();
|
// getAllWalletsNames();
|
||||||
// checkIfWalletExist('tata');
|
// checkIfWalletExist('tata');
|
||||||
// _keyWallets.currentState.getAllWalletsNames();
|
// _keyMyWallets.currentState.getAllWalletsNames();
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
child: Text('Enregistrer ce wallet',
|
child: Text('Enregistrer ce portefeuille',
|
||||||
style: TextStyle(fontSize: 20))),
|
style: TextStyle(fontSize: 20))),
|
||||||
SizedBox(height: 20)
|
SizedBox(height: 20)
|
||||||
]),
|
]),
|
||||||
|
@ -219,7 +219,8 @@ class GenerateWalletState extends State<GenerateWalletScreen> {
|
||||||
final bool _isExist = await checkIfWalletExist('tata');
|
final bool _isExist = await checkIfWalletExist('tata');
|
||||||
print('The wallet exist in resetWalletState(): ' + _isExist.toString());
|
print('The wallet exist in resetWalletState(): ' + _isExist.toString());
|
||||||
// initState();
|
// initState();
|
||||||
// _keyWallets.currentState.setState(() {});
|
// _keyMyWallets.currentState.setState(() {});
|
||||||
|
// _keyMyWallets.currentState.initAppDirectory();
|
||||||
setState(() {
|
setState(() {
|
||||||
// getAllWalletsNames();
|
// getAllWalletsNames();
|
||||||
// this.walletIsGenerated = true;
|
// this.walletIsGenerated = true;
|
||||||
|
|
|
@ -9,7 +9,7 @@ import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:pin_code_fields/pin_code_fields.dart';
|
import 'package:pin_code_fields/pin_code_fields.dart';
|
||||||
|
|
||||||
class MyWalletsScreen extends StatefulWidget {
|
class MyWalletsScreen extends StatefulWidget {
|
||||||
const MyWalletsScreen({Key keyWallets}) : super(key: keyWallets);
|
const MyWalletsScreen({Key keyMyWallets}) : super(key: keyMyWallets);
|
||||||
@override
|
@override
|
||||||
MyWalletState createState() => MyWalletState();
|
MyWalletState createState() => MyWalletState();
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ packages:
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.4+1"
|
version: "1.4.4+1"
|
||||||
http:
|
http:
|
||||||
dependency: transitive
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
|
|
|
@ -26,6 +26,7 @@ dependencies:
|
||||||
sentry_flutter: ^4.0.1
|
sentry_flutter: ^4.0.1
|
||||||
path_provider: ^1.6.24
|
path_provider: ^1.6.24
|
||||||
pin_code_fields: ^6.0.2
|
pin_code_fields: ^6.0.2
|
||||||
|
http: ^0.12.2
|
||||||
|
|
||||||
|
|
||||||
flutter_icons:
|
flutter_icons:
|
||||||
|
@ -44,3 +45,4 @@ flutter:
|
||||||
|
|
||||||
assets:
|
assets:
|
||||||
- images/
|
- images/
|
||||||
|
- config/
|
Loading…
Reference in New Issue