Skip to content

Commit

Permalink
Fixed swipe right to exit session time and color selection screens in…
Browse files Browse the repository at this point in the history
… touch devices. Added time including hours/minutes in saved activity name for Garmin connect
  • Loading branch information
dliedke committed Jul 23, 2022
1 parent d9a8521 commit 6ecc374
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 9 deletions.
4 changes: 2 additions & 2 deletions HrvAlgorithms/sources/activity/FitSessionSpec.mc
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ module HrvAlgorithms {
private static const SUB_SPORT_YOGA = 43;
private static const SUB_SPORT_BREATHWORKS = 62;

static function createYoga() {
static function createYoga(sessionName) {
return {
:name => "Yoga",
:name => sessionName,
:sport => ActivityRecording.SPORT_TRAINING,
:subSport => SUB_SPORT_YOGA
};
Expand Down
6 changes: 2 additions & 4 deletions HrvAlgorithms/sources/activity/HrActivity.mc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ module HrvAlgorithms {
if (me.mFitSession.isRecording() == false) {
return;
}

me.onBeforeStop();
me.mFitSession.stop();
me.mRefreshActivityTimer.stop();
Expand Down Expand Up @@ -77,10 +78,7 @@ module HrvAlgorithms {
private var mMinHr;

function refreshActivityStats() {
//if (me.mFitSession.isRecording() == false) {
// return;
//}


var activityInfo = Activity.getActivityInfo();
if (activityInfo == null) {
return;
Expand Down
2 changes: 1 addition & 1 deletion Meditate/manifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- This is a generated file. It is highly recommended that you DO NOT edit this file. -->
<iq:manifest xmlns:iq="http://www.garmin.com/xml/connectiq" version="3">
<iq:application entry="MeditateApp" id="9abb375dcf7c4ace87ff66f4f773f6c8" launcherIcon="@Drawables.launcherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="watch-app" version="2.7.0">
<iq:application entry="MeditateApp" id="9abb375dcf7c4ace87ff66f4f773f6c8" launcherIcon="@Drawables.launcherIcon" minSdkVersion="3.0.0" name="@Strings.AppName" type="watch-app" version="2.8.0">
<iq:products>
<iq:product id="approachs62"/>
<iq:product id="d2air"/>
Expand Down
27 changes: 25 additions & 2 deletions Meditate/source/activity/MeditateActivity.mc
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,38 @@ class MediteActivity extends HrvAlgorithms.HrvAndStressActivity {

function initialize(meditateModel, heartbeatIntervalsSensor) {
var fitSessionSpec;
var sessionTime = meditateModel.getSessionTime();
if (meditateModel.getActivityType() == ActivityType.Yoga) {
fitSessionSpec = HrvAlgorithms.FitSessionSpec.createYoga();
fitSessionSpec = HrvAlgorithms.FitSessionSpec.createYoga(createSessionName(sessionTime, "Yoga"));
}
else {
fitSessionSpec = HrvAlgorithms.FitSessionSpec.createCardio("Meditating");
fitSessionSpec = HrvAlgorithms.FitSessionSpec.createCardio(createSessionName(sessionTime, "Meditating"));
}
me.mMeditateModel = meditateModel;
HrvAlgorithms.HrvAndStressActivity.initialize(fitSessionSpec, meditateModel.getHrvTracking(), heartbeatIntervalsSensor);
}

protected function createSessionName(sessionTime, activityName) {

// Calculate session minutes and hours
var sessionTimeMinutes = Math.round(sessionTime / 60);
var sessionTimeHours = Math.round(sessionTimeMinutes / 60);
var sessionName;

// Create the Connect activity name showing the number of hours/minutes for the meditate session
if (sessionTimeHours == 0) {
sessionName = Lang.format("$1$ $2$min 🙏", [activityName, sessionTimeMinutes]);
} else {
sessionTimeMinutes = sessionTimeMinutes % 60;
if (sessionTimeMinutes == 0){
sessionName = Lang.format("$1$ $2$h 🙏", [activityName, sessionTimeHours]);
} else {
sessionName = Lang.format("$1$ $2$h $3$min 🙏", [activityName, sessionTimeHours, sessionTimeMinutes]);
}
}

return sessionName;
}

protected function onBeforeStart(fitSession) {
mMeditateModel.isTimerRunning = true;
Expand Down
11 changes: 11 additions & 0 deletions Meditate/source/sessionSettings/colorPicker/ColorPickerDelegate.mc
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,16 @@ class ColorPickerDelegate extends ScreenPicker.ScreenPickerDelegate {
me.mOnColorSelected.invoke(me.getSelectedColor());
Ui.popView(Ui.SLIDE_RIGHT);
return true;
}

function onSwipe(swipeEvent) {

// FIx back with left-to-right touch
if (swipeEvent.getDirection() == WatchUi.SWIPE_RIGHT) {
Ui.popView(Ui.SLIDE_RIGHT);
return true;
}

return false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,23 @@ class DurationPickerDelegate extends Ui.BehaviorDelegate {
}

function onBack() {

if (me.mModel.isInitialHintPos()) {
return false;
}
me.mModel.undo();
Ui.requestUpdate();
return true;
}

function onSwipe(swipeEvent) {

// FIx back with left-to-right touch
if (swipeEvent.getDirection() == WatchUi.SWIPE_RIGHT) {
Ui.popView(Ui.SLIDE_RIGHT);
return true;
}

return false;
}
}

0 comments on commit 6ecc374

Please sign in to comment.