From 4373e95cbfe6f0db07b0567a57be5eb225e92f0d Mon Sep 17 00:00:00 2001 From: poka Date: Thu, 18 Feb 2021 07:54:35 +0100 Subject: [PATCH] Catch DubpRust.setup errors on startup; Change Home tab to Explorer tab with icon --- assets/blockchain.png | Bin 0 -> 9554 bytes lib/main.dart | 113 +++++++++++++++++++-------------------- lib/models/history.dart | 11 ++-- lib/screens/history.dart | 4 +- lib/screens/home.dart | 15 ++++-- pubspec.yaml | 3 +- scripts/build-apk.sh | 3 +- 7 files changed, 80 insertions(+), 69 deletions(-) create mode 100755 assets/blockchain.png diff --git a/assets/blockchain.png b/assets/blockchain.png new file mode 100755 index 0000000000000000000000000000000000000000..8b9eb70a2586801ef228756097dc16bea1387d0f GIT binary patch literal 9554 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 ?lpi^8piv{TY_XE34_A*e4M5s5%M=NY}t%n$c zKDVd%Q`wCcIo4ZBR(9Syq;l83nVBEuSMUTiRHc2NEhsr6=G`Y^iSlEX`P+_MJC3hi zpFd_Kuw!H~FKmAO3chT2f@Hq+yRP9mEgYu-;JN&K&v_ZtAf>&sJOYRWmHJ?xsNOb- zQeE^osEe4bkPNY!y5+!V?rH-eAADMi5~SWtfjW9EkTE*#Ek{!(dHf6H@GHQ|r;nQ) zph=cH_W+R}qIl>r5J^62Ar@Z+0Ib3aMAhP{6>QGT1p*5&TnWWEnHhO+6~3rSsFvwD zScJD=0(*qX%3A9~w$E^A-Z@#~5|zoPyns{d6&MK7UJK*Y-&sW059`8iGkY#Y04F=< z$EK8PIXRsKRrC!oVv$_TM1HZZ>64GSKQlAUDJ<3)0)NW6VEm%Q5b?FV=Z>k3IoGy) zTU5jCV5ZmM6lUH(9cmHr@3@odjABV|hJf}PZ1Vq2i%;Tl)_7{-3wv9egNqZeD&V~T zG{XnfQ7ZAU$0~dFT+aeZWj3F#3#wR3YDnIe(>-(=LACxnbae5(2XieSH-Pw_abBua zjNnr?hcu#pWni0{Wkn_8PRM8d6AgXiwDmMuRIigQj)(>s z7R|<%Mg}Q}MIG0i%t|a~T5U8)ui5kfS?N#Fsdr(Nml!DL7J6}KpA>wz7LqX5oqCCG zVv46zCu`UJ8R+}iky`4KWj^cpYQ}O;o3g(rOtE{OqA7R)@2tz|%RE$dLhk43COFkY zm@EbBT(4~k0bunZ%GZCeLz0OO#+O&)4z^*Lc`?!TdvZBprts7g5u-SGJpX1ZcXf86 z(%AbZ{XEYsUv|#r!F}hwwxvIO=wsw{(EEt9M@w|I9aXoJk=;zQD|?(bAD)>iJEOcZ!K-_-YZFi`|u~3Ut$pt_c@TUP;s}Whd0b(PD}Nl z2$W+16`c{i{_K{GQDZ>{Qx&4?*|0~Qu^=DHdk3Cg?r8~KB8~h}BcAoP3)DvXl=r|A z591s|cOPrSK;o;Zm&Zhd2B`>3m)&Dsk;CVWR9W7m5NFPBCBtE|2m2I%cK2QG zB&;?teb{{{SG@vUIrn*fx%eK71gzR)`q=yAy-cGOL>N+;P+JG-#Fzjx6|+b6wx~BW zy@?wJ&rz7!a81;U#7s58_nZ08WgH%Mqh(O6r`iDMip6XZw3TCg@5HHFn5$GY>2IK> zPhNq(s@-7|G(F)dqwrby-&05`tetJYZSvR8I>iQE354YjKnjSY&{05&kVL->aPlMY zJfe6r2J{7DyF!odx$M>SiVnvh$LHbRqi!m{BXKOYsjF@thf{bXPDTabk{ficqG%zw0LrTe*a{^(hT&k`;XYLgbe3H?iB z+5Gc^9X^f#(aZP&)dVkhUu|`_!45&%0$5=gJSC$OIfRK;L5(1a`iJO-AJ(L36p7O2 z86r;*lK2}Vh8%5FqcpOxh!>Q`ADj);FfnV@kx%Q(%T@?p1R-C6=t>bD@3u`t&znS{ z6$=9Ht~6UQqlJRem-#)0qK9UMWR1mQld2=At}Zb&O|56^RUcr{SEirXlrKt5 zJEDKnwTWO~ln{#a?v^YMI)pAy)1J!XdCU*{u=P3k^7<8|Iyr27)MAvm(!g+`DcXP> zSZye{Iq1zy%wA#U#D0nfC?;^8(OOJ)sZkflBqNF1Pghq~v%dEfuKu7tt0qa4P2uj+ z$`+#|G1mptQds+Q6m!Weo$gG(l}KG>y&xF4STOSk@Jx_?rnrgshTd7?p~NWdTb-JL iVjZTT{}4be1s_|VsZHuCzVYABC?$}pe4VUm=>GtR@y;{= literal 0 HcmV?d00001 diff --git a/lib/main.dart b/lib/main.dart index eabf207..7efdea8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -24,69 +24,58 @@ import 'package:catcher/catcher.dart'; final bool enableSentry = true; Future main() async { - try { - WidgetsFlutterBinding.ensureInitialized(); + WidgetsFlutterBinding.ensureInitialized(); - // var downloadsDirectory = DownloadsPathProvider.downloadsDirectory; - // File logFile = File(downloadsDirectory.toString() + '/gecko.log'); + // var downloadsDirectory = DownloadsPathProvider.downloadsDirectory; + // File logFile = File(downloadsDirectory.toString() + '/gecko.log'); - // await FlutterLogs.initLogs( - // logLevelsEnabled: [ - // LogLevel.INFO, - // LogLevel.WARNING, - // LogLevel.ERROR, - // LogLevel.SEVERE - // ], - // timeStampFormat: TimeStampFormat.TIME_FORMAT_READABLE, - // directoryStructure: DirectoryStructure.FOR_EVENT, - // logTypesEnabled: ["Locations", "APIs"], - // logFileExtension: LogFileExtension.LOG, - // logsWriteDirectoryName: downloadsDirectory.toString(), - // logsExportDirectoryName: downloadsDirectory.toString()); + // await FlutterLogs.initLogs( + // logLevelsEnabled: [ + // LogLevel.INFO, + // LogLevel.WARNING, + // LogLevel.ERROR, + // LogLevel.SEVERE + // ], + // timeStampFormat: TimeStampFormat.TIME_FORMAT_READABLE, + // directoryStructure: DirectoryStructure.FOR_EVENT, + // logTypesEnabled: ["Locations", "APIs"], + // logFileExtension: LogFileExtension.LOG, + // logsWriteDirectoryName: downloadsDirectory.toString(), + // logsExportDirectoryName: downloadsDirectory.toString()); - HomeProvider _homeProvider = HomeProvider(); - await _homeProvider.getAppPath(); - await _homeProvider.createDefaultAvatar(); - appVersion = await _homeProvider.getAppVersion(); - prefs = await SharedPreferences.getInstance(); - final HiveStore _store = - await HiveStore.open(path: '${appPath.path}/gqlCache'); + HomeProvider _homeProvider = HomeProvider(); + await _homeProvider.getAppPath(); + await _homeProvider.createDefaultAvatar(); + appVersion = await _homeProvider.getAppVersion(); + prefs = await SharedPreferences.getInstance(); + final HiveStore _store = + await HiveStore.open(path: '${appPath.path}/gqlCache'); - // Get a valid GVA endpoint - endPointGVA = await _homeProvider.getValidEndpoint(); + // Get a valid GVA endpoint + endPointGVA = await _homeProvider.getValidEndpoint(); - if (kReleaseMode && enableSentry) { - CatcherOptions debugOptions = CatcherOptions(DialogReportMode(), [ - SentryHandler(SentryClient(SentryOptions( - dsn: - "https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110"))) - ]); - // CatcherOptions releaseOptions = CatcherOptions(NotificationReportMode(), [ - // EmailManualHandler(["poka@p2p.legal"]) - // ]); - Catcher( - rootWidget: Gecko(endPointGVA, _store), debugConfig: debugOptions); + if (kReleaseMode && enableSentry) { + CatcherOptions debugOptions = CatcherOptions(DialogReportMode(), [ + SentryHandler(SentryClient(SentryOptions( + dsn: + "https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110"))) + ]); + // CatcherOptions releaseOptions = CatcherOptions(NotificationReportMode(), [ + // EmailManualHandler(["poka@p2p.legal"]) + // ]); + Catcher(rootWidget: Gecko(endPointGVA, _store), debugConfig: debugOptions); - // await SentryFlutter.init( - // (options) { - // options.dsn = - // 'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110'; - // }, - // appRunner: () => runApp(Gecko(endPointGVA, _store)), - // ); - } else { - print('Debug mode enabled: No sentry alerte'); + // await SentryFlutter.init( + // (options) { + // options.dsn = + // 'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110'; + // }, + // appRunner: () => runApp(Gecko(endPointGVA, _store)), + // ); + } else { + print('Debug mode enabled: No sentry alerte'); - runApp(Gecko(endPointGVA, _store)); - } - } catch (e, stack) { - print(e); - if (kReleaseMode) { - await Sentry.captureException( - e, - stackTrace: stack, - ); - } + runApp(Gecko(endPointGVA, _store)); } } @@ -107,7 +96,17 @@ class Gecko extends StatelessWidget { link: _httpLink, ), ); - DubpRust.setup(); + try { + DubpRust.setup(); + } catch (e, stack) { + print(e); + if (kReleaseMode) { + Sentry.captureException( + e, + stackTrace: stack, + ); + } + } return MultiProvider( providers: [ diff --git a/lib/models/history.dart b/lib/models/history.dart index 0b6f6fb..966d14c 100644 --- a/lib/models/history.dart +++ b/lib/models/history.dart @@ -1,8 +1,10 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/home.dart'; import 'package:graphql_flutter/graphql_flutter.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:provider/provider.dart'; import 'package:qrscan/qrscan.dart' as scanner; import 'dart:math'; import 'package:intl/intl.dart'; @@ -22,7 +24,7 @@ class HistoryProvider with ChangeNotifier { bool isHistoryScreen = false; String historySwitchButtun = "Voir l'historique"; - Future scan() async { + Future scan(context) async { await Permission.camera.request(); String barcode; try { @@ -33,14 +35,16 @@ class HistoryProvider with ChangeNotifier { } if (barcode != null) { this.outputPubkey.text = barcode; - isPubkey(barcode); + isPubkey(context, barcode); } else { return 'false'; } return barcode; } - String isPubkey(pubkey) { + String isPubkey(context, pubkey) { + HomeProvider _homeProvider = + Provider.of(context, listen: false); final RegExp regExp = new RegExp( r'^[a-zA-Z0-9]+$', caseSensitive: false, @@ -59,6 +63,7 @@ class HistoryProvider with ChangeNotifier { isHistoryScreen = false; historySwitchButtun = "Voir l'historique"; + _homeProvider.handleSearchEnd(); notifyListeners(); return pubkey; diff --git a/lib/screens/history.dart b/lib/screens/history.dart index a46980c..8a41aa5 100644 --- a/lib/screens/history.dart +++ b/lib/screens/history.dart @@ -43,7 +43,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { child: FloatingActionButton( heroTag: "buttonScan", onPressed: () async { - await _historyProvider.scan(); + await _historyProvider.scan(context); }, child: Container( height: 40.0, @@ -346,7 +346,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier { isThreeLine: false, onTap: () { // this._outputPubkey.text = repository[2]; - _historyProvider.isPubkey(repository[2]); + _historyProvider.isPubkey(context, repository[2]); })), if (result.isLoading) Row( diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 3132443..84bb6ec 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -88,7 +88,7 @@ class HomeScreen extends StatelessWidget { onChanged: (text) { print("Clé tappé: $text"); final String searchResult = - _historyProvider.isPubkey(text); + _historyProvider.isPubkey(context, text); if (searchResult != '') { _homeProvider.currentIndex = 0; } @@ -123,13 +123,18 @@ class HomeScreen extends StatelessWidget { currentIndex: _homeProvider.currentIndex, items: [ BottomNavigationBarItem( - icon: new Icon(Icons.format_list_bulleted), - label: 'Accueil', + icon: Padding( + padding: EdgeInsets.symmetric(horizontal: 86), + child: Image.asset('assets/blockchain.png')), + activeIcon: Padding( + padding: EdgeInsets.symmetric(horizontal: 86), + child: Image.asset('assets/blockchain.png')), + label: 'Explorateur', ), BottomNavigationBarItem( - icon: new Icon(Icons.lock), + icon: Icon(Icons.lock), label: 'Mes portefeuilles', - ) + ), ], ), ); diff --git a/pubspec.yaml b/pubspec.yaml index f38a631..87d2ae8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: A new Flutter project. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.1+8 +version: 0.0.1+10 environment: sdk: ">=2.7.0 <3.0.0" @@ -61,3 +61,4 @@ flutter: - assets/OpenSans-Regular.ttf - assets/icon_user.png - assets/qrcode-scan.png + - assets/blockchain.png diff --git a/scripts/build-apk.sh b/scripts/build-apk.sh index 9d20b45..86a0ac3 100755 --- a/scripts/build-apk.sh +++ b/scripts/build-apk.sh @@ -10,7 +10,7 @@ ori_app="app.apk" echo "Nom du build final: ${APPNAME}-${VERSION}+${BUILD}.apk" -## To compile Rust binding +## To build Rust dependancies # cargo br echo "To compile Rust binding, exec: cargo br" @@ -20,6 +20,7 @@ if [[ $1 == "bundle" ]]; then flutter build appbundle --release --target-platform android-arm,android-arm64 --build-name $VERSION --build-number $BUILD else # flutter build apk --release --split-per-abi --target-platform android-arm,android-arm64 --build-name $VERSION --build-number $BUILD +# flutter build apk --release --split-per-abi --build-name $VERSION --build-number $BUILD flutter build apk --release --build-name $VERSION --build-number $BUILD fi