Merge pull request 'Fix #295 - P2P Avatar should not be clickable.' (#296) from fix_295 into trunk
continuous-integration/drone/push Build is pending Details

Reviewed-on: #296
Reviewed-by: erinn <erinn@openprivacy.ca>
This commit is contained in:
erinn 2022-01-10 20:49:36 +00:00
commit 5e4c190e41
6 changed files with 45 additions and 35 deletions

View File

@ -26,10 +26,7 @@ class ChatMessage {
}; };
} }
enum ModalState { enum ModalState { none, storageMigration }
none,
storageMigration
}
class AppState extends ChangeNotifier { class AppState extends ChangeNotifier {
bool cwtchInit = false; bool cwtchInit = false;

View File

@ -222,14 +222,8 @@ class Settings extends ChangeNotifier {
// (ignores file size; if the user manually accepts the file, assume it's okay to preview) // (ignores file size; if the user manually accepts the file, assume it's okay to preview)
bool shouldPreview(String path) { bool shouldPreview(String path) {
var lpath = path.toLowerCase(); var lpath = path.toLowerCase();
return isExperimentEnabled(ImagePreviewsExperiment) && ( return isExperimentEnabled(ImagePreviewsExperiment) &&
lpath.endsWith(".jpg") || (lpath.endsWith(".jpg") || lpath.endsWith(".jpeg") || lpath.endsWith(".png") || lpath.endsWith(".gif") || lpath.endsWith(".webp") || lpath.endsWith(".bmp"));
lpath.endsWith(".jpeg") ||
lpath.endsWith(".png") ||
lpath.endsWith(".gif") ||
lpath.endsWith(".webp") ||
lpath.endsWith(".bmp")
);
} }
String get downloadPath => _downloadPath; String get downloadPath => _downloadPath;

View File

@ -87,7 +87,9 @@ class _MessageViewState extends State<MessageView> {
appBarButtons.add(IconButton( appBarButtons.add(IconButton(
icon: Icon(Icons.attach_file, size: 24), icon: Icon(Icons.attach_file, size: 24),
tooltip: AppLocalizations.of(context)!.tooltipSendFile, tooltip: AppLocalizations.of(context)!.tooltipSendFile,
onPressed: (){_showFilePicker(context);}, onPressed: () {
_showFilePicker(context);
},
)); ));
} }
appBarButtons.add(IconButton( appBarButtons.add(IconButton(
@ -154,8 +156,7 @@ class _MessageViewState extends State<MessageView> {
builder: (BuildContext bcontext) { builder: (BuildContext bcontext) {
if (Provider.of<ContactInfoState>(context, listen: false).isGroup == true) { if (Provider.of<ContactInfoState>(context, listen: false).isGroup == true) {
return MultiProvider( return MultiProvider(
providers: [ChangeNotifierProvider.value(value: Provider.of<ContactInfoState>(context)), providers: [ChangeNotifierProvider.value(value: Provider.of<ContactInfoState>(context)), ChangeNotifierProvider.value(value: Provider.of<ProfileInfoState>(context))],
ChangeNotifierProvider.value(value: Provider.of<ProfileInfoState>(context))],
child: GroupSettingsView(), child: GroupSettingsView(),
); );
} else { } else {
@ -423,7 +424,10 @@ class _MessageViewState extends State<MessageView> {
SizedBox( SizedBox(
height: 20, height: 20,
), ),
Visibility(visible: showPreview, child: showPreview ? Image.file( Visibility(
visible: showPreview,
child: showPreview
? Image.file(
imagePreview!, imagePreview!,
cacheHeight: 150, // limit the amount of space the image can decode too, we keep this high-ish to allow quality previews... cacheHeight: 150, // limit the amount of space the image can decode too, we keep this high-ish to allow quality previews...
filterQuality: FilterQuality.medium, filterQuality: FilterQuality.medium,
@ -434,8 +438,13 @@ class _MessageViewState extends State<MessageView> {
errorBuilder: (context, error, stackTrace) { errorBuilder: (context, error, stackTrace) {
return MalformedBubble(); return MalformedBubble();
}, },
) : Container()), )
Visibility(visible: showPreview, child: SizedBox(height: 10,)), : Container()),
Visibility(
visible: showPreview,
child: SizedBox(
height: 10,
)),
Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Row(mainAxisAlignment: MainAxisAlignment.center, children: [
ElevatedButton( ElevatedButton(
child: Text(AppLocalizations.of(context)!.cancel, semanticsLabel: AppLocalizations.of(context)!.cancel), child: Text(AppLocalizations.of(context)!.cancel, semanticsLabel: AppLocalizations.of(context)!.cancel),
@ -443,7 +452,9 @@ class _MessageViewState extends State<MessageView> {
Navigator.pop(bcontext); Navigator.pop(bcontext);
}, },
), ),
SizedBox(width: 20,), SizedBox(
width: 20,
),
ElevatedButton( ElevatedButton(
child: Text(AppLocalizations.of(context)!.btnSendFile, semanticsLabel: AppLocalizations.of(context)!.btnSendFile), child: Text(AppLocalizations.of(context)!.btnSendFile, semanticsLabel: AppLocalizations.of(context)!.btnSendFile),
onPressed: () { onPressed: () {

View File

@ -55,6 +55,7 @@ class MessageRowState extends State<MessageRow> with SingleTickerProviderStateMi
Widget build(BuildContext context) { Widget build(BuildContext context) {
var fromMe = Provider.of<MessageMetadata>(context).senderHandle == Provider.of<ProfileInfoState>(context).onion; var fromMe = Provider.of<MessageMetadata>(context).senderHandle == Provider.of<ProfileInfoState>(context).onion;
var isContact = Provider.of<ProfileInfoState>(context).contactList.findContact(Provider.of<MessageMetadata>(context).senderHandle) != null; var isContact = Provider.of<ProfileInfoState>(context).contactList.findContact(Provider.of<MessageMetadata>(context).senderHandle) != null;
var isGroup = Provider.of<ProfileInfoState>(context).contactList.getContact(Provider.of<MessageMetadata>(context, listen: false).conversationIdentifier)!.isGroup;
var isBlocked = isContact ? Provider.of<ProfileInfoState>(context).contactList.findContact(Provider.of<MessageMetadata>(context).senderHandle)!.isBlocked : false; var isBlocked = isContact ? Provider.of<ProfileInfoState>(context).contactList.findContact(Provider.of<MessageMetadata>(context).senderHandle)!.isBlocked : false;
var actualMessage = Flexible(flex: Platform.isAndroid ? 10 : 3, fit: FlexFit.loose, child: widget.child); var actualMessage = Flexible(flex: Platform.isAndroid ? 10 : 3, fit: FlexFit.loose, child: widget.child);
@ -148,17 +149,24 @@ class MessageRowState extends State<MessageRow> with SingleTickerProviderStateMi
} else { } else {
var contact = Provider.of<ContactInfoState>(context); var contact = Provider.of<ContactInfoState>(context);
Widget wdgPortrait = GestureDetector( Widget wdgPortrait = GestureDetector(
onTap: isContact ? _btnGoto : _btnAdd, onTap: !isGroup
? null
: isContact
? _btnGoto
: _btnAdd,
child: Padding( child: Padding(
padding: EdgeInsets.all(4.0), padding: EdgeInsets.all(4.0),
child: ProfileImage( child: ProfileImage(
diameter: 48.0, diameter: 48.0,
imagePath: Provider.of<MessageMetadata>(context).senderImage ?? contact.imagePath, imagePath: Provider.of<MessageMetadata>(context).senderImage ?? contact.imagePath,
//maskOut: contact.status != "Authenticated",
border: contact.status == "Authenticated" ? Provider.of<Settings>(context).theme.portraitOnlineBorderColor : Provider.of<Settings>(context).theme.portraitOfflineBorderColor, border: contact.status == "Authenticated" ? Provider.of<Settings>(context).theme.portraitOnlineBorderColor : Provider.of<Settings>(context).theme.portraitOfflineBorderColor,
badgeTextColor: Colors.red, badgeTextColor: Colors.red,
badgeColor: Colors.red, badgeColor: Colors.red,
tooltip: isContact ? AppLocalizations.of(context)!.contactGoto.replaceFirst("%1", senderDisplayStr) : AppLocalizations.of(context)!.addContact, tooltip: !isGroup
? ""
: isContact
? AppLocalizations.of(context)!.contactGoto.replaceFirst("%1", senderDisplayStr)
: AppLocalizations.of(context)!.addContact,
))); )));
widgetRow = <Widget>[ widgetRow = <Widget>[