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

1.5.0 #171

Merged
merged 38 commits into from
Dec 21, 2024
Merged

1.5.0 #171

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4b894ae
Create snackbar functions
a-mabe Sep 2, 2024
8eed83d
Reorganize files
a-mabe Sep 3, 2024
6a9e22d
Combine sound constants files
a-mabe Sep 5, 2024
711384c
Move homepage to its own file
a-mabe Sep 4, 2024
fd75685
Start provider
a-mabe Sep 9, 2024
3bd9ff6
Add workout provider
a-mabe Sep 9, 2024
91f67c5
Use provider to load workouts
a-mabe Sep 26, 2024
0daa230
Remove workouts var and then statements
a-mabe Sep 27, 2024
3228b1d
Fix workouts not refreshing on delete
a-mabe Sep 27, 2024
82b3adc
Add provider package
a-mabe Sep 27, 2024
3256b5e
Add privacy policy link back to homepage
a-mabe Sep 27, 2024
c136915
Optimize database manager, use provider to add/delete workouts
a-mabe Oct 2, 2024
2648838
Fix folder names and imports
a-mabe Oct 2, 2024
4d7199d
Merge pull request #173 from a-mabe/provider-add-workout
a-mabe Oct 2, 2024
09edfd0
Persist database connection
a-mabe Oct 2, 2024
3ad0c97
Update workout type
a-mabe Oct 3, 2024
9052757
Create interval table and migrate workouts
a-mabe Oct 13, 2024
4db41f8
Merge pull request #174 from a-mabe/persist-database-connection
a-mabe Oct 18, 2024
7bfc4eb
Merge pull request #175 from a-mabe/interval-type
a-mabe Oct 18, 2024
30b471f
Migrate from workout datatype to timer
a-mabe Dec 2, 2024
b643859
Cleanup
a-mabe Dec 2, 2024
3ecff05
Allow imports of old workouts
a-mabe Dec 2, 2024
ec48b8d
Bug fixes
a-mabe Dec 13, 2024
bdaee3a
Fix build errors
a-mabe Dec 14, 2024
2de34a9
Merge pull request #179 from a-mabe/176-featureimprovement-use-new-ba…
a-mabe Dec 15, 2024
0a1ee40
Update provisioning profile
a-mabe Dec 17, 2024
2181b6a
Update ios project options
a-mabe Dec 18, 2024
7c12ebe
New icon
a-mabe Dec 19, 2024
a0edc91
Add assets and bump build for test release
a-mabe Dec 19, 2024
21cb660
Merge pull request #180 from a-mabe/icon
a-mabe Dec 19, 2024
261bca6
Fix project settings
a-mabe Dec 19, 2024
d9e65d5
Merge pull request #181 from a-mabe/fix-project-settings
a-mabe Dec 19, 2024
1b679b1
Update README
a-mabe Dec 20, 2024
837d2ad
Update README
a-mabe Dec 20, 2024
d7369a6
Update README.md
a-mabe Dec 20, 2024
b6ee7d5
Merge pull request #183 from a-mabe/1.5.0-readme
a-mabe Dec 20, 2024
c4a073a
Change icon sizes for tablets
a-mabe Dec 21, 2024
555a115
Bump version
a-mabe Dec 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 35 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
![Release Build](https://github.com/a-mabe/openhiit/actions/workflows/build_and_release.yaml/badge.svg)

<p align="center">
<img src="./assets/icon/openhiit-icon.png" width="150"/>
<img src="./assets/icon/openhiit-ios.png" width="150"/>
</p>

<p align="center">
Expand All @@ -13,36 +13,56 @@
<a href="https://apps.apple.com/us/app/openhiit/id6459617819"><img src="./assets/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg" width="140" /></a>
</p>

Welcome to OpenHIIT, an open-source workout interval timer mobile application developed using Flutter. This README file provides an overview of the application, its features, installation instructions, and other important information for beta testing.
Welcome to OpenHIIT, an open-source workout interval timer mobile application developed using Flutter.

The timer package is being developed [here](https://github.com/a-mabe/background_timer).
▶️ The background timer package is being developed [here](https://github.com/a-mabe/background_timer).

## Table of Contents
1. [Introduction](#introduction)
1. [Why OpenHIIT?](#why-openhiit)
2. [Features](#features)
3. [Installation](#installation)
4. [Usage](#usage)
5. [Support](#support)
6. [Contributing](#contributing)
7. [License](#license)

## Introduction
OpenHIIT is a fully open source mobile application designed to assist users in their workout routines by providing customizable interval timers. It aims to help users maintain an efficient workout pace by setting intervals for exercise and rest periods.
## Why OpenHIIT?

- No restrictions on the number of configured timers and workouts.
- No features behind paywalls.
- No ads or subscriptions; open sourced under the [MIT license](#license).

## Features
- **Customizable Timers**: Create and customize interval timers according to your workout requirements.
- **Multiple Intervals**: Set multiple exercise and rest intervals in a single timer session.
- **Visual and Audio Cues**: Get visual and audio cues to indicate the start and end of each interval.
- **Save and Load**: Save your favorite interval timer configurations and load them for future use.

⏲️ **Customizable Timers** - Create and customize interval timers according to your workout requirements.

🔊 **Visual and Audio Cues** - Get visual and audio cues to indicate the different intervals.

💾 **Save and Load** - Save any number of timer configurations and load them for future use.

📱 **Export and Import** - Export your timers and send them to a friend or another device to import.

🖌️ **Color Code Timers** - Color code your timers to stay organized.

🏋️ **Add Exercises** - Type in the exercises for your workout to display with the timer.

<p align="center">
<img src="https://github.com/a-mabe/OpenHIIT/assets/39250511/c7cc5c99-54ff-48a1-9aa9-8ec157454be6" width="150">
<img src="https://github.com/a-mabe/OpenHIIT/assets/39250511/c974463f-466d-480d-bf4f-8476258657a9" width="150">
<img src="https://github.com/a-mabe/OpenHIIT/assets/39250511/6bfd8386-6576-4b2d-8ade-255252c13358" width="150">
<img src="https://github.com/a-mabe/OpenHIIT/assets/39250511/57dc7d12-54bc-46c5-aae4-19967065a7e5" width="150">
<img src="https://github.com/user-attachments/assets/6b8f941c-1da6-4849-a892-e5f2d5534e21" width="200">
<img src="https://github.com/user-attachments/assets/dd16a054-97b2-4848-ac3f-0788e6d8a9c9" width="200">
<img src="https://github.com/user-attachments/assets/fc5cb739-0be4-4f30-8b47-877b0edc541f" width="200">
<img src="https://github.com/user-attachments/assets/0a2f304f-b59f-45a4-bacb-a5307c184347" width="200">
</p>

## Installation

### Download the app

<a href="https://play.google.com/store/apps/details?id=com.codepup.workout_timer"><img src="./assets/Google_Play_Badge.svg" width="180" /></a>

<a href="https://apps.apple.com/us/app/openhiit/id6459617819"><img src="./assets/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg" width="180" /></a>

### Install from source

To install and test OpenHIIT, follow these steps:

1. Ensure you have Flutter and Dart SDK installed on your development environment. For more information, refer to the official Flutter documentation: [Flutter Installation](https://flutter.dev/docs/get-started/install)
Expand Down Expand Up @@ -84,7 +104,7 @@ Once OpenHIIT is installed and running on your device, follow these instructions

5. Customize or load different timer configurations as needed.

6. Provide feedback and report any bugs or issues you encounter during the beta testing phase.
6. Provide feedback and report any bugs or issues you encounter.

## Support

Expand Down
3 changes: 2 additions & 1 deletion android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ if (keystorePropertiesFile.exists()) {
}

android {
namespace 'com.codepup.workout_timer'
compileSdkVersion flutter.compileSdkVersion
ndkVersion flutter.ndkVersion

Expand Down Expand Up @@ -86,5 +87,5 @@ flutter {
}

dependencies {
implementation "androidx.multidex:multidex:2.0.0"
implementation "androidx.multidex:multidex:2.0.1"
}
7 changes: 5 additions & 2 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.codepup.workout_timer">
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
Expand All @@ -9,8 +10,10 @@
android:name="${applicationName}"
android:icon="@mipmap/launcher_icon">
<service
android:name="id.flutter.openhiit_background_service.BackgroundService"
android:foregroundServiceType="mediaPlayback">
android:name="id.flutter.flutter_background_service.BackgroundService"
android:foregroundServiceType="mediaPlayback"
tools:replace="android:stopWithTask"
android:stopWithTask="true">
</service>
<activity
android:name=".MainActivity"
Expand Down
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 modified android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.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.
12 changes: 0 additions & 12 deletions android/app/src/main/res/drawable-v21/launch_background.xml

This file was deleted.

Binary file modified android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.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.
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.
11 changes: 10 additions & 1 deletion android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<foreground>
<inset
android:drawable="@drawable/ic_launcher_foreground"
android:inset="16%" />
</foreground>
<monochrome>
<inset
android:drawable="@drawable/ic_launcher_monochrome"
android:inset="16%" />
</monochrome>
</adaptive-icon>
Binary file removed android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary file not shown.
Binary file modified android/app/src/main/res/mipmap-hdpi/launcher_icon.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 removed android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary file not shown.
Binary file modified android/app/src/main/res/mipmap-mdpi/launcher_icon.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 removed android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary file not shown.
Binary file modified android/app/src/main/res/mipmap-xhdpi/launcher_icon.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 not shown.
Binary file modified android/app/src/main/res/mipmap-xxhdpi/launcher_icon.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 not shown.
Binary file modified android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#Tue Dec 10 18:48:26 EST 2024
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
zipStoreBase=GRADLE_USER_HOME
4 changes: 2 additions & 2 deletions android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.9.24" apply false
id "com.android.application" version "8.1.0" apply false
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
}

include ":app"
Binary file removed assets/icon/openhiit-icon-android.png
Binary file not shown.
Binary file removed assets/icon/openhiit-icon-ios.png
Binary file not shown.
Binary file removed assets/icon/openhiit-icon.png
Binary file not shown.
Binary file added assets/icon/openhiit-ios.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/icon/openhiit.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 22 additions & 44 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
PODS:
- audio_service (0.0.1):
- Flutter
- audio_session (0.0.1):
- Flutter
- audioplayers_darwin (0.0.1):
- Flutter
- device_info_plus (0.0.1):
- Flutter
- DKImagePickerController/Core (4.3.9):
Expand Down Expand Up @@ -44,7 +40,7 @@ PODS:
- file_saver (0.0.1):
- Flutter
- Flutter (1.0.0)
- flutter_fgbg (0.0.1):
- flutter_background_service_ios (0.0.3):
- Flutter
- flutter_local_notifications (0.0.1):
- Flutter
Expand All @@ -53,19 +49,13 @@ PODS:
- Toast
- just_audio (0.0.1):
- Flutter
- Mute (0.6.1)
- openhiit_background_service_ios (0.0.3):
- Flutter
- package_info_plus (0.4.5):
- Flutter
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- permission_handler_apple (9.3.0):
- Flutter
- real_volume (0.0.1):
- Flutter
- Mute (~> 0.6.0)
- SDWebImage (5.19.2):
- SDWebImage/Core (= 5.19.2)
- SDWebImage/Core (5.19.2)
Expand All @@ -76,53 +66,47 @@ PODS:
- FlutterMacOS
- soundpool (0.0.1):
- Flutter
- sqflite (0.0.3):
- sqflite_darwin (0.0.4):
- Flutter
- FlutterMacOS
- SwiftyGif (5.4.5)
- Toast (4.1.1)
- url_launcher_ios (0.0.1):
- Flutter
- wakelock_plus (0.0.1):
- Flutter

DEPENDENCIES:
- audio_service (from `.symlinks/plugins/audio_service/ios`)
- audio_session (from `.symlinks/plugins/audio_session/ios`)
- audioplayers_darwin (from `.symlinks/plugins/audioplayers_darwin/ios`)
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- file_saver (from `.symlinks/plugins/file_saver/ios`)
- Flutter (from `Flutter`)
- flutter_fgbg (from `.symlinks/plugins/flutter_fgbg/ios`)
- flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- just_audio (from `.symlinks/plugins/just_audio/ios`)
- openhiit_background_service_ios (from `.symlinks/plugins/openhiit_background_service_ios/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- real_volume (from `.symlinks/plugins/real_volume/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- soundpool (from `.symlinks/plugins/soundpool/ios`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)

SPEC REPOS:
trunk:
- DKImagePickerController
- DKPhotoGallery
- Mute
- SDWebImage
- SwiftyGif
- Toast

EXTERNAL SOURCES:
audio_service:
:path: ".symlinks/plugins/audio_service/ios"
audio_session:
:path: ".symlinks/plugins/audio_session/ios"
audioplayers_darwin:
:path: ".symlinks/plugins/audioplayers_darwin/ios"
device_info_plus:
:path: ".symlinks/plugins/device_info_plus/ios"
file_picker:
Expand All @@ -131,64 +115,58 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/file_saver/ios"
Flutter:
:path: Flutter
flutter_fgbg:
:path: ".symlinks/plugins/flutter_fgbg/ios"
flutter_background_service_ios:
:path: ".symlinks/plugins/flutter_background_service_ios/ios"
flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
just_audio:
:path: ".symlinks/plugins/just_audio/ios"
openhiit_background_service_ios:
:path: ".symlinks/plugins/openhiit_background_service_ios/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
real_volume:
:path: ".symlinks/plugins/real_volume/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
soundpool:
:path: ".symlinks/plugins/soundpool/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/darwin"
sqflite_darwin:
:path: ".symlinks/plugins/sqflite_darwin/darwin"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
wakelock_plus:
:path: ".symlinks/plugins/wakelock_plus/ios"

SPEC CHECKSUMS:
audio_service: f509d65da41b9521a61f1c404dd58651f265a567
audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207
audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40
device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d
device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
file_saver: 503e386464dbe118f630e17b4c2e1190fa0cf808
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_fgbg: 31c0d1140a131daea2d342121808f6aa0dcd879d
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
fluttertoast: 723e187574b149e68e63ca4d39b837586b903cfa
flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac
flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9
fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
Mute: 20135a96076f140cc82bfc8b810e2d6150d8ec7e
openhiit_background_service_ios: 374583024fb470f96bc23dcd35f334014f05d81e
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
real_volume: 6d09deeabb06963275fa8df0fb1616a5886363d6
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad
share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
soundpool: c7f4422ca206e77f8900ed3c4ee6a6ff5a0e38a9
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1

PODFILE CHECKSUM: a74b8704f768957a23e2d804b55390ecc9fffc9d

COCOAPODS: 1.12.1
COCOAPODS: 1.15.2
Loading