Skip to content

Commit

Permalink
Merge pull request #124 from Flajt/dev
Browse files Browse the repository at this point in the history
Fix: infinte loading spinner while trying to use the VerificationPage
  • Loading branch information
Flajt authored Mar 18, 2024
2 parents 3707df4 + ae08413 commit d024297
Show file tree
Hide file tree
Showing 14 changed files with 15 additions and 19 deletions.
2 changes: 1 addition & 1 deletion assets/translations/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "النهاية",
"tempTitle": "التسجيلات الصوتية",
"body1": "باستخدام هذا التطبيق، يمكنك إنشاء ملفات وسائط متعددة وإثبات لاحقًا أن هذا الملف لم يتم العبث به!",
"body2": "ما عليك سوى تحديد أحد الخيارين في القائمة الرئيسية والبدء في إنشاء ملفك. المدعومة هي: .mp4، .mp3، .png و.aac",
"body2": "ما عليك سوى تحديد أحد الخيارين في القائمة الرئيسية والبدء في إنشاء ملفك. المدعومة هي: .mp3، .png و.aac",
"body3": "يمكنك ببساطة مشاركة الملف من أي تطبيق تريده، لكنني أوصي باستخدام البريد الإلكتروني أو التخزين السحابي أو التصدير المباشر.\n إذا كنت تستخدم تطبيقات أخرى مثل تطبيق الدردشة، فقد تفقد البيانات الوصفية وقد لا تتمكن من التحقق من صحة الملف لاحقًا!",
"body4": "الأمر سهل، ما عليك سوى تحديد الإدخال الثالث في القائمة الرئيسية وتحديد ملفك. كل شيء آخر هو واضح بذاته!",
"body5": "هذا كل شيء، إذا كنت ترغب في دعم التطبيق، أو ترغب في الحصول على مزيد من المعلومات حول كيفية عمله، فلا تتردد في التحقق من الرمز الأيمن العلوي، في الصفحة الرئيسية، خارجًا.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Ende",
"tempTitle": "Audioaufnahmen",
"body1": "Mit dieser App können Sie Multimediadateien erstellen und später beweisen, dass diese Datei nicht manipuliert wurde!",
"body2": "Wählen Sie einfach eine der 2 Optionen im Hauptmenü und beginnen Sie mit der Erstellung Ihrer Datei. Unterstützt werden: .mp4,.mp3 .png & .aac",
"body2": "Wählen Sie einfach eine der 2 Optionen im Hauptmenü und beginnen Sie mit der Erstellung Ihrer Datei. Unterstützt werden:.mp3 .png & .aac",
"body3": "Sie können die Datei von jeder beliebigen App aus teilen, aber ich empfehlen Ihnen, E-Mail, einen Cloud-Speicher oder den direkten Export zu verwenden. Wenn Sie andere Apps wie z. B. eine Chat-App verwenden, gehen möglicherweise Metadaten verloren und Sie können die Datei später nicht verifizieren!",
"body4": "Das ist ganz einfach: Wählen Sie einfach den dritten Eintrag im Hauptmenü und wählen Sie Ihre Datei aus.",
"body5": "Das war's. Wenn Sie die App unterstützen wollen oder mehr Informationen über ihre Funktionsweise wünschen, können Sie das Symbol oben rechts auf der Hauptseite verwenden.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Finish",
"tempTitle": "Audio recordings",
"body1": "With this App you can create multimedia files and later proof that this file has not been tampered with!",
"body2": "Simply select on of the 2 options in the main menu and start creating your file. Supported are: .mp4,.mp3, .png & .aac",
"body2": "Simply select on of the 2 options in the main menu and start creating your file. Supported are: .mp3, .png & .aac",
"body3": "You can simply share the file from any App you want, but I recommend you use E-Mail, a Cloud storage or direct export.\nIf you use other apps like a chat app you might loose metadata and might not be able to later validate the file!",
"body4": "Thats easy, simply select the third entry in the main Menu and select your file. Everything else is self explantory!",
"body5": "That's it, if you want to support the App, or would like to get more info about how it works, feel free to check the top right icon, on the main page, out.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Finalizar",
"tempTitle": "Grabaciones de audio",
"body1": "¡Con esta aplicación puedes crear archivos multimedia y luego comprobar que este archivo no ha sido manipulado!",
"body2": "Simplemente seleccione una de las 2 opciones en el menú principal y comience a crear su archivo. Los compatibles son: .mp4,.mp3, .png y .aac",
"body2": "Simplemente seleccione una de las 2 opciones en el menú principal y comience a crear su archivo. Los compatibles son: .mp3, .png y .aac",
"body3": "Puedes simplemente compartir el archivo desde cualquier aplicación que desees, pero te recomiendo que utilices el correo electrónico, un almacenamiento en la nube o la exportación directa.\n Si utiliza otras aplicaciones, como una aplicación de chat, es posible que pierda metadatos y no pueda validar el archivo más adelante.",
"body4": "Eso es fácil, simplemente seleccione la tercera entrada en el menú principal y seleccione su archivo. ¡Todo lo demás se explica por sí mismo!",
"body5": "Eso es todo, si desea respaldar la aplicación o desea obtener más información sobre cómo funciona, no dude en consultar el ícono superior derecho, en la página principal.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Terminer",
"tempTitle": "Enregistrements audio",
"body1": "Avec cette App, vous pouvez créer des fichiers multimédias et prouver ultérieurement que ce fichier n'a pas été altéré !",
"body2": "Sélectionnez simplement l'une des 2 options du menu principal et commencez à créer votre fichier. Les formats pris en charge sont : .mp4,.mp3, .png & .aac",
"body2": "Sélectionnez simplement l'une des 2 options du menu principal et commencez à créer votre fichier. Les formats pris en charge sont : .mp3, .png & .aac",
"body3": "Vous pouvez partager le fichier à partir de n'importe quelle application, mais je vous recommande d'utiliser le courrier électronique, un stockage en nuage ou l'exportation directe. Si vous utilisez d'autres apps, comme une app de chat, il est possible que vous perdiez des métadonnées et que vous ne puissiez pas vérifier le fichier par la suite!",
"body4": "C'est facile, il suffit de sélectionner la troisième entrée dans le menu principal et de sélectionner votre fichier. Tout le reste est explicite !",
"body5": "C'est tout, si vous voulez soutenir l'application, ou si vous souhaitez obtenir plus d'informations sur son fonctionnement, n'hésitez pas à consulter l'icône en haut à droite, sur la page principale.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/jp.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "終了",
"tempTitle": "オーディオ録音",
"body1": "このアプリでマルチメディアファイルを作成し、このファイルが改ざんされていないことを後で証明することができます!",
"body2": "「メインメニューから2つのオプションを選択するだけで、ファイルの作成が開始されます。サポートされているのは、以下の通りです。.mp4,.mp3, .png & .aac.です。",
"body2": "「メインメニューから2つのオプションを選択するだけで、ファイルの作成が開始されます。サポートされているのは、以下の通りです。.mp3, .png & .aac.です。",
"body3": "どのアプリからでも共有できますが、メールやクラウドストレージ、直接書き出しを利用するのがおすすめです。チャットアプリなど他のアプリを使用すると、メタデータが失われ、後でファイルを確認できなくなる可能性があります",
"body4": "「メインメニューの3番目の項目を選択し、ファイルを選択するだけです。それ以外はすべて自明です!",
"body5": "「もし、このアプリをサポートしたい、またはどのように動作するかもっと情報を得たい場合は、メインページの右上のアイコンをチェックしてみてください。よろしくお願いします。",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Заканчивать",
"tempTitle": "Аудиозаписи",
"body1": "С помощью этого приложения вы можете создавать мультимедийные файлы и впоследствии доказать, что этот файл не был подделан!",
"body2": "Просто выберите один из двух вариантов в главном меню и начните создавать файл. Поддерживаются: .mp4,.mp3, .png и .aac.",
"body2": "Просто выберите один из двух вариантов в главном меню и начните создавать файл. Поддерживаются: .mp3, .png и .aac.",
"body3": "Вы можете просто поделиться файлом из любого приложения, которое захотите, но я рекомендую вам использовать электронную почту, облачное хранилище или прямой экспорт. Если вы используете другие приложения, например приложение для чата, вы можете потерять метаданные и не сможете позже проверить файл!",
"body4": "Это легко: просто выберите третий пункт в главном меню и выберите файл. Все остальное само собой разумеющееся!",
"body5": "Вот и все. Если вы хотите поддержать приложение или получить дополнительную информацию о том, как оно работает, не стесняйтесь проверить верхний правый значок на главной странице.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/sn.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "Finalizar",
"tempTitle": "Grabaciones sonoras",
"body1": "¡Con esta App puedes crear archivos multimedia y posteriormente probar que ese archivo no ha sido manipulado!",
"body2": "Simplemente selecciona una de las 2 opciones del menú principal y empieza a crear tu archivo. Los archivos soportados son: .mp4, .png y .aac",
"body2": "Simplemente selecciona una de las 2 opciones del menú principal y empieza a crear tu archivo. Los archivos soportados son: .png y .aac",
"body3": "Puedes compartir el archivo desde cualquier aplicación, pero te recomiendo que utilices el correo electrónico, el almacenamiento en la nube o la exportación directa. Si utilizas otras aplicaciones, como las de chat, es posible que pierdas los metadatos y no puedas verificar el archivo más tarde.",
"body4": "Así de fácil, simplemente selecciona la tercera entrada en el menú principal y selecciona tu archivo. Todo lo demás se explica por sí mismo",
"body5": "Eso es todo, si quieres apoyar la aplicación, o te gustaría obtener más información sobre su funcionamiento, no dudes en comprobar el icono superior derecho, en la página principal, fuera.",
Expand Down
2 changes: 1 addition & 1 deletion assets/translations/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"title5": "完成",
"tempTitle": "录音",
"body1": "通过这个应用程序,你可以创建多媒体文件,之后证明这个文件没有被篡改!",
"body2": "只需在主菜单中选择2个选项,并开始创建你的文件。支持的选项有。.mp4,.mp3, .png & .aac",
"body2": "只需在主菜单中选择2个选项,并开始创建你的文件。支持的选项有。.mp3, .png & .aac",
"body3": "你可以从任何应用程序中分享文件,但我建议使用电子邮件、云存储或直接导出。如果你使用其他应用程序,如聊天应用程序,你可能会丢失元数据,并在以后无法验证文件!",
"body4": "这很简单,只需选择主菜单中的第三个条目并选择你的文件。其他的事情都是自行解释的!",
"body5": "就是这样,如果你想支持这个应用程序,或者想获得更多关于它如何工作的信息,请随时检查右上方的图标,在主页上",
Expand Down
6 changes: 1 addition & 5 deletions lib/features/verification/bloc/VerificationBloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ class VerificationBloc
await _foregroundService.getReceivePort();
final stream = recivePort.asBroadcastStream();
await emit.forEach(stream, onData: (data) {
recivePort.close(); // Needed here, because the stream is still open
if (data["status"] == "Error") {
recivePort.close();
return ErrorState(data["message"]);
} else if (data["status"] == "Done") {
recivePort
Expand All @@ -54,9 +54,6 @@ class VerificationBloc
if (state is VerifiedState || state is ErrorState) {
await _foregroundService.stop();
await tempFileStorage.delete(recursive: true);
if (state is ErrorState) {
emit(InitialState());
}
}
} else {
emit(InitialState());
Expand All @@ -66,7 +63,6 @@ class VerificationBloc
await _foregroundService.stop();
addError(e, stackTrace);
emit(ErrorState(e.toString()));
emit(InitialState());
}
});
on<ResetEvent>((event, emit) => emit(InitialState()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class VerificationTaskHandler implements TaskHandler {
final finalModel = model.copyWith(metaDataModel: metaDataModel);
sendPort?.send({"status": "Done", "model": finalModel.toJson()});
} catch (e, stack) {
Sentry.captureException(e, stackTrace: stack);
await Sentry.captureException(e, stackTrace: stack);
sendPort?.send({"status": "Error", "message": e.toString()});
}
}
Expand Down
1 change: 1 addition & 0 deletions lib/features/verification/pages/VerificationPage.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class VerificationPage extends StatelessWidget {
size: size,
error: state.message,
));
context.read<VerificationBloc>().add(ResetEvent());
}
}, builder: (context, state) {
if (state is InitialState) {
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 2.3.2+16
version: 2.3.3+17

environment:
sdk: ">=3.0.5 <4.0.0"
Expand Down
5 changes: 2 additions & 3 deletions test/verification/bloc/VerificationBloc_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -206,10 +206,9 @@ void main() {
expect: () => [
LoadingState(),
ErrorState("type 'Null' is not a subtype of type 'FileType'"),
InitialState()
]);

blocTest("successfully capture and return error & reset",
blocTest("successfully capture and return error & don't reset",
setUp: () {
register(
verificationService,
Expand All @@ -224,7 +223,7 @@ void main() {
build: () => VerificationBloc(),
wait: const Duration(milliseconds: 50),
act: (bloc) => bloc.add(VerifyHashEvent()),
expect: () => [LoadingState(), ErrorState("Error"), InitialState()]);
expect: () => [LoadingState(), ErrorState("Error")]);
});
}

Expand Down

0 comments on commit d024297

Please sign in to comment.