Merge branch 'db_and_services' into mirage_logging_null_safety

This commit is contained in:
Neeraj Gupta 2022-12-30 15:43:47 +05:30
commit aa80a6cc4d
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
4 changed files with 26 additions and 38 deletions

View file

@ -1,5 +1,3 @@
// @dart=2.9
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:logging/logging.dart';
@ -21,7 +19,7 @@ class PushService {
static final PushService instance = PushService._privateConstructor();
static final _logger = Logger("PushService");
SharedPreferences _prefs;
late SharedPreferences _prefs;
PushService._privateConstructor();
@ -46,14 +44,15 @@ class PushService {
}
Future<void> _configurePushToken() async {
final fcmToken = await FirebaseMessaging.instance.getToken();
final String? fcmToken = await FirebaseMessaging.instance.getToken();
final shouldForceRefreshServerToken =
DateTime.now().microsecondsSinceEpoch -
(_prefs.getInt(kLastFCMTokenUpdationTime) ?? 0) >
kFCMTokenUpdationIntervalInMicroSeconds;
if (_prefs.getString(kFCMPushToken) != fcmToken ||
shouldForceRefreshServerToken) {
final apnsToken = await FirebaseMessaging.instance.getAPNSToken();
if (fcmToken != null &&
(_prefs.getString(kFCMPushToken) != fcmToken ||
shouldForceRefreshServerToken)) {
final String? apnsToken = await FirebaseMessaging.instance.getAPNSToken();
try {
_logger.info("Updating token on server");
await _setPushTokenOnServer(fcmToken, apnsToken);
@ -71,7 +70,10 @@ class PushService {
}
}
Future<void> _setPushTokenOnServer(String fcmToken, String apnsToken) async {
Future<void> _setPushTokenOnServer(
String fcmToken,
String? apnsToken,
) async {
await Network.instance.enteDio.post(
"/push/token",
data: {

View file

@ -65,6 +65,7 @@ class _RecoveryKeyPageState extends State<RecoveryKeyPage> {
return Scaffold(
appBar: widget.showProgressBar
? AppBar(
automaticallyImplyLeading: false,
elevation: 0,
title: Hero(
tag: "recovery_key",
@ -97,6 +98,7 @@ class _RecoveryKeyPageState extends State<RecoveryKeyPage> {
child: IntrinsicHeight(
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
widget.showAppBar
? const SizedBox.shrink()

View file

@ -14,37 +14,13 @@ enum ActionSheetType {
iconOnly,
}
Future<ButtonAction?> showCommonActionSheet({
required BuildContext context,
required List<ButtonWidget> buttons,
required ActionSheetType actionSheetType,
bool isCheckIconGreen = false,
String? title,
String? body,
}) {
return showMaterialModalBottomSheet(
backgroundColor: Colors.transparent,
barrierColor: backdropFaintDark,
useRootNavigator: true,
context: context,
builder: (_) {
return ActionSheetWidget(
title: title,
body: body,
actionButtons: buttons,
actionSheetType: actionSheetType,
isCheckIconGreen: isCheckIconGreen,
);
},
isDismissible: false,
enableDrag: false,
);
}
///Returns null if dismissed
Future<ButtonAction?> showActionSheet({
required BuildContext context,
required List<ButtonWidget> buttons,
required ActionSheetType actionSheetType,
bool enableDrag = true,
bool isDismissible = true,
bool isCheckIconGreen = false,
String? title,
String? body,
@ -54,6 +30,8 @@ Future<ButtonAction?> showActionSheet({
barrierColor: backdropFaintDark,
useRootNavigator: true,
context: context,
isDismissible: isDismissible,
enableDrag: enableDrag,
builder: (_) {
return ActionSheetWidget(
title: title,
@ -63,8 +41,6 @@ Future<ButtonAction?> showActionSheet({
isCheckIconGreen: isCheckIconGreen,
);
},
isDismissible: false,
enableDrag: false,
);
}

View file

@ -9,14 +9,17 @@ import 'package:photos/ui/components/button_widget.dart';
import 'package:photos/ui/components/models/button_type.dart';
import 'package:photos/utils/separators_util.dart';
///Will return null if dismissed by tapping outside
Future<ButtonAction?> showGenericErrorDialog({
required BuildContext context,
bool isDismissible = true,
}) async {
return showDialogWidget(
context: context,
title: "Error",
icon: Icons.error_outline_outlined,
body: "It looks like something went wrong. Please try again.",
isDismissible: isDismissible,
buttons: const [
ButtonWidget(
buttonType: ButtonType.secondary,
@ -27,6 +30,7 @@ Future<ButtonAction?> showGenericErrorDialog({
);
}
///Will return null if dismissed by tapping outside
Future<ButtonAction?> showNewChoiceDialog({
required BuildContext context,
required String title,
@ -41,6 +45,7 @@ Future<ButtonAction?> showNewChoiceDialog({
FutureVoidCallback? secondButtonOnTap,
bool isCritical = false,
IconData? icon,
bool isDismissible = true,
}) async {
final buttons = [
ButtonWidget(
@ -64,18 +69,21 @@ Future<ButtonAction?> showNewChoiceDialog({
body: body,
buttons: buttons,
icon: icon,
isDismissible: isDismissible,
);
}
///Will return null if dismissed by tapping outside
Future<ButtonAction?> showDialogWidget({
required BuildContext context,
required String title,
String? body,
required List<ButtonWidget> buttons,
IconData? icon,
bool isDismissible = true,
}) {
return showDialog(
barrierDismissible: false,
barrierDismissible: isDismissible,
barrierColor: backdropFaintDark,
context: context,
builder: (context) {