Skip to content

Commit

Permalink
🔀 Merge pull request #38 from Cynnexis/maintenance/upgrade-deps
Browse files Browse the repository at this point in the history
⬆️ Upgrade dependencies, fix few UI bugs and bump app version
  • Loading branch information
Cynnexis authored Apr 16, 2022
2 parents cf7be94 + 857d4c4 commit 6e7087d
Show file tree
Hide file tree
Showing 23 changed files with 264 additions and 203 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# 1.0.0 - 16/04/2022

* Fixed multiple bugs.
* Add Windows Desktop support.
* Assess product quality with units, widgets and integration tests.
* Ready to be published on Google Play Store.
* CI/CD workflow to build all executables, packages and installers for all supported platforms (on the stable branch of Flutter).

# 0.0.2 - 02/08/2021

* Initial Release
3 changes: 3 additions & 0 deletions PRIVACY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Privacy Policy

The application Tide does not collect any data.
Binary file added assets/images/doc/cover-1024x500.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/phone-portrait-breath-in.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/phone-portrait-breath-out.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/phone-portrait-hold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/phone-portrait-start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/tablet-10in-landscape-hold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/tablet-10in-landscape-start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/tablet-7in-landscape-hold.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/tablet-7in-landscape-start.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/doc/tide-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion lib/constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
const String appName = "Tide";

/// The app version.
const String appVersion = "0.0.2";
const String appVersion = "1.0.0";

