Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework timeline view #120

Merged
merged 45 commits into from
Jul 26, 2023
Merged

Rework timeline view #120

merged 45 commits into from
Jul 26, 2023

Conversation

bdlukaa
Copy link
Collaborator

@bdlukaa bdlukaa commented Jul 11, 2023

The timeline view displays the events in a timeline of when they happened in the day.

  • Fetching events
    • Filtering events
  • Seeking and thumb precision
  • Play/Pause
  • Speed
  • Volume
  • Video playback
    • Precache the video
    • Lock the timeline when buffering
  • Keyboard support
    Play/pause with the SPACE key
    Forward/Backward with the arrow keys (15 seconds)
    Mute/unmute with the M key
    Reload with the F5 or R keys

@bdlukaa
Copy link
Collaborator Author

bdlukaa commented Jul 11, 2023

At this early stage, video output is not integrated yet. I must ensure all the basic functionality is working properly

new-timeline-view.mp4

@bdlukaa bdlukaa linked an issue Jul 11, 2023 that may be closed by this pull request
@bdlukaa bdlukaa marked this pull request as ready for review July 19, 2023 15:13
@bdlukaa
Copy link
Collaborator Author

bdlukaa commented Jul 19, 2023

Added mobile support

“” “”

UnityTab.eventsPlayback.index,
].contains(tab)) {
/// On device grid, use landscape
if ([UnityTab.deviceGrid.index].contains(tab)) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Events Screen is portrait-mode only.

@@ -27,13 +27,43 @@ import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:provider/provider.dart';

Future<Device?> showDeviceSelectorScreen(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to have some rework to match the overall app design and behavior. It works as it is tho

Comment on lines 40 to 55
const SubHeader('Time filter', height: 24.0),
ListTile(
title: Text(SettingsProvider.instance.dateFormat
.format(widget.timeline.currentDate)),
onTap: () async {
final date = await showDatePicker(
context: context,
initialDate: widget.timeline.currentDate,
firstDate: DateTime(DateTime.now().year),
lastDate: DateTime.now(),
initialEntryMode: DatePickerEntryMode.calendarOnly,
currentDate: widget.timeline.currentDate,
);
debugPrint('date: $date');
},
),
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The time filter doesn't do nothing by now. The backend service doesn't provide a way to fetch events based on the date. Leave it here for future usage

@bdlukaa bdlukaa merged commit 0b01a64 into bluecherrydvr:main Jul 26, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Seeking the TimelineView doesn't work properly
1 participant