mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-09-19 05:48:54 +00:00
Start update
This commit is contained in:
@@ -57,7 +57,7 @@ class _TabletRouteState extends MainController {
|
||||
|
||||
Widget _buildLeftPane() => Theme(
|
||||
data: Theme.of(context).copyWith(
|
||||
textTheme: TextTheme(body1: TextStyle(color: Colors.white)),
|
||||
textTheme: TextTheme(bodyText2: TextStyle(color: Colors.white)),
|
||||
iconTheme: IconThemeData(color: Colors.white),
|
||||
),
|
||||
child: Container(
|
||||
|
@@ -74,13 +74,13 @@ class _AccountImageSettingsScreenState
|
||||
// Upload new account image
|
||||
SettingsTile(
|
||||
title: tr("Upload an account image"),
|
||||
onTap: () => _uploadAccountImage(),
|
||||
onPressed: (_) => _uploadAccountImage(),
|
||||
),
|
||||
|
||||
// Generate a random account image
|
||||
SettingsTile(
|
||||
title: tr("Generate a random account image"),
|
||||
onTap: () => _generateRandomAccountImage(),
|
||||
onPressed: (_) => _generateRandomAccountImage(),
|
||||
),
|
||||
];
|
||||
}
|
||||
@@ -100,19 +100,19 @@ class _AccountImageSettingsScreenState
|
||||
// Upload new account image
|
||||
SettingsTile(
|
||||
title: tr("Upload new account image"),
|
||||
onTap: () => _uploadAccountImage(),
|
||||
onPressed: (_) => _uploadAccountImage(),
|
||||
),
|
||||
|
||||
// Generate a random account image
|
||||
SettingsTile(
|
||||
title: tr("Generate a random account image"),
|
||||
onTap: () => _generateRandomAccountImage(),
|
||||
onPressed: (_) => _generateRandomAccountImage(),
|
||||
),
|
||||
|
||||
// Change account image visibility
|
||||
SettingsTile(
|
||||
title: tr("Change account image visibility"),
|
||||
onTap: () => _chooseAccountImageVisibility(),
|
||||
onPressed: (_) => _chooseAccountImageVisibility(),
|
||||
subtitle: tr("Current level: %level%", args: {
|
||||
"level":
|
||||
_settings.visibility == AccountImageVisibilityLevels.EVERYONE
|
||||
@@ -126,7 +126,7 @@ class _AccountImageSettingsScreenState
|
||||
// Delete account image
|
||||
SettingsTile(
|
||||
title: tr("Delete account image"),
|
||||
onTap: () => _deleteAccountImage(),
|
||||
onPressed: (_) => _deleteAccountImage(),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ class _AccountPrivacySettingsState extends State<AccountPrivacySettings> {
|
||||
title: tr("Delete your account"),
|
||||
subtitle:
|
||||
tr("Permanently delete your account and all data related to it."),
|
||||
onTap: _deleteAccount,
|
||||
onPressed: (_)=>_deleteAccount,
|
||||
)
|
||||
])
|
||||
]);
|
||||
|
@@ -30,19 +30,19 @@ class _AccountSecuritySettingsScreenState
|
||||
tiles: [
|
||||
SettingsTile(
|
||||
title: tr("Change password"),
|
||||
onTap: _changePassword,
|
||||
onPressed: (_) => _changePassword,
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Change your security questions"),
|
||||
subtitle: tr(
|
||||
"Your security questions can be used to recover an access to your account when you loose your password..."),
|
||||
onTap: _changeSecurityQuestions,
|
||||
onPressed: (_) => _changeSecurityQuestions,
|
||||
),
|
||||
SettingsTile(
|
||||
title: tr("Disconnect all your devices"),
|
||||
subtitle: tr(
|
||||
"Disconnect all your devices from Comunic, including the current one. Use this option if one of the device you use for Comunic was stolen."),
|
||||
onTap: _disconnectAllDevices,
|
||||
onPressed: (_) => _disconnectAllDevices,
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@@ -152,7 +152,7 @@ class __AccountSettingsBodyState extends State<_AccountSettingsBody> {
|
||||
title: f.title,
|
||||
leading: Icon(f.icon),
|
||||
subtitle: f.subtitle,
|
||||
onTap: () => _openSectionsAsNewRoute(f),
|
||||
onPressed: (_) => _openSectionsAsNewRoute(f),
|
||||
))
|
||||
.toList(),
|
||||
)
|
||||
|
@@ -58,7 +58,7 @@ class _ApplicationSettingsState extends State<ApplicationSettings> {
|
||||
SettingsTile(
|
||||
title: tr("About this application"),
|
||||
subtitle: tr("Learn more about us"),
|
||||
onTap: () => showAboutAppDialog(context),
|
||||
onPressed: (_) => showAboutAppDialog(context),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
@@ -1,5 +1,3 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:comunic/helpers/settings_helper.dart';
|
||||
import 'package:comunic/helpers/users_helper.dart';
|
||||
import 'package:comunic/lists/custom_emojies_list.dart';
|
||||
@@ -14,6 +12,7 @@ import 'package:comunic/utils/input_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
|
||||
/// Emojies account settings
|
||||
///
|
||||
@@ -137,7 +136,7 @@ class _NewCustomEmojiDialog extends StatefulWidget {
|
||||
|
||||
class _NewCustomEmojiDialogState extends State<_NewCustomEmojiDialog> {
|
||||
final _controller = TextEditingController();
|
||||
File _file;
|
||||
PickedFile _file;
|
||||
|
||||
bool get _hasImage => _file != null;
|
||||
|
||||
|
@@ -198,7 +198,7 @@ class _GeneralAccountSettingsScreenState
|
||||
SettingsTile(
|
||||
title: tr("Virtual directory (optional)"),
|
||||
subtitle: _settings.virtualDirectory,
|
||||
onTap: () async {
|
||||
onPressed: (_) async {
|
||||
final dir = await showVirtualDirectoryDialog(
|
||||
context: context,
|
||||
initialDirectory: _settings.virtualDirectory,
|
||||
|
@@ -17,8 +17,7 @@ import 'package:comunic/utils/account_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_webrtc/rtc_peerconnection.dart';
|
||||
import 'package:flutter_webrtc/webrtc.dart';
|
||||
import 'package:flutter_webrtc/flutter_webrtc.dart';
|
||||
|
||||
/// Call screen
|
||||
///
|
||||
@@ -216,7 +215,7 @@ class _CallScreenState extends SafeState<CallScreen> {
|
||||
await _stopStreaming();
|
||||
|
||||
// Request user media
|
||||
_localStream = await navigator.getUserMedia({
|
||||
_localStream = await navigator.mediaDevices.getUserMedia({
|
||||
"audio": true,
|
||||
"video": !includeVideo
|
||||
? false
|
||||
@@ -451,7 +450,7 @@ class _CallScreenState extends SafeState<CallScreen> {
|
||||
switch (option) {
|
||||
// Switch camera
|
||||
case _PopupMenuOption.SWITCH_CAMERA:
|
||||
await _localStream.getVideoTracks()[0].switchCamera();
|
||||
await Helper.switchCamera(_localStream.getVideoTracks()[0]);
|
||||
break;
|
||||
|
||||
// Stop streaming
|
||||
|
@@ -112,7 +112,7 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
SettingsTile(
|
||||
title: tr("Virtual directory (optional)"),
|
||||
subtitle: _groupSettings.virtualDirectory,
|
||||
onTap: () async {
|
||||
onPressed: (_) async {
|
||||
final newDir = await showVirtualDirectoryDialog(
|
||||
context: context,
|
||||
initialDirectory: _groupSettings.virtualDirectory,
|
||||
@@ -257,19 +257,19 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
// Upload a new logo
|
||||
SettingsTile(
|
||||
title: tr("Upload a new logo"),
|
||||
onTap: _uploadNewLogo,
|
||||
onPressed: (_) => _uploadNewLogo,
|
||||
),
|
||||
|
||||
// Generate a new random logo
|
||||
SettingsTile(
|
||||
title: tr("Generate a new random logo"),
|
||||
onTap: _generateRandomLogo,
|
||||
onPressed: (_) => _generateRandomLogo,
|
||||
),
|
||||
|
||||
// Delete current logo
|
||||
SettingsTile(
|
||||
title: tr("Delete logo"),
|
||||
onTap: _deleteLogo,
|
||||
onPressed: (_) => _deleteLogo,
|
||||
),
|
||||
],
|
||||
);
|
||||
@@ -279,7 +279,7 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
void _uploadNewLogo() async {
|
||||
try {
|
||||
final logo = await pickImage(context);
|
||||
final bytes = logo.readAsBytesSync();
|
||||
final bytes = await logo.readAsBytes();
|
||||
await _doUploadLogo(bytes);
|
||||
} catch (e, stack) {
|
||||
print("Could not upload new logo! $e\n$stack");
|
||||
@@ -326,7 +326,7 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
tiles: [
|
||||
SettingsTile(
|
||||
title: tr("Delete group"),
|
||||
onTap: _deleteGroup,
|
||||
onPressed: (_) => _deleteGroup,
|
||||
),
|
||||
],
|
||||
);
|
||||
|
@@ -76,7 +76,7 @@ class _UnreadConversationsScreenState
|
||||
leading: AccountImageWidget(user: user),
|
||||
title: Text(user.displayName),
|
||||
subtitle: RichText(
|
||||
text: TextSpan(style: Theme.of(context).textTheme.body1, children: [
|
||||
text: TextSpan(style: Theme.of(context).textTheme.bodyText2, children: [
|
||||
TextSpan(text: conv.convName.isNotEmpty ? conv.convName + "\n" : ""),
|
||||
TextSpan(
|
||||
text: conv.message,
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import 'dart:io';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:comunic/enums/post_kind.dart';
|
||||
@@ -26,6 +25,7 @@ import 'package:comunic/utils/navigation_utils.dart';
|
||||
import 'package:comunic/utils/post_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
/// Single posts tile
|
||||
@@ -76,7 +76,7 @@ class _PostTileState extends State<PostTile> {
|
||||
|
||||
// Class members
|
||||
TextEditingController _commentController = TextEditingController();
|
||||
File _commentImage;
|
||||
PickedFile _commentImage;
|
||||
bool _submitting = false;
|
||||
int _maxNumberOfCommentToShow = 10;
|
||||
|
||||
|
@@ -36,7 +36,7 @@ class LoginScaffold extends StatelessWidget {
|
||||
),
|
||||
scaffoldBackgroundColor: Colors.indigo.shade900,
|
||||
textTheme: TextTheme(
|
||||
body1: TextStyle(color: Colors.white),
|
||||
bodyText2: TextStyle(color: Colors.white),
|
||||
button: TextStyle(color: Colors.white),
|
||||
),
|
||||
),
|
||||
|
@@ -1,4 +1,3 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:comunic/enums/post_kind.dart';
|
||||
import 'package:comunic/enums/post_target.dart';
|
||||
@@ -15,6 +14,7 @@ import 'package:comunic/utils/post_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
|
||||
/// Widget that allows to create posts
|
||||
///
|
||||
@@ -51,7 +51,7 @@ class _PostCreateFormWidgetState extends State<PostCreateFormWidget> {
|
||||
bool _isCreating = false;
|
||||
final TextEditingController _postTextController = TextEditingController();
|
||||
PostVisibilityLevel _postVisibilityLevel;
|
||||
File _postImage;
|
||||
PickedFile _postImage;
|
||||
String _postURL;
|
||||
List<int> _postPDF;
|
||||
DateTime _timeEnd;
|
||||
@@ -278,13 +278,11 @@ class _PostCreateFormWidgetState extends State<PostCreateFormWidget> {
|
||||
/// Pick a PDF for the new post
|
||||
Future<void> _pickPDFForPost() async {
|
||||
try {
|
||||
final picker = FilePickerCross(
|
||||
final picker = await FilePickerCross.importFromStorage(
|
||||
type: FileTypeCross.custom,
|
||||
fileExtension: "pdf",
|
||||
);
|
||||
|
||||
if (!await picker.pick()) return;
|
||||
|
||||
_resetPostSelection();
|
||||
|
||||
setState(() {
|
||||
@@ -416,7 +414,9 @@ class _PostOptionWidget extends StatelessWidget {
|
||||
onPressed: onTap,
|
||||
color: hasCustomColor
|
||||
? customColor
|
||||
: selected ? _ActiveButtonsColor : _InactiveButtonsColor,
|
||||
: selected
|
||||
? _ActiveButtonsColor
|
||||
: _InactiveButtonsColor,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ class MultiChoicesSettingsTile<T> extends SettingsTile {
|
||||
return SettingsTile(
|
||||
title: title,
|
||||
subtitle: choices.firstWhere((f) => f.id == currentValue).title,
|
||||
onTap: () => _changeValue(context),
|
||||
onPressed: (_) => _changeValue(context),
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -40,7 +40,7 @@ class TextEditSettingsTile extends SettingsTile {
|
||||
return SettingsTile(
|
||||
title: title,
|
||||
subtitle: currValue,
|
||||
onTap: readOnly ? null : () => _changeValue(context),
|
||||
onPressed: (_)=>readOnly ? null : () => _changeValue(context),
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -44,7 +44,7 @@ class ConversationWindowContainer extends StatelessWidget {
|
||||
appBar: AppBarWrapper(
|
||||
height: 40,
|
||||
appBar: AppBar(
|
||||
textTheme: TextTheme(title: TextStyle(fontSize: 15)),
|
||||
textTheme: TextTheme(headline6: TextStyle(fontSize: 15)),
|
||||
backgroundColor: appBarBgColor,
|
||||
leading: icon,
|
||||
title: GestureDetector(child: title, onTap: onToggleCollapse),
|
||||
|
@@ -33,7 +33,7 @@ class TextWidget extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
if (this.content.isNull || this.content.isEmpty) return Text("");
|
||||
|
||||
var usedStyle = style == null ? Theme.of(context).textTheme.body1 : style;
|
||||
var usedStyle = style == null ? Theme.of(context).textTheme.bodyText2 : style;
|
||||
|
||||
var content = this.content.parsedString;
|
||||
|
||||
|
Reference in New Issue
Block a user