diff --git a/README.md b/README.md index f924e22..f92501d 100644 --- a/README.md +++ b/README.md @@ -4,16 +4,19 @@ Don't be lonely, get twonly! Send pictures to a friend in real time and be sure ## TODOS bevor first beta -- Add no_screenshot plugin: https://pub.dev/packages/no_screenshot -- Bei mehreren neu Empfangen Nachrichten fixen - Settings - Delete and Block active users -- Onboarding Slide, Text und Animationen - MessageKind -> Ausbauen? - Nachrichten nach 24h Stunden löschen -- Real deployment aufsetzen direkt auf Netcup? +- Real deployment aufsetzen, direkt auf Netcup? - Pro Invitation codes +- FIX: Problem Bild falsch, wenn handy schräg... +- MediaView: + - Bei weiteren geladenen Bildern -> Direkt anzeigen ohne zu popen +## TODOS bevor first release +- Webpage +- Instagam ## Later todos - Videos - Sealed Sender diff --git a/assets/images/logo.jpg b/assets/images/logo.jpg new file mode 100644 index 0000000..1a5cb10 Binary files /dev/null and b/assets/images/logo.jpg differ diff --git a/lib/src/model/messages_model.dart b/lib/src/model/messages_model.dart index 79339da..0b5a834 100644 --- a/lib/src/model/messages_model.dart +++ b/lib/src/model/messages_model.dart @@ -126,9 +126,9 @@ class DbMessages extends CvModelBase { final List> maps = await dbProvider.db!.rawQuery(''' SELECT $columnSendAt, $columnMessageOtherId FROM $tableName - WHERE $columnOtherUserId = ? + WHERE $columnOtherUserId = ? AND ($columnMessageKind = ? OR $columnMessageKind = ?) ORDER BY $columnSendAt DESC; - ''', [otherUserId]); + ''', [otherUserId, MessageKind.image.index, MessageKind.video.index]); try { return List.generate(maps.length, (i) { diff --git a/lib/src/views/chats/media_viewer_view.dart b/lib/src/views/chats/media_viewer_view.dart index bf6d44b..645a8e9 100644 --- a/lib/src/views/chats/media_viewer_view.dart +++ b/lib/src/views/chats/media_viewer_view.dart @@ -4,12 +4,15 @@ import 'package:flutter/services.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:local_auth/local_auth.dart'; import 'package:lottie/lottie.dart'; +import 'package:no_screenshot/no_screenshot.dart'; import 'package:twonly/src/components/media_view_sizing.dart'; import 'package:twonly/src/model/contacts_model.dart'; import 'package:twonly/src/model/json/message.dart'; import 'package:twonly/src/model/messages_model.dart'; import 'package:twonly/src/providers/api/api.dart'; +final _noScreenshot = NoScreenshot.instance; + class MediaViewerView extends StatefulWidget { final Contact otherUser; final DbMessage message; @@ -40,6 +43,8 @@ class _MediaViewerViewState extends State { } Future loadMedia({bool force = false}) async { + bool result = await _noScreenshot.screenshotOff(); + debugPrint('Screenshot Off: $result'); final content = widget.message.messageContent; if (content is MediaMessageContent) { if (content.isRealTwonly) { @@ -97,8 +102,8 @@ class _MediaViewerViewState extends State { @override void dispose() { super.dispose(); - _timer?.cancel(); + _noScreenshot.screenshotOn(); } @override diff --git a/pubspec.lock b/pubspec.lock index af37d6d..25c0208 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -802,6 +802,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.0" + no_screenshot: + dependency: "direct main" + description: + name: no_screenshot + sha256: ec3d86d7ee89a09c3a3939c1003012536ba4b3fcb4f8cbd23d87ada595c99258 + url: "https://pub.dev" + source: hosted + version: "0.3.1" optional: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index ac73694..7b6b9fb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -36,6 +36,7 @@ dependencies: local_auth: ^2.3.0 logging: ^1.3.0 lottie: ^3.3.1 + no_screenshot: ^0.3.1 path: ^1.9.0 path_provider: ^2.1.5 permission_handler: ^11.3.1