diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 1595b5c..8a400e8 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,42 +1,43 @@
+ package="social.myportal.relatica">
+ android:name="${applicationName}"
+ android:icon="@mipmap/ic_launcher_round"
+ android:label="Relatica">
+ android:name=".MainActivity"
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
+ android:exported="true"
+ android:hardwareAccelerated="true"
+ android:launchMode="singleTop"
+ android:theme="@style/LaunchTheme"
+ android:windowSoftInputMode="adjustResize">
+ android:name="io.flutter.embedding.android.NormalTheme"
+ android:resource="@style/NormalTheme" />
-
-
+
+
+ android:name="flutterEmbedding"
+ android:value="2" />
-
-
+
+
-
-
+
+
+
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..7458cd7
Binary files /dev/null and b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..c616f5c
Binary files /dev/null and b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..09bc7bf
Binary files /dev/null and b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..f310b91
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..fbf4c08
Binary files /dev/null and b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/icon/raster/ios/Icon-App-1024x1024@1x.png b/icon/raster/ios/Icon-App-1024x1024@1x.png
index 0243ab9..c39f212 100644
Binary files a/icon/raster/ios/Icon-App-1024x1024@1x.png and b/icon/raster/ios/Icon-App-1024x1024@1x.png differ
diff --git a/icon/raster/ios/Icon-App-20x20@1x.png b/icon/raster/ios/Icon-App-20x20@1x.png
index a7af244..c7b4d34 100644
Binary files a/icon/raster/ios/Icon-App-20x20@1x.png and b/icon/raster/ios/Icon-App-20x20@1x.png differ
diff --git a/icon/raster/ios/Icon-App-20x20@2x.png b/icon/raster/ios/Icon-App-20x20@2x.png
index 91ab9f2..9bb0b0a 100644
Binary files a/icon/raster/ios/Icon-App-20x20@2x.png and b/icon/raster/ios/Icon-App-20x20@2x.png differ
diff --git a/icon/raster/ios/Icon-App-20x20@3x.png b/icon/raster/ios/Icon-App-20x20@3x.png
index 43cdfea..6fbb9a6 100644
Binary files a/icon/raster/ios/Icon-App-20x20@3x.png and b/icon/raster/ios/Icon-App-20x20@3x.png differ
diff --git a/icon/raster/ios/Icon-App-29x29@1x.png b/icon/raster/ios/Icon-App-29x29@1x.png
index 53bfdae..f724985 100644
Binary files a/icon/raster/ios/Icon-App-29x29@1x.png and b/icon/raster/ios/Icon-App-29x29@1x.png differ
diff --git a/icon/raster/ios/Icon-App-29x29@2x.png b/icon/raster/ios/Icon-App-29x29@2x.png
index bdbd8d5..d7beb2f 100644
Binary files a/icon/raster/ios/Icon-App-29x29@2x.png and b/icon/raster/ios/Icon-App-29x29@2x.png differ
diff --git a/icon/raster/ios/Icon-App-29x29@3x.png b/icon/raster/ios/Icon-App-29x29@3x.png
index a66f497..998590b 100644
Binary files a/icon/raster/ios/Icon-App-29x29@3x.png and b/icon/raster/ios/Icon-App-29x29@3x.png differ
diff --git a/icon/raster/ios/Icon-App-40x40@1x.png b/icon/raster/ios/Icon-App-40x40@1x.png
index 91ab9f2..92ec0b9 100644
Binary files a/icon/raster/ios/Icon-App-40x40@1x.png and b/icon/raster/ios/Icon-App-40x40@1x.png differ
diff --git a/icon/raster/ios/Icon-App-40x40@2x.png b/icon/raster/ios/Icon-App-40x40@2x.png
index ddbb94d..53429ed 100644
Binary files a/icon/raster/ios/Icon-App-40x40@2x.png and b/icon/raster/ios/Icon-App-40x40@2x.png differ
diff --git a/icon/raster/ios/Icon-App-40x40@3x.png b/icon/raster/ios/Icon-App-40x40@3x.png
index dd1ada0..fa588ee 100644
Binary files a/icon/raster/ios/Icon-App-40x40@3x.png and b/icon/raster/ios/Icon-App-40x40@3x.png differ
diff --git a/icon/raster/ios/Icon-App-60x60@2x.png b/icon/raster/ios/Icon-App-60x60@2x.png
index dd1ada0..d97e66e 100644
Binary files a/icon/raster/ios/Icon-App-60x60@2x.png and b/icon/raster/ios/Icon-App-60x60@2x.png differ
diff --git a/icon/raster/ios/Icon-App-60x60@3x.png b/icon/raster/ios/Icon-App-60x60@3x.png
index a175674..dcf39af 100644
Binary files a/icon/raster/ios/Icon-App-60x60@3x.png and b/icon/raster/ios/Icon-App-60x60@3x.png differ
diff --git a/icon/raster/ios/Icon-App-76x76@1x.png b/icon/raster/ios/Icon-App-76x76@1x.png
index 1ce96a6..ee21bd2 100644
Binary files a/icon/raster/ios/Icon-App-76x76@1x.png and b/icon/raster/ios/Icon-App-76x76@1x.png differ
diff --git a/icon/raster/ios/Icon-App-76x76@2x.png b/icon/raster/ios/Icon-App-76x76@2x.png
index 6933485..14b603d 100644
Binary files a/icon/raster/ios/Icon-App-76x76@2x.png and b/icon/raster/ios/Icon-App-76x76@2x.png differ
diff --git a/icon/raster/ios/Icon-App-83.5x83.5@2x.png b/icon/raster/ios/Icon-App-83.5x83.5@2x.png
index 9fcbab2..024539c 100644
Binary files a/icon/raster/ios/Icon-App-83.5x83.5@2x.png and b/icon/raster/ios/Icon-App-83.5x83.5@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index 0243ab9..c39f212 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index a7af244..c7b4d34 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index 91ab9f2..9bb0b0a 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index 43cdfea..6fbb9a6 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 53bfdae..f724985 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index bdbd8d5..d7beb2f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index a66f497..998590b 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index 91ab9f2..92ec0b9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index ddbb94d..53429ed 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index dd1ada0..fa588ee 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index dd1ada0..d97e66e 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index a175674..dcf39af 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index 1ce96a6..ee21bd2 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index 6933485..14b603d 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index 9fcbab2..024539c 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/lib/main.dart b/lib/main.dart
index 3fb336c..e3c3624 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -17,12 +17,12 @@ import 'services/notifications_manager.dart';
import 'services/setting_service.dart';
import 'services/timeline_manager.dart';
import 'utils/app_scrolling_behavior.dart';
+import 'utils/old_android_letsencrypte_cert.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// await dotenv.load(fileName: '.env');
Logger.root.level = Level.FINER;
-
Logger.root.onRecord.listen((event) {
final logName = event.loggerName.isEmpty ? 'ROOT' : event.loggerName;
final msg =
@@ -30,6 +30,7 @@ void main() async {
print(msg);
});
+ await fixLetsEncryptCertOnOldAndroid();
await dependencyInjectionInitialization();
runApp(const App());
diff --git a/lib/screens/user_posts_screen.dart b/lib/screens/user_posts_screen.dart
index 1116ebb..681f314 100644
--- a/lib/screens/user_posts_screen.dart
+++ b/lib/screens/user_posts_screen.dart
@@ -1,8 +1,13 @@
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
+import '../controls/standard_appbar.dart';
import '../controls/timeline/timeline_panel.dart';
+import '../globals.dart';
import '../models/TimelineIdentifiers.dart';
import '../routes.dart';
+import '../services/network_status_service.dart';
+import '../services/timeline_manager.dart';
class UserPostsScreen extends StatelessWidget {
final String userId;
@@ -11,10 +16,39 @@ class UserPostsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
+ final nss = getIt();
+ final manager = context.watch();
+ final timeline = TimelineIdentifiers.profile(userId);
return Scaffold(
- appBar: AppBar(
- title: Text('User Posts'),
+ appBar: StandardAppBar.build(
+ context,
+ 'User Posts',
actions: [
+ ValueListenableBuilder(
+ valueListenable: nss.timelineLoadingStatus,
+ builder: (context2, executing, _) {
+ if (executing) {
+ final theme = Theme.of(context);
+ final size = theme.appBarTheme.actionsIconTheme?.size ??
+ theme.iconTheme.size ??
+ 24;
+ return Center(
+ child: SizedBox(
+ width: size,
+ height: size,
+ child: CircularProgressIndicator(
+ color: Theme.of(context).canvasColor,
+ ),
+ ),
+ );
+ }
+ return IconButton(
+ onPressed: () async => await manager.updateTimeline(
+ timeline, TimelineRefreshType.refresh),
+ icon: Icon(
+ Icons.refresh,
+ ));
+ }),
IconButton(
onPressed: () {
Navigator.of(context).popUntil((route) {
@@ -27,7 +61,7 @@ class UserPostsScreen extends StatelessWidget {
),
body: Center(
child: TimelinePanel(
- timeline: TimelineIdentifiers.profile(userId),
+ timeline: timeline,
),
),
);
diff --git a/lib/utils/old_android_letsencrypte_cert.dart b/lib/utils/old_android_letsencrypte_cert.dart
new file mode 100644
index 0000000..0344e0d
--- /dev/null
+++ b/lib/utils/old_android_letsencrypte_cert.dart
@@ -0,0 +1,65 @@
+import 'dart:convert';
+import 'dart:io';
+
+import 'package:device_info_plus/device_info_plus.dart';
+import 'package:logging/logging.dart';
+
+const ISRG_X1 = """
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
+WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
+ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
+MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
+h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
+A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
+T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
+B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
+B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
+KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
+OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
+jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
+qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
+rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
+hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
+3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
+NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
+ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
+TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
+jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
+oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
+4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
+mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
+emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
+""";
+final _logger = Logger('OldAndroidLetsEncryptFix');
+
+Future fixLetsEncryptCertOnOldAndroid() async {
+ if (!Platform.isAndroid) {
+ _logger.info('Not Android, skipping old Android LetsEncrypt cert fix');
+ return;
+ }
+
+ final deviceData = await DeviceInfoPlugin().androidInfo;
+ final sdkVersion = deviceData.version.sdkInt;
+ if (sdkVersion > 24) {
+ _logger.info(
+ 'Android version $sdkVersion does not require LetsEncrypt cert fix, skipping');
+ return;
+ }
+
+ _logger.severe(
+ 'Android version requires manual initialization of LetsEncrypt ISRG X1 Certificate, attempting now...');
+ try {
+ SecurityContext.defaultContext
+ .setTrustedCertificatesBytes(ascii.encode(ISRG_X1));
+ } catch (e) {
+ _logger.severe('Error initializing ISRG_X1 certificate: $e');
+ }
+ _logger.severe('LetsEncrypt ISRG X1 Certificate fix successfully applied.');
+}
diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
index 88ae243..a9d8564 100644
--- a/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -6,6 +6,7 @@ import FlutterMacOS
import Foundation
import desktop_window
+import device_info_plus
import flutter_secure_storage_macos
import objectbox_flutter_libs
import path_provider_foundation
@@ -15,6 +16,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
DesktopWindowPlugin.register(with: registry.registrar(forPlugin: "DesktopWindowPlugin"))
+ DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin"))
ObjectboxFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "ObjectboxFlutterLibsPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
diff --git a/macos/Podfile.lock b/macos/Podfile.lock
index 1ffa59b..1446373 100644
--- a/macos/Podfile.lock
+++ b/macos/Podfile.lock
@@ -1,6 +1,8 @@
PODS:
- desktop_window (0.0.1):
- FlutterMacOS
+ - device_info_plus (0.0.1):
+ - FlutterMacOS
- flutter_secure_storage_macos (6.1.1):
- FlutterMacOS
- FlutterMacOS (1.0.0)
@@ -25,6 +27,7 @@ PODS:
DEPENDENCIES:
- desktop_window (from `Flutter/ephemeral/.symlinks/plugins/desktop_window/macos`)
+ - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
- flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`)
- FlutterMacOS (from `Flutter/ephemeral`)
- objectbox_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/objectbox_flutter_libs/macos`)
@@ -41,6 +44,8 @@ SPEC REPOS:
EXTERNAL SOURCES:
desktop_window:
:path: Flutter/ephemeral/.symlinks/plugins/desktop_window/macos
+ device_info_plus:
+ :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
flutter_secure_storage_macos:
:path: Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos
FlutterMacOS:
@@ -58,6 +63,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
desktop_window: fb7c4f12c1129f947ac482296b6f14059d57a3c3
+ device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
flutter_secure_storage_macos: 75c8cadfdba05ca007c0fa4ea0c16e5cf85e521b
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
diff --git a/pubspec.lock b/pubspec.lock
index 5cf133d..b7642e9 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -249,6 +249,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.4.0"
+ device_info_plus:
+ dependency: "direct main"
+ description:
+ name: device_info_plus
+ sha256: "7ff671ed0a6356fa8f2e1ae7d3558d3fb7b6a41e24455e4f8df75b811fb8e4ab"
+ url: "https://pub.dev"
+ source: hosted
+ version: "8.0.0"
+ device_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: device_info_plus_platform_interface
+ sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64
+ url: "https://pub.dev"
+ source: hosted
+ version: "7.0.0"
email_validator:
dependency: "direct main"
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 83fd18e..a332a32 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -43,6 +43,7 @@ dependencies:
objectbox_flutter_libs: ^1.7.1
path_provider: ^2.0.11
carousel_slider: ^4.2.1
+ device_info_plus: ^8.0.0
dev_dependencies:
flutter_test: