diff --git a/lib/src/services/api.service.dart b/lib/src/services/api.service.dart index ef06b56..35710c6 100644 --- a/lib/src/services/api.service.dart +++ b/lib/src/services/api.service.dart @@ -21,8 +21,8 @@ import 'package:twonly/src/services/api/utils.dart'; import 'package:twonly/src/services/api/media_received.dart'; import 'package:twonly/src/services/api/media_send.dart'; import 'package:twonly/src/services/api/server_messages.dart'; -import 'package:twonly/src/services/signal/encryption.signal.dart'; import 'package:twonly/src/services/signal/identity.signal.dart'; +import 'package:twonly/src/services/signal/prekeys.signal.dart'; import 'package:twonly/src/services/signal/utils.signal.dart'; import 'package:twonly/src/utils/hive.dart'; import 'package:twonly/src/services/fcm.service.dart'; diff --git a/lib/src/services/signal/encryption.signal.dart b/lib/src/services/signal/encryption.signal.dart index 2994b39..5982e66 100644 --- a/lib/src/services/signal/encryption.signal.dart +++ b/lib/src/services/signal/encryption.signal.dart @@ -1,120 +1,15 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; -import 'package:drift/drift.dart'; import 'package:libsignal_protocol_dart/libsignal_protocol_dart.dart'; -import 'package:twonly/globals.dart'; import 'package:twonly/src/database/twonly_database.dart'; import 'package:twonly/src/model/json/message.dart'; import 'package:twonly/src/database/signal/connect_signal_protocol_store.dart'; import 'package:twonly/src/services/signal/consts.signal.dart'; +import 'package:twonly/src/services/signal/prekeys.signal.dart'; import 'package:twonly/src/services/signal/utils.signal.dart'; import 'package:twonly/src/utils/log.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/model/protobuf/api/server_to_client.pb.dart' - as server; - -class OtherPreKeys { - OtherPreKeys({ - required this.preKeys, - required this.signedPreKey, - required this.signedPreKeyId, - required this.signedPreKeySignature, - }); - final List preKeys; - final int signedPreKeyId; - final List signedPreKey; - final List signedPreKeySignature; -} - -// Future deleteSession(String userId) async { -// await mixinSignalProtocolStore.sessionStore.sessionDao -// .deleteSessionsByAddress(userId); -// } - -// Future processSession(String userId, PreKeyBundle preKeyBundle) async { -// final signalProtocolAddress = SignalProtocolAddress( -// userId, -// preKeyBundle.getDeviceId(), -// ); -// final sessionBuilder = SessionBuilder.fromSignalStore( -// mixinSignalProtocolStore, -// signalProtocolAddress, -// ); -// try { -// await sessionBuilder.processPreKeyBundle(preKeyBundle); -// } on UntrustedIdentityException { -// await mixinSignalProtocolStore.removeIdentity(signalProtocolAddress); -// await sessionBuilder.processPreKeyBundle(preKeyBundle); -// } -// } - -Future requestNewPrekeysForContact(int contactId) async { - final otherKeys = await apiService.getPreKeysByUserId(contactId); - if (otherKeys != null) { - Log.info("got fresh pre keys from other $contactId!"); - final preKeys = otherKeys.preKeys - .map( - (preKey) => SignalContactPreKeysCompanion( - contactId: Value(contactId), - preKey: Value(Uint8List.fromList(preKey.prekey)), - preKeyId: Value(preKey.id.toInt()), - ), - ) - .toList(); - await twonlyDB.signalDao.insertPreKeys(preKeys); - } else { - Log.error("could not load new pre keys for user $contactId"); - } -} - -Future getPreKeyByContactId(int contactId) async { - int count = await twonlyDB.signalDao.countPreKeysByContactId(contactId); - if (count < 10) { - Log.info( - "There are $count < 10 prekeys for $contactId. Loading fresh once from the server.", - ); - requestNewPrekeysForContact(contactId); - } - return twonlyDB.signalDao.popPreKeyByContactId(contactId); -} - -Future requestNewSignedPreKeyForContact(int contactId) async { - final signedPreKey = await apiService.getSignedKeyByUserId(contactId); - if (signedPreKey != null) { - Log.info("got fresh signed pre keys from other $contactId!"); - await twonlyDB.signalDao.insertOrUpdateSignedPreKeyByContactId( - SignalContactSignedPreKeysCompanion( - contactId: Value(contactId), - signedPreKey: Value(Uint8List.fromList(signedPreKey.signedPrekey)), - signedPreKeySignature: - Value(Uint8List.fromList(signedPreKey.signedPrekeySignature)), - signedPreKeyId: Value(signedPreKey.signedPrekeyId.toInt()), - )); - } else { - Log.error("could not load new signed pre key for user $contactId"); - } -} - -Future getSignedPreKeyByContactId( - int contactId, -) async { - SignalContactSignedPreKey? signedPreKey = - await twonlyDB.signalDao.getSignedPreKeyByContactId(contactId); - - if (signedPreKey != null) { - DateTime fortyEightHoursAgo = DateTime.now().subtract(Duration(hours: 48)); - bool isOlderThan48Hours = - (signedPreKey.createdAt).isBefore(fortyEightHoursAgo); - if (isOlderThan48Hours) { - requestNewSignedPreKeyForContact(contactId); - } - } else { - requestNewSignedPreKeyForContact(contactId); - Log.error("Contact $contactId does not have a signed pre key!"); - } - return signedPreKey; -} Future signalEncryptMessage(int target, MessageJson msg) async { try { diff --git a/lib/src/services/signal/prekeys.signal.dart b/lib/src/services/signal/prekeys.signal.dart new file mode 100644 index 0000000..fb2fb6a --- /dev/null +++ b/lib/src/services/signal/prekeys.signal.dart @@ -0,0 +1,86 @@ +import 'package:drift/drift.dart'; +import 'package:twonly/globals.dart'; +import 'package:twonly/src/database/twonly_database.dart'; +import 'package:twonly/src/utils/log.dart'; +import 'package:twonly/src/model/protobuf/api/server_to_client.pb.dart' + as server; + +class OtherPreKeys { + OtherPreKeys({ + required this.preKeys, + required this.signedPreKey, + required this.signedPreKeyId, + required this.signedPreKeySignature, + }); + final List preKeys; + final int signedPreKeyId; + final List signedPreKey; + final List signedPreKeySignature; +} + +Future requestNewPrekeysForContact(int contactId) async { + final otherKeys = await apiService.getPreKeysByUserId(contactId); + if (otherKeys != null) { + Log.info("got fresh pre keys from other $contactId!"); + final preKeys = otherKeys.preKeys + .map( + (preKey) => SignalContactPreKeysCompanion( + contactId: Value(contactId), + preKey: Value(Uint8List.fromList(preKey.prekey)), + preKeyId: Value(preKey.id.toInt()), + ), + ) + .toList(); + await twonlyDB.signalDao.insertPreKeys(preKeys); + } else { + Log.error("could not load new pre keys for user $contactId"); + } +} + +Future getPreKeyByContactId(int contactId) async { + int count = await twonlyDB.signalDao.countPreKeysByContactId(contactId); + if (count < 10) { + Log.info( + "There are $count < 10 prekeys for $contactId. Loading fresh once from the server.", + ); + requestNewPrekeysForContact(contactId); + } + return twonlyDB.signalDao.popPreKeyByContactId(contactId); +} + +Future requestNewSignedPreKeyForContact(int contactId) async { + final signedPreKey = await apiService.getSignedKeyByUserId(contactId); + if (signedPreKey != null) { + Log.info("got fresh signed pre keys from other $contactId!"); + await twonlyDB.signalDao.insertOrUpdateSignedPreKeyByContactId( + SignalContactSignedPreKeysCompanion( + contactId: Value(contactId), + signedPreKey: Value(Uint8List.fromList(signedPreKey.signedPrekey)), + signedPreKeySignature: + Value(Uint8List.fromList(signedPreKey.signedPrekeySignature)), + signedPreKeyId: Value(signedPreKey.signedPrekeyId.toInt()), + )); + } else { + Log.error("could not load new signed pre key for user $contactId"); + } +} + +Future getSignedPreKeyByContactId( + int contactId, +) async { + SignalContactSignedPreKey? signedPreKey = + await twonlyDB.signalDao.getSignedPreKeyByContactId(contactId); + + if (signedPreKey != null) { + DateTime fortyEightHoursAgo = DateTime.now().subtract(Duration(hours: 48)); + bool isOlderThan48Hours = + (signedPreKey.createdAt).isBefore(fortyEightHoursAgo); + if (isOlderThan48Hours) { + requestNewSignedPreKeyForContact(contactId); + } + } else { + requestNewSignedPreKeyForContact(contactId); + Log.error("Contact $contactId does not have a signed pre key!"); + } + return signedPreKey; +} diff --git a/lib/src/views/camera/share_image_editor_view.dart b/lib/src/views/camera/share_image_editor_view.dart index e51eb5f..dcd3ffa 100644 --- a/lib/src/views/camera/share_image_editor_view.dart +++ b/lib/src/views/camera/share_image_editor_view.dart @@ -23,7 +23,7 @@ import 'package:twonly/src/views/camera/image_editor/data/layer.dart'; import 'package:twonly/src/views/camera/image_editor/layers_viewer.dart'; import 'package:twonly/src/views/camera/image_editor/modules/all_emojis.dart'; import 'package:screenshot/screenshot.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; import 'package:video_player/video_player.dart'; List layers = []; diff --git a/lib/src/views/camera/share_image_view.dart b/lib/src/views/camera/share_image_view.dart index a6241e2..6b99e07 100644 --- a/lib/src/views/camera/share_image_view.dart +++ b/lib/src/views/camera/share_image_view.dart @@ -14,7 +14,7 @@ import 'package:twonly/src/views/components/verified_shield.dart'; import 'package:twonly/src/database/daos/contacts_dao.dart'; import 'package:twonly/src/database/twonly_database.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class ShareImageView extends StatefulWidget { const ShareImageView( diff --git a/lib/src/views/chats/add_new_user.view.dart b/lib/src/views/chats/add_new_user.view.dart index 08a1763..38035f8 100644 --- a/lib/src/views/chats/add_new_user.view.dart +++ b/lib/src/views/chats/add_new_user.view.dart @@ -18,7 +18,7 @@ import 'package:twonly/src/views/components/initialsavatar.dart'; import 'package:twonly/src/model/json/message.dart'; import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/utils/storage.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class AddNewUserView extends StatefulWidget { const AddNewUserView({super.key}); diff --git a/lib/src/views/chats/chat_list.view.dart b/lib/src/views/chats/chat_list.view.dart index bb806bb..9c29c3e 100644 --- a/lib/src/views/chats/chat_list.view.dart +++ b/lib/src/views/chats/chat_list.view.dart @@ -18,10 +18,10 @@ import 'package:twonly/src/views/camera/camera_send_to_view.dart'; import 'package:twonly/src/views/chats/chat_messages.view.dart'; import 'package:twonly/src/views/chats/media_viewer.view.dart'; import 'package:twonly/src/views/chats/start_new_chat.view.dart'; -import 'package:twonly/src/views/settings/settings_main_view.dart'; +import 'package:twonly/src/views/settings/settings_main.view.dart'; import 'package:twonly/src/views/chats/add_new_user.view.dart'; import 'package:flutter/material.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class ChatListView extends StatefulWidget { const ChatListView({super.key}); diff --git a/lib/src/views/settings/account_view.dart b/lib/src/views/settings/account.view.dart similarity index 100% rename from lib/src/views/settings/account_view.dart rename to lib/src/views/settings/account.view.dart diff --git a/lib/src/views/settings/appearance_view.dart b/lib/src/views/settings/appearance.view.dart similarity index 100% rename from lib/src/views/settings/appearance_view.dart rename to lib/src/views/settings/appearance.view.dart diff --git a/lib/src/views/settings/chat/chat_reactions_view.dart b/lib/src/views/settings/chat/chat_reactions.view.dart similarity index 100% rename from lib/src/views/settings/chat/chat_reactions_view.dart rename to lib/src/views/settings/chat/chat_reactions.view.dart diff --git a/lib/src/views/settings/chat/chat_settings_view.dart b/lib/src/views/settings/chat/chat_settings.view.dart similarity index 93% rename from lib/src/views/settings/chat/chat_settings_view.dart rename to lib/src/views/settings/chat/chat_settings.view.dart index 80797fb..88ab939 100644 --- a/lib/src/views/settings/chat/chat_settings_view.dart +++ b/lib/src/views/settings/chat/chat_settings.view.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/chat/chat_reactions_view.dart'; +import 'package:twonly/src/views/settings/chat/chat_reactions.view.dart'; class ChatSettingsView extends StatefulWidget { const ChatSettingsView({super.key}); diff --git a/lib/src/views/settings/data_and_storage_view.dart b/lib/src/views/settings/data_and_storage.view.dart similarity index 100% rename from lib/src/views/settings/data_and_storage_view.dart rename to lib/src/views/settings/data_and_storage.view.dart diff --git a/lib/src/views/settings/help/contact_us_view.dart b/lib/src/views/settings/help/contact_us.view.dart similarity index 100% rename from lib/src/views/settings/help/contact_us_view.dart rename to lib/src/views/settings/help/contact_us.view.dart diff --git a/lib/src/views/settings/help/credits_view.dart b/lib/src/views/settings/help/credits.view.dart similarity index 100% rename from lib/src/views/settings/help/credits_view.dart rename to lib/src/views/settings/help/credits.view.dart diff --git a/lib/src/views/settings/help/diagnostics_view.dart b/lib/src/views/settings/help/diagnostics.view.dart similarity index 100% rename from lib/src/views/settings/help/diagnostics_view.dart rename to lib/src/views/settings/help/diagnostics.view.dart diff --git a/lib/src/views/settings/help/faq.dart b/lib/src/views/settings/help/faq.view.dart similarity index 93% rename from lib/src/views/settings/help/faq.dart rename to lib/src/views/settings/help/faq.view.dart index 84c7693..d3d2975 100644 --- a/lib/src/views/settings/help/faq.dart +++ b/lib/src/views/settings/help/faq.view.dart @@ -5,14 +5,14 @@ import 'package:logging/logging.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:url_launcher/url_launcher.dart'; -class FAQPage extends StatefulWidget { - const FAQPage({super.key}); +class FaqView extends StatefulWidget { + const FaqView({super.key}); @override - State createState() => _FAQPageState(); + State createState() => _FaqViewState(); } -class _FAQPageState extends State { +class _FaqViewState extends State { Map? _faqData; String? _locale; late String domain; diff --git a/lib/src/views/settings/help/help_view.dart b/lib/src/views/settings/help/help.view.dart similarity index 89% rename from lib/src/views/settings/help/help_view.dart rename to lib/src/views/settings/help/help.view.dart index 15c531c..946860a 100644 --- a/lib/src/views/settings/help/help_view.dart +++ b/lib/src/views/settings/help/help.view.dart @@ -2,10 +2,10 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/help/contact_us_view.dart'; -import 'package:twonly/src/views/settings/help/credits_view.dart'; -import 'package:twonly/src/views/settings/help/diagnostics_view.dart'; -import 'package:twonly/src/views/settings/help/faq.dart'; +import 'package:twonly/src/views/settings/help/contact_us.view.dart'; +import 'package:twonly/src/views/settings/help/credits.view.dart'; +import 'package:twonly/src/views/settings/help/diagnostics.view.dart'; +import 'package:twonly/src/views/settings/help/faq.view.dart'; import 'package:url_launcher/url_launcher.dart'; class HelpView extends StatelessWidget { @@ -22,10 +22,9 @@ class HelpView extends StatelessWidget { title: Text(context.lang.settingsHelpFAQ), onTap: () { Navigator.push(context, MaterialPageRoute(builder: (context) { - return FAQPage(); + return FaqView(); })); }, - // trailing: FaIcon(FontAwesomeIcons.arrowUpRightFromSquare, size: 15), ), ListTile( title: Text(context.lang.settingsHelpContactUs), diff --git a/lib/src/views/settings/notification_view.dart b/lib/src/views/settings/notification.view.dart similarity index 100% rename from lib/src/views/settings/notification_view.dart rename to lib/src/views/settings/notification.view.dart diff --git a/lib/src/views/settings/privacy_view.dart b/lib/src/views/settings/privacy.view.dart similarity index 95% rename from lib/src/views/settings/privacy_view.dart rename to lib/src/views/settings/privacy.view.dart index 311ccf3..43cc069 100644 --- a/lib/src/views/settings/privacy_view.dart +++ b/lib/src/views/settings/privacy.view.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:twonly/globals.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/privacy_view_block_users.dart'; +import 'package:twonly/src/views/settings/privacy_view_block.users.dart'; class PrivacyView extends StatefulWidget { const PrivacyView({super.key}); diff --git a/lib/src/views/settings/privacy_view_block_users.dart b/lib/src/views/settings/privacy_view_block.users.dart similarity index 100% rename from lib/src/views/settings/privacy_view_block_users.dart rename to lib/src/views/settings/privacy_view_block.users.dart diff --git a/lib/src/views/settings/profile/modify_avatar_view.dart b/lib/src/views/settings/profile/modify_avatar.view.dart similarity index 100% rename from lib/src/views/settings/profile/modify_avatar_view.dart rename to lib/src/views/settings/profile/modify_avatar.view.dart diff --git a/lib/src/views/settings/profile/profile_view.dart b/lib/src/views/settings/profile/profile.view.dart similarity index 98% rename from lib/src/views/settings/profile/profile_view.dart rename to lib/src/views/settings/profile/profile.view.dart index ecfc3dc..6046005 100644 --- a/lib/src/views/settings/profile/profile_view.dart +++ b/lib/src/views/settings/profile/profile.view.dart @@ -6,7 +6,7 @@ import 'package:twonly/src/model/json/userdata.dart'; import 'package:twonly/src/services/api/messages.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; -import 'package:twonly/src/views/settings/profile/modify_avatar_view.dart'; +import 'package:twonly/src/views/settings/profile/modify_avatar.view.dart'; class ProfileView extends StatefulWidget { const ProfileView({super.key}); diff --git a/lib/src/views/settings/settings_main_view.dart b/lib/src/views/settings/settings_main.view.dart similarity index 92% rename from lib/src/views/settings/settings_main_view.dart rename to lib/src/views/settings/settings_main.view.dart index ccdd1dd..6b6f38c 100644 --- a/lib/src/views/settings/settings_main_view.dart +++ b/lib/src/views/settings/settings_main.view.dart @@ -5,15 +5,15 @@ import 'package:twonly/src/model/json/userdata.dart'; import 'package:flutter/material.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; -import 'package:twonly/src/views/settings/account_view.dart'; -import 'package:twonly/src/views/settings/appearance_view.dart'; -import 'package:twonly/src/views/settings/chat/chat_settings_view.dart'; -import 'package:twonly/src/views/settings/data_and_storage_view.dart'; -import 'package:twonly/src/views/settings/notification_view.dart'; -import 'package:twonly/src/views/settings/profile/profile_view.dart'; -import 'package:twonly/src/views/settings/help/help_view.dart'; -import 'package:twonly/src/views/settings/privacy_view.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/account.view.dart'; +import 'package:twonly/src/views/settings/appearance.view.dart'; +import 'package:twonly/src/views/settings/chat/chat_settings.view.dart'; +import 'package:twonly/src/views/settings/data_and_storage.view.dart'; +import 'package:twonly/src/views/settings/notification.view.dart'; +import 'package:twonly/src/views/settings/profile/profile.view.dart'; +import 'package:twonly/src/views/settings/help/help.view.dart'; +import 'package:twonly/src/views/settings/privacy.view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class SettingsMainView extends StatefulWidget { const SettingsMainView({super.key}); diff --git a/lib/src/views/settings/subscription/additional_users_view.dart b/lib/src/views/settings/subscription/additional_users.view.dart similarity index 99% rename from lib/src/views/settings/subscription/additional_users_view.dart rename to lib/src/views/settings/subscription/additional_users.view.dart index 991cbba..76c58fb 100644 --- a/lib/src/views/settings/subscription/additional_users_view.dart +++ b/lib/src/views/settings/subscription/additional_users.view.dart @@ -11,7 +11,7 @@ import 'package:twonly/src/services/api/utils.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; import 'package:twonly/src/views/components/alert_dialog.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; Future?> loadAdditionalUserInvites() async { List? ballance; diff --git a/lib/src/views/settings/subscription/checkout_view.dart b/lib/src/views/settings/subscription/checkout.view.dart similarity index 99% rename from lib/src/views/settings/subscription/checkout_view.dart rename to lib/src/views/settings/subscription/checkout.view.dart index 1b83c42..3b632f7 100644 --- a/lib/src/views/settings/subscription/checkout_view.dart +++ b/lib/src/views/settings/subscription/checkout.view.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/subscription/select_payment.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/select_payment.view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class CheckoutView extends StatefulWidget { const CheckoutView( diff --git a/lib/src/views/settings/subscription/manage_subscription_view.dart b/lib/src/views/settings/subscription/manage_subscription.view.dart similarity index 99% rename from lib/src/views/settings/subscription/manage_subscription_view.dart rename to lib/src/views/settings/subscription/manage_subscription.view.dart index 54d8685..517802f 100644 --- a/lib/src/views/settings/subscription/manage_subscription_view.dart +++ b/lib/src/views/settings/subscription/manage_subscription.view.dart @@ -6,7 +6,7 @@ import 'package:twonly/src/model/protobuf/api/server_to_client.pb.dart'; import 'package:twonly/src/services/api/utils.dart'; import 'package:twonly/src/providers/connection.provider.dart'; import 'package:twonly/src/utils/misc.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; class ManageSubscriptionView extends StatefulWidget { const ManageSubscriptionView( diff --git a/lib/src/views/settings/subscription/select_payment.dart b/lib/src/views/settings/subscription/select_payment.view.dart similarity index 99% rename from lib/src/views/settings/subscription/select_payment.dart rename to lib/src/views/settings/subscription/select_payment.view.dart index e833686..a9b0c60 100644 --- a/lib/src/views/settings/subscription/select_payment.dart +++ b/lib/src/views/settings/subscription/select_payment.view.dart @@ -5,8 +5,8 @@ import 'package:twonly/globals.dart'; import 'package:twonly/src/providers/connection.provider.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; -import 'package:twonly/src/views/settings/subscription/subscription_view.dart'; -import 'package:twonly/src/views/settings/subscription/voucher_view.dart'; +import 'package:twonly/src/views/settings/subscription/subscription.view.dart'; +import 'package:twonly/src/views/settings/subscription/voucher.view.dart'; import 'package:url_launcher/url_launcher.dart'; class SelectPaymentView extends StatefulWidget { diff --git a/lib/src/views/settings/subscription/subscription_view.dart b/lib/src/views/settings/subscription/subscription.view.dart similarity index 99% rename from lib/src/views/settings/subscription/subscription_view.dart rename to lib/src/views/settings/subscription/subscription.view.dart index 0f215e4..a982aca 100644 --- a/lib/src/views/settings/subscription/subscription_view.dart +++ b/lib/src/views/settings/subscription/subscription.view.dart @@ -13,11 +13,11 @@ import 'package:twonly/src/providers/connection.provider.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; import 'package:twonly/src/views/components/better_list_title.dart'; -import 'package:twonly/src/views/settings/subscription/additional_users_view.dart'; -import 'package:twonly/src/views/settings/subscription/checkout_view.dart'; -import 'package:twonly/src/views/settings/subscription/manage_subscription_view.dart'; -import 'package:twonly/src/views/settings/subscription/transaction_view.dart'; -import 'package:twonly/src/views/settings/subscription/voucher_view.dart'; +import 'package:twonly/src/views/settings/subscription/additional_users.view.dart'; +import 'package:twonly/src/views/settings/subscription/checkout.view.dart'; +import 'package:twonly/src/views/settings/subscription/manage_subscription.view.dart'; +import 'package:twonly/src/views/settings/subscription/transaction.view.dart'; +import 'package:twonly/src/views/settings/subscription/voucher.view.dart'; String localePrizing(BuildContext context, int cents) { Locale myLocale = Localizations.localeOf(context); diff --git a/lib/src/views/settings/subscription/transaction_view.dart b/lib/src/views/settings/subscription/transaction.view.dart similarity index 100% rename from lib/src/views/settings/subscription/transaction_view.dart rename to lib/src/views/settings/subscription/transaction.view.dart diff --git a/lib/src/views/settings/subscription/voucher_view.dart b/lib/src/views/settings/subscription/voucher.view.dart similarity index 100% rename from lib/src/views/settings/subscription/voucher_view.dart rename to lib/src/views/settings/subscription/voucher.view.dart