/// The app Git repo URL
const String gitRepoURL = "http://github.com/Cynnexis/tide";
187 changes: 101 additions & 86 deletions lib/page/breathing_exercise_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -88,94 +88,103 @@ class _BreathingExercisePageState extends State<BreathingExercisePage> {

return true;
},
child: SafeArea(
child: Scaffold(
// Show app bar in web only
appBar: !showBottomBar
? TideAppBar(
context: context,
showBackButton: true,
showSettings: false,
backgroundColor: TideTheme.primaryColor,
title: Container(),
actions: <Widget>[
_buildTimerButton(context),
],
)
: null,
backgroundColor: TideTheme.primaryColor,
body: Stack(
alignment: AlignmentDirectional.center,
children: <Widget>[
const BreathingBubble(key: Key('tide_breathing_bubble')),
Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Builder(builder: (BuildContext context) {
// Display nothing if the timer is not set
if (_countdownTimer == null) return Container();
child: DefaultTextStyle(
style: TideTheme.homeTextStyle,
child: SafeArea(
child: Scaffold(
// Show app bar in web only
appBar: !showBottomBar
? TideAppBar(
context: context,
showBackButton: true,
showSettings: false,
backgroundColor: TideTheme.primaryColor,
title: Container(),
actions: <Widget>[
_buildTimerButton(context),
],
)
: null,
backgroundColor: TideTheme.primaryColor,
body: Stack(
alignment: AlignmentDirectional.center,
children: <Widget>[
const BreathingBubble(key: Key('tide_breathing_bubble')),
Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Builder(builder: (BuildContext context) {
// Display nothing if the timer is not set
if (_countdownTimer == null) return Container();

// Else, display the timer current value
return StreamBuilder<CountdownTimer>(
stream: _countdownTimer,
builder: (
BuildContext context,
AsyncSnapshot<CountdownTimer> snapshot,
) {
// Error handling
if (snapshot.hasError) {
// If an error has been caught, throw it in debug mode, else print it and ignore it.
if (kDebugMode) {
throw snapshot.error!;
} else {
dev.log(
"Error: ${snapshot.error!}",
time: DateTime.now(),
level: Level.SEVERE.value,
name: "StreamBuilder<CountdownTimer>",
zone: Zone.current,
error: snapshot.error,
stackTrace: snapshot.error != null &&
snapshot.error is Error
? (snapshot.error! as Error).stackTrace
: null,
);
return Container();
// Else, display the timer current value
return StreamBuilder<CountdownTimer>(
stream: _countdownTimer,
builder: (
BuildContext context,
AsyncSnapshot<CountdownTimer> snapshot,
) {
// Error handling
if (snapshot.hasError) {
// If an error has been caught, throw it in debug mode, else print it and ignore it.
if (kDebugMode) {
throw snapshot.error!;
} else {
dev.log(
"Error: ${snapshot.error!}",
time: DateTime.now(),
level: Level.SEVERE.value,
name: "StreamBuilder<CountdownTimer>",
zone: Zone.current,
error: snapshot.error,
stackTrace: snapshot.error != null &&
snapshot.error is Error
? (snapshot.error! as Error).stackTrace
: null,
);
return Container();
}
}
}

// No error: check the value
// If no data, don't print anything
if (!snapshot.hasData) return Container();
// No error: check the value
// If no data, don't print anything
if (!snapshot.hasData) return Container();

// Else, print the countdown value
return Text(
timerToString(snapshot.data!.remaining),
key: const Key(
'tide_breathing_ex_remaining_time_text'),
);
},
);
}),
if (showBottomBar)
ButtonBar(
key: const Key('tide_breathing_ex_button_bar'),
alignment: MainAxisAlignment.spaceAround,
children: <Widget>[
IconButton(
key: const Key('tide_breathing_ex_back_button'),
icon: const Icon(Icons.arrow_back),
onPressed: () {
Navigator.of(context).pop<void>();
},
),
_buildTimerButton(context),
],
),
],
),
],
// Else, print the countdown value
return Text(
timerToString(snapshot.data!.remaining),
key: const Key(
'tide_breathing_ex_remaining_time_text'),
style: const TextStyle(
color: TideTheme.homeTextColor,
),
);
},
);
}),
if (showBottomBar)
ButtonBar(
key: const Key('tide_breathing_ex_button_bar'),
alignment: MainAxisAlignment.spaceAround,
children: <Widget>[
IconButton(
key: const Key('tide_breathing_ex_back_button'),
icon: const Icon(
Icons.arrow_back,
color: TideTheme.homeTextColor,
),
onPressed: () {
Navigator.of(context).pop<void>();
},
),
_buildTimerButton(context),
],
),
],
),
],
),
),
),
),
Expand All @@ -189,13 +198,19 @@ class _BreathingExercisePageState extends State<BreathingExercisePage> {
child: _countdownTimer == null
? IconButton(
key: const Key('tide_breathing_ex_start_timer'),
icon: const Icon(Icons.timer),
icon: const Icon(
Icons.timer,
color: TideTheme.homeTextColor,
),
onPressed: () => _showTimerDialog(context),
tooltip: TideLocalizations.of(context)!.tapToActivateTimer,
)
: IconButton(
key: const Key('tide_breathing_ex_stop_timer'),
icon: const Icon(Icons.stop),
icon: const Icon(
Icons.stop,
color: TideTheme.homeTextColor,
),
onPressed: clearCountdownTimer,
tooltip: TideLocalizations.of(context)!.stopTimer,
),
Expand Down
Loading

1 comment on commit 6e7087d

@github-actions
Copy link

Choose a reason for hiding this comment

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

Tide

Coverage for this commit
63.45%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib
   settings.dart29.17%100%100%29.17%104–109, 117, 119, 127, 129, 147, 149, 157, 159, 49, 70–73, 79–81, 83–86, 89, 91–95, 97, 99
   theme.dart0%100%100%0%107–108, 110–111, 113–114, 116–117, 119–120, 122, 124, 128–130, 132, 134, 20–21, 26–27, 31–32, 39, 44, 50, 62, 64, 66, 70–72, 75–76, 81–82, 86, 89, 98–99
lib/utility
   assets.dart100%100%100%100%
   config_file.dart50.88%100%100%50.88%100–101, 129–131, 168, 172–173, 185–188, 193–194, 207, 210–212, 214–215, 217, 219, 40, 79–80, 87, 92, 94
lib/utility/extension
   list_extension.dart92.31%100%100%92.31%36
   locale_parser.dart87.50%100%100%87.50%25
lib/widget
   rounded_material.dart100%100%100%100%
   button_span.dart100%100%100%100%
   hotkey.dart100%100%100%100%
   breathing_bubble.dart52.25%100%100%52.25%104, 109–110, 136–137, 144–145, 150, 152, 157, 160–161, 165, 167–170, 172–173, 175–176, 181–182, 195–200, 204–209, 222–225, 236–238, 241–243, 246–249, 251–252, 64–65
   animated_breathing.dart96.30%100%100%96.30%112
   round_button.dart100%100%100%100%
   timer_form.dart78.26%100%100%78.26%136–138, 154–156, 252, 255–257, 259–260, 262, 264, 46–47, 50–51, 72, 97

Please sign in to comment.