diff --git a/lib/src/screens/receive/anonpay_receive_page.dart b/lib/src/screens/receive/anonpay_receive_page.dart index 1dae8e452..b602abde6 100644 --- a/lib/src/screens/receive/anonpay_receive_page.dart +++ b/lib/src/screens/receive/anonpay_receive_page.dart @@ -10,7 +10,7 @@ import 'package:cake_wallet/src/screens/receive/widgets/anonpay_status_section.d import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart'; import 'package:cake_wallet/src/screens/receive/widgets/copy_link_item.dart'; import 'package:cake_wallet/themes/extensions/qr_code_theme.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:flutter/material.dart'; import 'package:qr_flutter/qr_flutter.dart' as qr; import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart'; @@ -82,8 +82,7 @@ class AnonPayReceivePage extends BasePage { @override Widget Function(BuildContext, Widget) get rootWrapper => - (BuildContext context, Widget scaffold) => - GradientBackground(scaffold: scaffold); + (BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold); @override Widget body(BuildContext context) { @@ -101,19 +100,13 @@ class AnonPayReceivePage extends BasePage { ), child: GestureDetector( onTap: () async { - final double brightness = await DeviceDisplayBrightness.getBrightness(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData(data: invoiceInfo.clearnetUrl, - version: qr.QrVersions.auto, - ) - ); - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); + BrightnessUtil.changeBrightnessForFunction(() async { + await Navigator.pushNamed(context, Routes.fullscreenQR, + arguments: QrViewData( + data: invoiceInfo.clearnetUrl, + version: qr.QrVersions.auto, + )); + }); }, child: Hero( tag: Key(invoiceInfo.clearnetUrl), diff --git a/lib/src/screens/receive/widgets/qr_widget.dart b/lib/src/screens/receive/widgets/qr_widget.dart index 0d2a7c80d..a34893cd8 100644 --- a/lib/src/screens/receive/widgets/qr_widget.dart +++ b/lib/src/screens/receive/widgets/qr_widget.dart @@ -3,10 +3,9 @@ import 'package:cake_wallet/themes/extensions/qr_code_theme.dart'; import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/src/screens/exchange/widgets/currency_picker.dart'; import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart'; -import 'package:cake_wallet/utils/device_info.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:cake_wallet/utils/show_bar.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; @@ -64,7 +63,7 @@ class QRWidget extends StatelessWidget { flex: 5, child: GestureDetector( onTap: () { - changeBrightnessForRoute( + BrightnessUtil.changeBrightnessForFunction( () async { await Navigator.pushNamed(context, Routes.fullscreenQR, arguments: QrViewData( @@ -178,23 +177,4 @@ class QRWidget extends StatelessWidget { // update amount if currency changed addressListViewModel.changeAmount(amountController.text); } - - Future changeBrightnessForRoute(Future Function() navigation) async { - // if not mobile, just navigate - if (!DeviceInfo.instance.isMobile) { - navigation(); - return; - } - - // Get the current brightness: - final brightness = await DeviceDisplayBrightness.getBrightness(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - - await navigation(); - - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); - } } diff --git a/lib/src/screens/wallet_keys/wallet_keys_page.dart b/lib/src/screens/wallet_keys/wallet_keys_page.dart index 37ed3a692..5117f152f 100644 --- a/lib/src/screens/wallet_keys/wallet_keys_page.dart +++ b/lib/src/screens/wallet_keys/wallet_keys_page.dart @@ -5,10 +5,10 @@ import 'package:cake_wallet/src/widgets/list_row.dart'; import 'package:cake_wallet/src/widgets/section_divider.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/routes.dart'; +import 'package:cake_wallet/utils/brightness_util.dart'; import 'package:cake_wallet/utils/clipboard_util.dart'; import 'package:cake_wallet/utils/show_bar.dart'; import 'package:cake_wallet/view_model/wallet_keys_view_model.dart'; -import 'package:device_display_brightness/device_display_brightness.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; @@ -26,19 +26,15 @@ class WalletKeysPage extends BasePage { @override Widget trailing(BuildContext context) => IconButton( onPressed: () async { - // Get the current brightness: - final double brightness = await DeviceDisplayBrightness.getBrightness(); final url = await walletKeysViewModel.url; - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(1.0); - await Navigator.pushNamed( - context, - Routes.fullscreenQR, - arguments: QrViewData(data: url.toString(), version: QrVersions.auto), - ); - // ignore: unawaited_futures - DeviceDisplayBrightness.setBrightness(brightness); + BrightnessUtil.changeBrightnessForFunction(() async { + await Navigator.pushNamed( + context, + Routes.fullscreenQR, + arguments: QrViewData(data: url.toString(), version: QrVersions.auto), + ); + }); }, splashColor: Colors.transparent, highlightColor: Colors.transparent, diff --git a/lib/utils/brightness_util.dart b/lib/utils/brightness_util.dart new file mode 100644 index 000000000..5afe065e5 --- /dev/null +++ b/lib/utils/brightness_util.dart @@ -0,0 +1,23 @@ +import 'package:cake_wallet/utils/device_info.dart'; +import 'package:device_display_brightness/device_display_brightness.dart'; + +class BrightnessUtil { + static Future changeBrightnessForFunction(Future Function() func) async { + // if not mobile, just navigate + if (!DeviceInfo.instance.isMobile) { + func(); + return; + } + + // Get the current brightness: + final brightness = await DeviceDisplayBrightness.getBrightness(); + + // ignore: unawaited_futures + DeviceDisplayBrightness.setBrightness(1.0); + + await func(); + + // ignore: unawaited_futures + DeviceDisplayBrightness.setBrightness(brightness); + } +} \ No newline at end of file