parent
5eadcb5c1c
commit
1e28469aa5
|
|
@ -1,6 +1,6 @@
|
||||||
#Mon Mar 17 08:36:03 CET 2025
|
#Mon Mar 17 08:36:03 CET 2025
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ pluginManagement {
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||||
id "com.android.application" version "8.7.3" apply false
|
id "com.android.application" version "8.11.1" apply false
|
||||||
id "org.jetbrains.kotlin.android" version "2.1.10" apply false
|
id "org.jetbrains.kotlin.android" version "2.1.10" apply false
|
||||||
// id "com.google.gms.google-services" version "4.3.8" apply false
|
// id "com.google.gms.google-services" version "4.3.8" apply false
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,16 @@
|
||||||
"@alwaysUse24HourFormat": {
|
"@alwaysUse24HourFormat": {
|
||||||
"description": "Set to true to always display time of day in 24 hour format."
|
"description": "Set to true to always display time of day in 24 hour format."
|
||||||
},
|
},
|
||||||
|
"cleanExif": "Clean EXIF metadata",
|
||||||
|
"@cleanExif": {
|
||||||
|
"type": "String",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"cleanExifDescription": "Remove EXIF metadata (camera model, geolocation, time) when sending a photo.",
|
||||||
|
"@cleanExifDescription": {
|
||||||
|
"type": "String",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
"repeatPassword": "Repeat password",
|
"repeatPassword": "Repeat password",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
"notAnImage": "Not an image file.",
|
"notAnImage": "Not an image file.",
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,16 @@
|
||||||
"@alwaysUse24HourFormat": {
|
"@alwaysUse24HourFormat": {
|
||||||
"description": "Set to true to always display time of day in 24 hour format."
|
"description": "Set to true to always display time of day in 24 hour format."
|
||||||
},
|
},
|
||||||
|
"cleanExif": "Очищать EXIF",
|
||||||
|
"@cleanExif": {
|
||||||
|
"type": "String",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"cleanExifDescription": "Удалять метаданные EXIF (модель камеры, геолокация, время) из изображений еред отправкой.",
|
||||||
|
"@cleanExifDescription": {
|
||||||
|
"type": "String",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
"repeatPassword": "Повторите пароль",
|
"repeatPassword": "Повторите пароль",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
"notAnImage": "Это не картинка.",
|
"notAnImage": "Это не картинка.",
|
||||||
|
|
@ -2993,7 +3003,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sendReadReceipts": "Отправка отчётов о прочтении",
|
"sendReadReceipts": "Отправлять отчёты о прочтении",
|
||||||
"@sendReadReceipts": {},
|
"@sendReadReceipts": {},
|
||||||
"sendTypingNotificationsDescription": "Другие участники чата будут видеть, когда Вы набираете новое сообщение.",
|
"sendTypingNotificationsDescription": "Другие участники чата будут видеть, когда Вы набираете новое сообщение.",
|
||||||
"@sendTypingNotificationsDescription": {},
|
"@sendTypingNotificationsDescription": {},
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ abstract class AppConfig {
|
||||||
|
|
||||||
static bool displayNavigationRail = true;
|
static bool displayNavigationRail = true;
|
||||||
static bool enableGradient = true;
|
static bool enableGradient = true;
|
||||||
|
static bool cleanExif = true;
|
||||||
|
|
||||||
static String get defaultHomeserver => _defaultHomeserver;
|
static String get defaultHomeserver => _defaultHomeserver;
|
||||||
static double fontSizeFactor = 1;
|
static double fontSizeFactor = 1;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
abstract class SettingKeys {
|
abstract class SettingKeys {
|
||||||
|
static const String cleanExif = 'xyz.extera.next.cleanExif';
|
||||||
static const String displayNavigationRail = 'chat.fluffy.displayNavigationRail';
|
static const String displayNavigationRail = 'chat.fluffy.displayNavigationRail';
|
||||||
static const String hideAvatarsInInvites = 'xyz.extera.next.hideAvatarsInInvites';
|
static const String hideAvatarsInInvites = 'xyz.extera.next.hideAvatarsInInvites';
|
||||||
static const String pureBlack = 'xyz.extera.next.pureBlack';
|
static const String pureBlack = 'xyz.extera.next.pureBlack';
|
||||||
|
|
|
||||||
|
|
@ -205,6 +205,18 @@ abstract class L10n {
|
||||||
/// **'false'**
|
/// **'false'**
|
||||||
String get alwaysUse24HourFormat;
|
String get alwaysUse24HourFormat;
|
||||||
|
|
||||||
|
/// No description provided for @cleanExif.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Clean EXIF metadata'**
|
||||||
|
String get cleanExif;
|
||||||
|
|
||||||
|
/// No description provided for @cleanExifDescription.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.'**
|
||||||
|
String get cleanExifDescription;
|
||||||
|
|
||||||
/// No description provided for @repeatPassword.
|
/// No description provided for @repeatPassword.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nAr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'كرّر كلمة السر';
|
String get repeatPassword => 'كرّر كلمة السر';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nBe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nBn extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nBo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nCa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repetiu la contrasenya';
|
String get repeatPassword => 'Repetiu la contrasenya';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nCs extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'Vypnuto';
|
String get alwaysUse24HourFormat => 'Vypnuto';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Zopakujte heslo';
|
String get repeatPassword => 'Zopakujte heslo';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nDe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Passwort wiederholen';
|
String get repeatPassword => 'Passwort wiederholen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Επανάληψη κωδικού πρόσβασης';
|
String get repeatPassword => 'Επανάληψη κωδικού πρόσβασης';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEn extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEs extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'falso';
|
String get alwaysUse24HourFormat => 'falso';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repite la contraseña';
|
String get repeatPassword => 'Repite la contraseña';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Korda salasõna';
|
String get repeatPassword => 'Korda salasõna';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nEu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Idatzi berriro pasahitza';
|
String get repeatPassword => 'Idatzi berriro pasahitza';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nFa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'تکرار رمزعبور';
|
String get repeatPassword => 'تکرار رمزعبور';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nFi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Salasana uudelleen';
|
String get repeatPassword => 'Salasana uudelleen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nFil extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Ulitin ang password';
|
String get repeatPassword => 'Ulitin ang password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nFr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Répétez le mot de passe';
|
String get repeatPassword => 'Répétez le mot de passe';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nGa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'bréagach';
|
String get alwaysUse24HourFormat => 'bréagach';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Scríobh an pasfhocal arís';
|
String get repeatPassword => 'Scríobh an pasfhocal arís';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nGl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'falso';
|
String get alwaysUse24HourFormat => 'falso';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repite o contrasinal';
|
String get repeatPassword => 'Repite o contrasinal';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nHe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'כתוב שוב את הסיסמה';
|
String get repeatPassword => 'כתוב שוב את הסיסמה';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nHi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'पासवर्ड दोहराएं';
|
String get repeatPassword => 'पासवर्ड दोहराएं';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nHr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Ponovi lozinku';
|
String get repeatPassword => 'Ponovi lozinku';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nHu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Jelszó megismétlése';
|
String get repeatPassword => 'Jelszó megismétlése';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nIa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeter le contrasigno';
|
String get repeatPassword => 'Repeter le contrasigno';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nId extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'tidak';
|
String get alwaysUse24HourFormat => 'tidak';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Ulangi kata sandi';
|
String get repeatPassword => 'Ulangi kata sandi';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nIe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repetir li contrasigne';
|
String get repeatPassword => 'Repetir li contrasigne';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nIt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'disattivato';
|
String get alwaysUse24HourFormat => 'disattivato';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Ripeti password';
|
String get repeatPassword => 'Ripeti password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nJa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'パスワードを繰り返そ';
|
String get repeatPassword => 'パスワードを繰り返そ';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nKa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'გაიმეორეთ პაროლი';
|
String get repeatPassword => 'გაიმეორეთ პაროლი';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nKo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => '비밀번호 다시 입력';
|
String get repeatPassword => '비밀번호 다시 입력';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nLt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Pakartokite slaptažodį';
|
String get repeatPassword => 'Pakartokite slaptažodį';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nLv extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'nē';
|
String get alwaysUse24HourFormat => 'nē';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Atkārtot paroli';
|
String get repeatPassword => 'Atkārtot paroli';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nNb extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Gjenta passord';
|
String get repeatPassword => 'Gjenta passord';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nNl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'true';
|
String get alwaysUse24HourFormat => 'true';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Wachtwoord herhalen';
|
String get repeatPassword => 'Wachtwoord herhalen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nPl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Powtórz hasło';
|
String get repeatPassword => 'Powtórz hasło';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nPt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nRo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repetați parola';
|
String get repeatPassword => 'Repetați parola';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nRu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'нет';
|
String get alwaysUse24HourFormat => 'нет';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Очищать EXIF';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Удалять метаданные EXIF (модель камеры, геолокация, время) из изображений еред отправкой.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Повторите пароль';
|
String get repeatPassword => 'Повторите пароль';
|
||||||
|
|
||||||
|
|
@ -2251,7 +2258,7 @@ class L10nRu extends L10n {
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get sendReadReceipts => 'Отправка отчётов о прочтении';
|
String get sendReadReceipts => 'Отправлять отчёты о прочтении';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get sendTypingNotificationsDescription =>
|
String get sendTypingNotificationsDescription =>
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nSk extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Zopakujte heslo';
|
String get repeatPassword => 'Zopakujte heslo';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nSl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Ponovite geslo';
|
String get repeatPassword => 'Ponovite geslo';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nSr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Repeat password';
|
String get repeatPassword => 'Repeat password';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nSv extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Upprepa lösenord';
|
String get repeatPassword => 'Upprepa lösenord';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nTa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'தவறு';
|
String get alwaysUse24HourFormat => 'தவறு';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'கடவுச்சொல்லை மீண்டும் செய்யவும்';
|
String get repeatPassword => 'கடவுச்சொல்லை மீண்டும் செய்யவும்';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nTe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'తప్పుడు';
|
String get alwaysUse24HourFormat => 'తప్పుడు';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'పాస్వర్డ్ను పునరావృతం చేయండి';
|
String get repeatPassword => 'పాస్వర్డ్ను పునరావృతం చేయండి';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nTh extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'ใส่รหัสผ่านอีกรอบ';
|
String get repeatPassword => 'ใส่รหัสผ่านอีกรอบ';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nTr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Parolayı tekrarlayın';
|
String get repeatPassword => 'Parolayı tekrarlayın';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nUk extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'ні';
|
String get alwaysUse24HourFormat => 'ні';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Повторіть пароль';
|
String get repeatPassword => 'Повторіть пароль';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nVi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'Không';
|
String get alwaysUse24HourFormat => 'Không';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => 'Nhập lại mật khẩu';
|
String get repeatPassword => 'Nhập lại mật khẩu';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,13 @@ class L10nZh extends L10n {
|
||||||
@override
|
@override
|
||||||
String get alwaysUse24HourFormat => 'false';
|
String get alwaysUse24HourFormat => 'false';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExif => 'Clean EXIF metadata';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get cleanExifDescription =>
|
||||||
|
'Remove EXIF metadata (camera model, geolocation, time) when sending a photo.';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get repeatPassword => '重复输入密码';
|
String get repeatPassword => '重复输入密码';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
import 'dart:typed_data';
|
||||||
|
|
||||||
|
import 'package:extera_next/utils/clean_exif.dart';
|
||||||
import 'package:extera_next/widgets/matrix.dart';
|
import 'package:extera_next/widgets/matrix.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
@ -50,9 +53,6 @@ class SendFileDialogState extends State<SendFileDialog> {
|
||||||
final l10n = L10n.of(context);
|
final l10n = L10n.of(context);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!widget.room.otherPartyCanReceiveMessages) {
|
|
||||||
throw OtherPartyCanNotReceiveMessages();
|
|
||||||
}
|
|
||||||
scaffoldMessenger.showLoadingSnackBar(l10n.prepareSendingAttachment);
|
scaffoldMessenger.showLoadingSnackBar(l10n.prepareSendingAttachment);
|
||||||
Navigator.of(context, rootNavigator: false).pop();
|
Navigator.of(context, rootNavigator: false).pop();
|
||||||
final clientConfig = await widget.room.client.getConfig();
|
final clientConfig = await widget.room.client.getConfig();
|
||||||
|
|
@ -74,10 +74,24 @@ class SendFileDialogState extends State<SendFileDialog> {
|
||||||
file = await xfile.resizeVideo();
|
file = await xfile.resizeVideo();
|
||||||
scaffoldMessenger.showLoadingSnackBar(l10n.generatingVideoThumbnail);
|
scaffoldMessenger.showLoadingSnackBar(l10n.generatingVideoThumbnail);
|
||||||
thumbnail = await xfile.getVideoThumbnail();
|
thumbnail = await xfile.getVideoThumbnail();
|
||||||
|
} else if (mimeType != null &&
|
||||||
|
mimeType.startsWith('image') &&
|
||||||
|
AppConfig.cleanExif) {
|
||||||
|
if (length > maxUploadSize) {
|
||||||
|
throw FileTooBigMatrixException(length, maxUploadSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Else we just create a MatrixFile
|
||||||
|
file = MatrixFile(
|
||||||
|
bytes: Uint8List.fromList(ExifCleaner.removeExifData(await xfile.readAsBytes())),
|
||||||
|
name: xfile.name,
|
||||||
|
mimeType: mimeType,
|
||||||
|
).detectFileType;
|
||||||
} else {
|
} else {
|
||||||
if (length > maxUploadSize) {
|
if (length > maxUploadSize) {
|
||||||
throw FileTooBigMatrixException(length, maxUploadSize);
|
throw FileTooBigMatrixException(length, maxUploadSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Else we just create a MatrixFile
|
// Else we just create a MatrixFile
|
||||||
file = MatrixFile(
|
file = MatrixFile(
|
||||||
bytes: await xfile.readAsBytes(),
|
bytes: await xfile.readAsBytes(),
|
||||||
|
|
@ -108,11 +122,13 @@ class SendFileDialogState extends State<SendFileDialog> {
|
||||||
extraContent['body'] = label;
|
extraContent['body'] = label;
|
||||||
final html = markdown(
|
final html = markdown(
|
||||||
label,
|
label,
|
||||||
getEmotePacks: () => widget.room.getImagePacksFlat(ImagePackUsage.emoticon),
|
getEmotePacks: () =>
|
||||||
|
widget.room.getImagePacksFlat(ImagePackUsage.emoticon),
|
||||||
getMention: widget.room.getMention,
|
getMention: widget.room.getMention,
|
||||||
convertLinebreaks: Matrix.of(context).client.convertLinebreaksInFormatting,
|
convertLinebreaks:
|
||||||
|
Matrix.of(context).client.convertLinebreaksInFormatting,
|
||||||
);
|
);
|
||||||
|
|
||||||
// if the decoded html is the same as the body, there is no need in sending a formatted message
|
// if the decoded html is the same as the body, there is no need in sending a formatted message
|
||||||
if (HtmlUnescape()
|
if (HtmlUnescape()
|
||||||
.convert(html.replaceAll(RegExp(r'<br />\n?'), '\n')) !=
|
.convert(html.replaceAll(RegExp(r'<br />\n?'), '\n')) !=
|
||||||
|
|
@ -319,43 +335,43 @@ class SendFileDialogState extends State<SendFileDialog> {
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
// if (uniqueFileType != 'image')
|
// if (uniqueFileType != 'image')
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 16.0),
|
padding: const EdgeInsets.only(bottom: 16.0),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(
|
Icon(
|
||||||
uniqueFileType == null
|
uniqueFileType == null
|
||||||
? Icons.description_outlined
|
? Icons.description_outlined
|
||||||
: uniqueFileType == 'video'
|
: uniqueFileType == 'video'
|
||||||
? Icons.video_file_outlined
|
? Icons.video_file_outlined
|
||||||
: uniqueFileType == 'audio'
|
: uniqueFileType == 'audio'
|
||||||
? Icons.audio_file_outlined
|
? Icons.audio_file_outlined
|
||||||
: Icons.description_outlined,
|
: Icons.description_outlined,
|
||||||
size: 32,
|
size: 32,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 8),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
fileName,
|
||||||
|
maxLines: 1,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'$sizeString - $fileTypes',
|
||||||
|
style: theme.textTheme.labelSmall,
|
||||||
|
maxLines: 1,
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
),
|
||||||
Expanded(
|
],
|
||||||
child: Column(
|
|
||||||
mainAxisSize: MainAxisSize.min,
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
fileName,
|
|
||||||
maxLines: 1,
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
'$sizeString - $fileTypes',
|
|
||||||
style: theme.textTheme.labelSmall,
|
|
||||||
maxLines: 1,
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
|
),
|
||||||
if (widget.files.length == 1)
|
if (widget.files.length == 1)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 8.0),
|
padding: const EdgeInsets.only(bottom: 8.0),
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class DownloadManagerView extends StatelessWidget {
|
||||||
),
|
),
|
||||||
title: ConstrainedBox(
|
title: ConstrainedBox(
|
||||||
constraints: const BoxConstraints(maxWidth: 256),
|
constraints: const BoxConstraints(maxWidth: 256),
|
||||||
child: const Center(child: Text("Downloads", textAlign: TextAlign.center)),
|
child: Center(child: Text(L10n.of(context).downloads, textAlign: TextAlign.center)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,11 @@ class SettingsController extends State<Settings> {
|
||||||
final matrix = Matrix.of(context);
|
final matrix = Matrix.of(context);
|
||||||
final success = await showFutureLoadingDialog(
|
final success = await showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: () => matrix.client.setDisplayName(matrix.client.userID!, input),
|
future: () => matrix.client.setProfileField(
|
||||||
|
matrix.client.userID!,
|
||||||
|
'displayname',
|
||||||
|
{ 'displayname': input }
|
||||||
|
),
|
||||||
);
|
);
|
||||||
if (success.error == null) {
|
if (success.error == null) {
|
||||||
updateProfile();
|
updateProfile();
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,14 @@ class SettingsSecurityView extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
SettingsSwitchListTile.adaptive(
|
||||||
|
title: L10n.of(context).cleanExif,
|
||||||
|
subtitle:
|
||||||
|
L10n.of(context).cleanExifDescription,
|
||||||
|
onChanged: (b) => AppConfig.cleanExif = b,
|
||||||
|
storeKey: SettingKeys.cleanExif,
|
||||||
|
defaultValue: AppConfig.cleanExif,
|
||||||
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context).sendTypingNotifications,
|
title: L10n.of(context).sendTypingNotifications,
|
||||||
subtitle:
|
subtitle:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
import 'dart:typed_data';
|
||||||
|
import 'package:image/image.dart';
|
||||||
|
|
||||||
|
class ExifCleaner {
|
||||||
|
static List<int> removeExifData(List<int> imageBytes) {
|
||||||
|
// Decode the image (this strips EXIF data)
|
||||||
|
final Image? image = decodeImage(Uint8List.fromList(imageBytes));
|
||||||
|
|
||||||
|
if (image == null) {
|
||||||
|
throw Exception('Failed to decode image');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Encode back to bytes without EXIF based on detected format
|
||||||
|
List<int> cleanedBytes;
|
||||||
|
|
||||||
|
image.exif.clear();
|
||||||
|
|
||||||
|
if (_isJpeg(imageBytes)) {
|
||||||
|
cleanedBytes = encodeJpg(image);
|
||||||
|
} else if (_isPng(imageBytes)) {
|
||||||
|
cleanedBytes = encodePng(image);
|
||||||
|
} else if (_isGif(imageBytes)) {
|
||||||
|
cleanedBytes = encodeGif(image);
|
||||||
|
} else if (_isBmp(imageBytes)) {
|
||||||
|
cleanedBytes = encodeBmp(image);
|
||||||
|
} else if (_isTiff(imageBytes)) {
|
||||||
|
// TIFF doesn't have a direct encoder in image package, convert to PNG
|
||||||
|
cleanedBytes = encodeTiff(image);
|
||||||
|
} else if (_isHeic(imageBytes)) {
|
||||||
|
// HEIC format - convert to JPEG since image package doesn't have HEIC encoder
|
||||||
|
cleanedBytes = encodeJpg(image);
|
||||||
|
} else {
|
||||||
|
// Default fallback - try to encode as PNG, then JPEG
|
||||||
|
try {
|
||||||
|
cleanedBytes = encodePng(image);
|
||||||
|
} catch (e) {
|
||||||
|
cleanedBytes = encodeJpg(image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return cleanedBytes;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isJpeg(List<int> bytes) {
|
||||||
|
return bytes.length >= 2 && bytes[0] == 0xFF && bytes[1] == 0xD8;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isPng(List<int> bytes) {
|
||||||
|
return bytes.length >= 8 &&
|
||||||
|
bytes[0] == 0x89 &&
|
||||||
|
bytes[1] == 0x50 &&
|
||||||
|
bytes[2] == 0x4E &&
|
||||||
|
bytes[3] == 0x47;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isGif(List<int> bytes) {
|
||||||
|
return bytes.length >= 6 &&
|
||||||
|
bytes[0] == 0x47 && // G
|
||||||
|
bytes[1] == 0x49 && // I
|
||||||
|
bytes[2] == 0x46 && // F
|
||||||
|
bytes[3] == 0x38 && // 8
|
||||||
|
(bytes[4] == 0x37 || bytes[4] == 0x39) && // 7 or 9
|
||||||
|
bytes[5] == 0x61; // a
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isBmp(List<int> bytes) {
|
||||||
|
return bytes.length >= 2 &&
|
||||||
|
bytes[0] == 0x42 && // B
|
||||||
|
bytes[1] == 0x4D; // M
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isTiff(List<int> bytes) {
|
||||||
|
return bytes.length >= 4 &&
|
||||||
|
((bytes[0] == 0x49 && bytes[1] == 0x49 && bytes[2] == 0x2A && bytes[3] == 0x00) || // Little Endian
|
||||||
|
(bytes[0] == 0x4D && bytes[1] == 0x4D && bytes[2] == 0x00 && bytes[3] == 0x2A)); // Big Endian
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isWebP(List<int> bytes) {
|
||||||
|
return bytes.length >= 12 &&
|
||||||
|
bytes[0] == 0x52 && // R
|
||||||
|
bytes[1] == 0x49 && // I
|
||||||
|
bytes[2] == 0x46 && // F
|
||||||
|
bytes[3] == 0x46 && // F
|
||||||
|
bytes[8] == 0x57 && // W
|
||||||
|
bytes[9] == 0x45 && // E
|
||||||
|
bytes[10] == 0x42 && // B
|
||||||
|
bytes[11] == 0x50; // P
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool _isHeic(List<int> bytes) {
|
||||||
|
// HEIC files start with 'ftyp' at position 4
|
||||||
|
if (bytes.length < 12) return false;
|
||||||
|
|
||||||
|
// Check for 'ftyp' at position 4
|
||||||
|
bool hasFtyp = bytes[4] == 0x66 && // f
|
||||||
|
bytes[5] == 0x74 && // t
|
||||||
|
bytes[6] == 0x79 && // y
|
||||||
|
bytes[7] == 0x70; // p
|
||||||
|
|
||||||
|
if (!hasFtyp) return false;
|
||||||
|
|
||||||
|
// Check for HEIC brand variants
|
||||||
|
List<List<int>> heicBrands = [
|
||||||
|
[0x68, 0x65, 0x69, 0x63], // heic
|
||||||
|
[0x68, 0x65, 0x69, 0x78], // heix
|
||||||
|
[0x68, 0x65, 0x76, 0x63], // hevc
|
||||||
|
[0x68, 0x65, 0x76, 0x78], // hevx
|
||||||
|
[0x6D, 0x69, 0x66, 0x31], // mif1
|
||||||
|
[0x6D, 0x73, 0x66, 0x31], // msf1
|
||||||
|
];
|
||||||
|
|
||||||
|
for (var brand in heicBrands) {
|
||||||
|
if (bytes[8] == brand[0] &&
|
||||||
|
bytes[9] == brand[1] &&
|
||||||
|
bytes[10] == brand[2] &&
|
||||||
|
bytes[11] == brand[3]) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Utility method to get image format name
|
||||||
|
static String getImageFormat(List<int> bytes) {
|
||||||
|
if (_isJpeg(bytes)) return 'JPEG';
|
||||||
|
if (_isPng(bytes)) return 'PNG';
|
||||||
|
if (_isGif(bytes)) return 'GIF';
|
||||||
|
if (_isBmp(bytes)) return 'BMP';
|
||||||
|
if (_isTiff(bytes)) return 'TIFF';
|
||||||
|
if (_isWebP(bytes)) return 'WebP';
|
||||||
|
if (_isHeic(bytes)) return 'HEIC';
|
||||||
|
return 'Unknown';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -146,6 +146,9 @@ class MatrixLocals extends MatrixLocalizations {
|
||||||
return l10n.groupWith(displayname);
|
return l10n.groupWith(displayname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get refreshingLastEvent => l10n.loadingPleaseWait;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get guestsAreForbidden => l10n.guestsAreForbidden;
|
String get guestsAreForbidden => l10n.guestsAreForbidden;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import just_audio
|
||||||
import package_info_plus
|
import package_info_plus
|
||||||
import pasteboard
|
import pasteboard
|
||||||
import path_provider_foundation
|
import path_provider_foundation
|
||||||
import record_darwin
|
import record_macos
|
||||||
import share_plus
|
import share_plus
|
||||||
import shared_preferences_foundation
|
import shared_preferences_foundation
|
||||||
import sqflite_darwin
|
import sqflite_darwin
|
||||||
|
|
@ -53,7 +53,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
|
||||||
PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin"))
|
PasteboardPlugin.register(with: registry.registrar(forPlugin: "PasteboardPlugin"))
|
||||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||||
RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin"))
|
RecordMacOsPlugin.register(with: registry.registrar(forPlugin: "RecordMacOsPlugin"))
|
||||||
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
|
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
|
||||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||||
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
||||||
|
|
|
||||||
284
pubspec.lock
284
pubspec.lock
|
|
@ -37,10 +37,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: app_links
|
name: app_links
|
||||||
sha256: "85ed8fc1d25a76475914fff28cc994653bd900bc2c26e4b57a49e097febb54ba"
|
sha256: "5f88447519add627fe1cbcab4fd1da3d4fed15b9baf29f28b22535c95ecee3e8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.4.0"
|
version: "6.4.1"
|
||||||
app_links_linux:
|
app_links_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -141,10 +141,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: build_cli_annotations
|
name: build_cli_annotations
|
||||||
sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172
|
sha256: e563c2e01de8974566a1998410d3f6f03521788160a02503b0b1f1a46c7b3d95
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.1"
|
||||||
canonical_json:
|
canonical_json:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -181,10 +181,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: chewie
|
name: chewie
|
||||||
sha256: "4d9554a8f87cc2dc6575dfd5ad20a4375015a29edd567fd6733febe6365e2566"
|
sha256: "44bcfc5f0dfd1de290c87c9d86a61308b3282a70b63435d5557cfd60f54a69ca"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.3"
|
version: "1.13.0"
|
||||||
cli_config:
|
cli_config:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -245,10 +245,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: coverage
|
name: coverage
|
||||||
sha256: aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080
|
sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.14.1"
|
version: "1.15.0"
|
||||||
cross_file:
|
cross_file:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -285,10 +285,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: dart_webrtc
|
name: dart_webrtc
|
||||||
sha256: "5b76fd85ac95d6f5dee3e7d7de8d4b51bfbec1dc73804647c6aebb52d6297116"
|
sha256: "51bcda4ba5d7dd9e65a309244ce3ac0b58025e6e1f6d7442cee4cd02134ef65f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.3+hotfix.2"
|
version: "1.6.0"
|
||||||
dbus:
|
dbus:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -325,10 +325,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: device_info_plus_platform_interface
|
name: device_info_plus_platform_interface
|
||||||
sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
|
sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.2"
|
version: "7.0.3"
|
||||||
dio:
|
dio:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -369,14 +369,6 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.9"
|
version: "0.9.9"
|
||||||
enhanced_enum:
|
|
||||||
dependency: transitive
|
|
||||||
description:
|
|
||||||
name: enhanced_enum
|
|
||||||
sha256: "074c5a8b9664799ca91e1e8b68003b8694cb19998671cbafd9c7779c13fcdecf"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.2.4"
|
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -405,34 +397,34 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: file_picker
|
name: file_picker
|
||||||
sha256: "13ba4e627ef24503a465d1d61b32596ce10eb6b8903678d362a528f9939b4aa8"
|
sha256: f2d9f173c2c14635cc0e9b14c143c49ef30b4934e8d1d274d6206fcb0086a06f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.2.1"
|
version: "10.3.3"
|
||||||
file_selector:
|
file_selector:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: file_selector
|
name: file_selector
|
||||||
sha256: "5019692b593455127794d5718304ff1ae15447dea286cdda9f0db2a796a1b828"
|
sha256: "5f1d15a7f17115038f433d1b0ea57513cc9e29a9d5338d166cb0bef3fa90a7a0"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.3"
|
version: "1.0.4"
|
||||||
file_selector_android:
|
file_selector_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file_selector_android
|
name: file_selector_android
|
||||||
sha256: "6bba3d590ee9462758879741abc132a19133600dd31832f55627442f1ebd7b54"
|
sha256: "1ce58b609289551f8ec07265476720e77d19764339cc1d8e4df3c4d34dac6499"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.1+14"
|
version: "0.5.1+17"
|
||||||
file_selector_ios:
|
file_selector_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file_selector_ios
|
name: file_selector_ios
|
||||||
sha256: "94b98ad950b8d40d96fee8fa88640c2e4bd8afcdd4817993bd04e20310f45420"
|
sha256: fe9f52123af16bba4ad65bd7e03defbbb4b172a38a8e6aaa2a869a0c56a5f5fb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.3+1"
|
version: "0.5.3+2"
|
||||||
file_selector_linux:
|
file_selector_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -445,10 +437,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: file_selector_macos
|
name: file_selector_macos
|
||||||
sha256: "8c9250b2bd2d8d4268e39c82543bacbaca0fda7d29e0728c3c4bbb7c820fd711"
|
sha256: "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.4+3"
|
version: "0.9.4+4"
|
||||||
file_selector_platform_interface:
|
file_selector_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -620,10 +612,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_native_splash
|
name: flutter_native_splash
|
||||||
sha256: "7062602e0dbd29141fb8eb19220b5871ca650be5197ab9c1f193a28b17537bc7"
|
sha256: "8321a6d11a8d13977fa780c89de8d257cce3d841eecfb7a4cadffcc4f12d82dc"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.4"
|
version: "2.4.6"
|
||||||
flutter_new_badger:
|
flutter_new_badger:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -644,18 +636,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_plugin_android_lifecycle
|
name: flutter_plugin_android_lifecycle
|
||||||
sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
|
sha256: b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.28"
|
version: "2.0.30"
|
||||||
flutter_rust_bridge:
|
flutter_rust_bridge:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_rust_bridge
|
name: flutter_rust_bridge
|
||||||
sha256: b416ff56002789e636244fb4cc449f587656eff995e5a7169457eb0593fcaddb
|
sha256: "37ef40bc6f863652e865f0b2563ea07f0d3c58d8efad803cc01933a4b2ee067e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.10.0"
|
version: "2.11.1"
|
||||||
flutter_secure_storage:
|
flutter_secure_storage:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -730,10 +722,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: flutter_vodozemac
|
name: flutter_vodozemac
|
||||||
sha256: "2405ca121b84d1cd83200a14021022e1691b123a23bcefc36adc7740cefbc1f9"
|
sha256: "54cd3790b6dfdc1afce928f8c46f7eeea9e4f8326f077400894935926f202057"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.2"
|
version: "0.3.0"
|
||||||
flutter_web_auth_2:
|
flutter_web_auth_2:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -829,10 +821,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: get_it
|
name: get_it
|
||||||
sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1
|
sha256: a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.7.0"
|
version: "8.2.0"
|
||||||
glob:
|
glob:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -925,10 +917,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: http
|
name: http
|
||||||
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
|
sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.4.0"
|
version: "1.5.0"
|
||||||
http_multi_server:
|
http_multi_server:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -957,66 +949,66 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: image_picker
|
name: image_picker
|
||||||
sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
|
sha256: "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.2"
|
version: "1.2.0"
|
||||||
image_picker_android:
|
image_picker_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_android
|
name: image_picker_android
|
||||||
sha256: "317a5d961cec5b34e777b9252393f2afbd23084aa6e60fcf601dcf6341b9ebeb"
|
sha256: "28f3987ca0ec702d346eae1d90eda59603a2101b52f1e234ded62cff1d5cfa6e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.12+23"
|
version: "0.8.13+1"
|
||||||
image_picker_for_web:
|
image_picker_for_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_for_web
|
name: image_picker_for_web
|
||||||
sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83"
|
sha256: "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.6"
|
version: "3.1.0"
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_ios
|
name: image_picker_ios
|
||||||
sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100"
|
sha256: eb06fe30bab4c4497bad449b66448f50edcc695f1c59408e78aa3a8059eb8f0e
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.12+2"
|
version: "0.8.13"
|
||||||
image_picker_linux:
|
image_picker_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_linux
|
name: image_picker_linux
|
||||||
sha256: "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9"
|
sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.1+2"
|
version: "0.2.2"
|
||||||
image_picker_macos:
|
image_picker_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_macos
|
name: image_picker_macos
|
||||||
sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1"
|
sha256: d58cd9d67793d52beefd6585b12050af0a7663c0c2a6ece0fb110a35d6955e04
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.1+2"
|
version: "0.2.2"
|
||||||
image_picker_platform_interface:
|
image_picker_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_platform_interface
|
name: image_picker_platform_interface
|
||||||
sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0"
|
sha256: "9f143b0dba3e459553209e20cc425c9801af48e6dfa4f01a0fcf927be3f41665"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.10.1"
|
version: "2.11.0"
|
||||||
image_picker_windows:
|
image_picker_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_windows
|
name: image_picker_windows
|
||||||
sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
|
sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.1+1"
|
version: "0.2.2"
|
||||||
import_sorter:
|
import_sorter:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
|
|
@ -1074,10 +1066,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: just_audio_platform_interface
|
name: just_audio_platform_interface
|
||||||
sha256: "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a"
|
sha256: "2532c8d6702528824445921c5ff10548b518b13f808c2e34c2fd54793b999a6a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.5.0"
|
version: "4.6.0"
|
||||||
just_audio_web:
|
just_audio_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1154,10 +1146,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: logger
|
name: logger
|
||||||
sha256: be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1
|
sha256: a7967e31b703831a893bbc3c3dd11db08126fe5f369b5c648a36f821979f5be3
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.0"
|
version: "2.6.2"
|
||||||
logging:
|
logging:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1203,7 +1195,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
path: "."
|
path: "."
|
||||||
ref: main
|
ref: main
|
||||||
resolved-ref: "0817bb43f0e34e1f4961b1cfb76111ffcbe188df"
|
resolved-ref: "58c4cf19d010d9ae193e9df10bd1f8fdf02277b0"
|
||||||
url: "https://git.extera.xyz/OfficialDakari/matrix-dart-sdk.git"
|
url: "https://git.extera.xyz/OfficialDakari/matrix-dart-sdk.git"
|
||||||
source: git
|
source: git
|
||||||
version: "2.0.1"
|
version: "2.0.1"
|
||||||
|
|
@ -1235,10 +1227,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: msix
|
name: msix
|
||||||
sha256: edde648a8133bf301883c869d19d127049683037c65ff64173ba526ac7a8af2f
|
sha256: f88033fcb9e0dd8de5b18897cbebbd28ea30596810f4a7c86b12b0c03ace87e5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.16.9"
|
version: "3.16.12"
|
||||||
native_imaging:
|
native_imaging:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -1283,18 +1275,18 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: package_info_plus
|
name: package_info_plus
|
||||||
sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
|
sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "8.3.0"
|
version: "8.3.1"
|
||||||
package_info_plus_platform_interface:
|
package_info_plus_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: package_info_plus_platform_interface
|
name: package_info_plus_platform_interface
|
||||||
sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
|
sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.0"
|
version: "3.2.1"
|
||||||
pana:
|
pana:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1331,18 +1323,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_android
|
name: path_provider_android
|
||||||
sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
|
sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.17"
|
version: "2.2.18"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_foundation
|
name: path_provider_foundation
|
||||||
sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
|
sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.1"
|
version: "2.4.2"
|
||||||
path_provider_linux:
|
path_provider_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1419,10 +1411,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: petitparser
|
name: petitparser
|
||||||
sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646"
|
sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.0"
|
version: "7.0.1"
|
||||||
platform:
|
platform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1483,26 +1475,26 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: pool
|
name: pool
|
||||||
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
|
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.5.1"
|
version: "1.5.2"
|
||||||
posix:
|
posix:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: posix
|
name: posix
|
||||||
sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
|
sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.2"
|
version: "6.0.3"
|
||||||
pretty_qr_code:
|
pretty_qr_code:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: pretty_qr_code
|
name: pretty_qr_code
|
||||||
sha256: b078bd5d51956dea4342378af1b092ad962b81bdbb55b10fffce03461da8db74
|
sha256: "2291db3f68d70a3dcd46c6bd599f30991ae4c02f27f36215fbb3f4865a609259"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.4.0"
|
version: "3.5.0"
|
||||||
process:
|
process:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1523,10 +1515,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: provider
|
name: provider
|
||||||
sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
|
sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.5"
|
version: "6.1.5+1"
|
||||||
pub_semver:
|
pub_semver:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1563,10 +1555,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: qr_code_scanner_plus
|
name: qr_code_scanner_plus
|
||||||
sha256: "39696b50d277097ee4d90d4292de36f38c66213a4f5216a06b2bdd2b63117859"
|
sha256: a0f1ac8e13299b3db2646635f252fe2ec67222b848b24ed34d11052faf080bfa
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.10+1"
|
version: "2.0.12"
|
||||||
qr_image:
|
qr_image:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|
@ -1595,58 +1587,66 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: record
|
name: record
|
||||||
sha256: "2e3d56d196abcd69f1046339b75e5f3855b2406fc087e5991f6703f188aa03a6"
|
sha256: "6bad72fb3ea6708d724cf8b6c97c4e236cf9f43a52259b654efeb6fd9b737f1f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.2.1"
|
version: "6.1.2"
|
||||||
record_android:
|
record_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_android
|
name: record_android
|
||||||
sha256: "97d7122455f30de89a01c6c244c839085be6b12abca251fc0e78f67fed73628b"
|
sha256: f05677eeed074898327f890f232f9eb49cd99d1c20d0daaf22b5612f4b2301bb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.3"
|
version: "1.4.3"
|
||||||
record_darwin:
|
record_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_darwin
|
name: record_ios
|
||||||
sha256: e487eccb19d82a9a39cd0126945cfc47b9986e0df211734e2788c95e3f63c82c
|
sha256: "765b42ac1be019b1674ddd809b811fc721fe5a93f7bb1da7803f0d16772fd6d7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.2"
|
version: "1.1.4"
|
||||||
record_linux:
|
record_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_linux
|
name: record_linux
|
||||||
sha256: "74d41a9ebb1eb498a38e9a813dd524e8f0b4fdd627270bda9756f437b110a3e3"
|
sha256: "235b1f1fb84e810f8149cc0c2c731d7d697f8d1c333b32cb820c449bf7bb72d8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "1.2.1"
|
||||||
|
record_macos:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: record_macos
|
||||||
|
sha256: "842ea4b7e95f4dd237aacffc686d1b0ff4277e3e5357865f8d28cd28bc18ed95"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.2"
|
||||||
record_platform_interface:
|
record_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_platform_interface
|
name: record_platform_interface
|
||||||
sha256: "8a575828733d4c3cb5983c914696f40db8667eab3538d4c41c50cbb79e722ef4"
|
sha256: b0065fdf1ec28f5a634d676724d388a77e43ce7646fb049949f58c69f3fcb4ed
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.4.0"
|
||||||
record_web:
|
record_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_web
|
name: record_web
|
||||||
sha256: "024c81eb7f51468b1833a3eca8b461c7ca25c04899dba37abe580bb57afd32e4"
|
sha256: "4f0adf20c9ccafcc02d71111fd91fba1ca7b17a7453902593e5a9b25b74a5c56"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.8"
|
version: "1.2.0"
|
||||||
record_windows:
|
record_windows:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: record_windows
|
name: record_windows
|
||||||
sha256: "85a22fc97f6d73ecd67c8ba5f2f472b74ef1d906f795b7970f771a0914167e99"
|
sha256: "223258060a1d25c62bae18282c16783f28581ec19401d17e56b5205b9f039d78"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.6"
|
version: "1.0.7"
|
||||||
retry:
|
retry:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1715,10 +1715,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: shared_preferences_android
|
name: shared_preferences_android
|
||||||
sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
|
sha256: bd14436108211b0d4ee5038689a56d4ae3620fd72fd6036e113bf1345bc74d9e
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.4.10"
|
version: "2.4.13"
|
||||||
shared_preferences_foundation:
|
shared_preferences_foundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1856,18 +1856,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: sqflite_common
|
name: sqflite_common
|
||||||
sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b"
|
sha256: "6ef422a4525ecc601db6c0a2233ff448c731307906e92cabc9ba292afaae16a6"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.5"
|
version: "2.5.6"
|
||||||
sqflite_common_ffi:
|
sqflite_common_ffi:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: sqflite_common_ffi
|
name: sqflite_common_ffi
|
||||||
sha256: "1f3ef3888d3bfbb47785cc1dda0dc7dd7ebd8c1955d32a9e8e9dae1e38d1c4c1"
|
sha256: "9faa2fedc5385ef238ce772589f7718c24cdddd27419b609bb9c6f703ea27988"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.5"
|
version: "2.3.6"
|
||||||
sqflite_darwin:
|
sqflite_darwin:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1888,18 +1888,18 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: sqlcipher_flutter_libs
|
name: sqlcipher_flutter_libs
|
||||||
sha256: "777c3469ada8fe6b808bd50f1c752cdd2ca1b1f3cf751d434502ead15334f3a5"
|
sha256: dd1fcc74d5baf3c36ad53e2652b2d06c9f8747494a3ccde0076e88b159dfe622
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.6"
|
version: "0.6.8"
|
||||||
sqlite3:
|
sqlite3:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: sqlite3
|
name: sqlite3
|
||||||
sha256: c0503c69b44d5714e6abbf4c1f51a3c3cc42b75ce785f44404765e4635481d38
|
sha256: "5c225083e72ea56c96d94ba1dd14fb89c8bb7731c8496ee840ab77be9bb67ae2"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.7.6"
|
version: "2.9.1"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -1952,10 +1952,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: synchronized
|
name: synchronized
|
||||||
sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6"
|
sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.3.1"
|
version: "3.4.0"
|
||||||
tar:
|
tar:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2104,26 +2104,26 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: url_launcher
|
name: url_launcher
|
||||||
sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
|
sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.3.1"
|
version: "6.3.2"
|
||||||
url_launcher_android:
|
url_launcher_android:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_android
|
name: url_launcher_android
|
||||||
sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
|
sha256: "81777b08c498a292d93ff2feead633174c386291e35612f8da438d6e92c4447e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.3.16"
|
version: "6.3.20"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_ios
|
name: url_launcher_ios
|
||||||
sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
|
sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.3.3"
|
version: "6.3.4"
|
||||||
url_launcher_linux:
|
url_launcher_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2136,10 +2136,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_macos
|
name: url_launcher_macos
|
||||||
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
|
sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.2"
|
version: "3.2.3"
|
||||||
url_launcher_platform_interface:
|
url_launcher_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2200,34 +2200,34 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: video_player_android
|
name: video_player_android
|
||||||
sha256: "4a5135754a62dbc827a64a42ef1f8ed72c962e191c97e2d48744225c2b9ebb73"
|
sha256: "6cfe0b1e102522eda1e139b82bf00602181c5844fd2885340f595fb213d74842"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.8.7"
|
version: "2.8.14"
|
||||||
video_player_avfoundation:
|
video_player_avfoundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: video_player_avfoundation
|
name: video_player_avfoundation
|
||||||
sha256: "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f"
|
sha256: f9a780aac57802b2892f93787e5ea53b5f43cc57dc107bee9436458365be71cd
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.7.1"
|
version: "2.8.4"
|
||||||
video_player_platform_interface:
|
video_player_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: video_player_platform_interface
|
name: video_player_platform_interface
|
||||||
sha256: df534476c341ab2c6a835078066fc681b8265048addd853a1e3c78740316a844
|
sha256: cf2a1d29a284db648fd66cbd18aacc157f9862d77d2cc790f6f9678a46c1db5a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.3.0"
|
version: "6.4.0"
|
||||||
video_player_web:
|
video_player_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: video_player_web
|
name: video_player_web
|
||||||
sha256: e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba
|
sha256: "9f3c00be2ef9b76a95d94ac5119fb843dca6f2c69e6c9968f6f2b6c9e7afbdeb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.5"
|
version: "2.4.0"
|
||||||
vm_service:
|
vm_service:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2240,34 +2240,34 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: vodozemac
|
name: vodozemac
|
||||||
sha256: dba14017e042748fb22d270e8ab1d3e46965b89788dd3857dba938ec07571968
|
sha256: "95cac62ffab94db99e134c8f9aac198f8131a4eed0bed76a6cfc9c72add229b9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.2.0"
|
version: "0.3.0"
|
||||||
wakelock_plus:
|
wakelock_plus:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: wakelock_plus
|
name: wakelock_plus
|
||||||
sha256: a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678
|
sha256: "61713aa82b7f85c21c9f4cd0a148abd75f38a74ec645fcb1e446f882c82fd09b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.3.3"
|
||||||
wakelock_plus_platform_interface:
|
wakelock_plus_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: wakelock_plus_platform_interface
|
name: wakelock_plus_platform_interface
|
||||||
sha256: e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207
|
sha256: "036deb14cd62f558ca3b73006d52ce049fabcdcb2eddfe0bf0fe4e8a943b5cf2"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.3"
|
version: "1.3.0"
|
||||||
watcher:
|
watcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: watcher
|
name: watcher
|
||||||
sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104"
|
sha256: "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.1"
|
version: "1.1.4"
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2312,10 +2312,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: webrtc_interface
|
name: webrtc_interface
|
||||||
sha256: "86fe3afc81a08481dfb25cf14a5a94e27062ecef25544783f352c914e0bbc1ca"
|
sha256: "2e604a31703ad26781782fb14fa8a4ee621154ee2c513d2b9938e486fa695233"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.2+hotfix.2"
|
version: "1.3.0"
|
||||||
win32:
|
win32:
|
||||||
dependency: "direct overridden"
|
dependency: "direct overridden"
|
||||||
description:
|
description:
|
||||||
|
|
@ -2360,10 +2360,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: xml
|
name: xml
|
||||||
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
|
sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.5.0"
|
version: "6.6.1"
|
||||||
yaml:
|
yaml:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
@ -2374,4 +2374,4 @@ packages:
|
||||||
version: "3.1.3"
|
version: "3.1.3"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.8.0 <4.0.0"
|
dart: ">=3.8.0 <4.0.0"
|
||||||
flutter: ">=3.29.0"
|
flutter: ">=3.32.0"
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ dependencies:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/famedly/flutter_typeahead.git
|
url: https://github.com/famedly/flutter_typeahead.git
|
||||||
ref: main
|
ref: main
|
||||||
flutter_vodozemac: ^0.2.2
|
flutter_vodozemac: ^0.3.0
|
||||||
flutter_web_auth_2: ^3.1.1 # Version 4 blocked by https://github.com/MixinNetwork/flutter-plugins/issues/379
|
flutter_web_auth_2: ^3.1.1 # Version 4 blocked by https://github.com/MixinNetwork/flutter-plugins/issues/379
|
||||||
flutter_webrtc: ^0.12.9
|
flutter_webrtc: ^0.12.9
|
||||||
geolocator: ^13.0.1
|
geolocator: ^13.0.1
|
||||||
|
|
@ -57,7 +57,7 @@ dependencies:
|
||||||
hive_flutter: ^1.1.0
|
hive_flutter: ^1.1.0
|
||||||
html: ^0.15.4
|
html: ^0.15.4
|
||||||
http: ^1.2.0
|
http: ^1.2.0
|
||||||
image: ^4.1.7
|
image: ^4.5.4
|
||||||
image_picker: ^1.1.0
|
image_picker: ^1.1.0
|
||||||
intl: ^0.20.2
|
intl: ^0.20.2
|
||||||
just_audio: ^0.9.39
|
just_audio: ^0.9.39
|
||||||
|
|
@ -82,7 +82,7 @@ dependencies:
|
||||||
qr_code_scanner_plus: ^2.0.10+1
|
qr_code_scanner_plus: ^2.0.10+1
|
||||||
qr_image: ^1.0.0
|
qr_image: ^1.0.0
|
||||||
receive_sharing_intent: ^1.8.1
|
receive_sharing_intent: ^1.8.1
|
||||||
record: ^5.1.2
|
record: ^6.1.1
|
||||||
scroll_to_index: ^3.0.1
|
scroll_to_index: ^3.0.1
|
||||||
share_plus: ^10.0.2
|
share_plus: ^10.0.2
|
||||||
shared_preferences: ^2.2.0 # Pinned because https://github.com/flutter/flutter/issues/118401
|
shared_preferences: ^2.2.0 # Pinned because https://github.com/flutter/flutter/issues/118401
|
||||||
|
|
@ -97,7 +97,7 @@ dependencies:
|
||||||
url_launcher: ^6.2.5
|
url_launcher: ^6.2.5
|
||||||
video_compress: ^3.1.4
|
video_compress: ^3.1.4
|
||||||
video_player: ^2.9.2
|
video_player: ^2.9.2
|
||||||
vodozemac: ^0.2.0
|
vodozemac: ^0.3.0
|
||||||
wakelock_plus: ^1.2.2
|
wakelock_plus: ^1.2.2
|
||||||
webrtc_interface: ^1.0.13
|
webrtc_interface: ^1.0.13
|
||||||
dio: ^5.9.0
|
dio: ^5.9.0
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue