Skip to content

Commit

Permalink
Fixing no long break bug (#5)
Browse files Browse the repository at this point in the history
Preparing settings struct for future options
Version 2.5
  • Loading branch information
partlyhuman committed Nov 30, 2014
1 parent 58ad884 commit 1d2d4c8
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 12 deletions.
2 changes: 0 additions & 2 deletions Pom.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@
GCC_PREPROCESSOR_DEFINITIONS = "XCODE=1";
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
include/,
);
PRODUCT_NAME = Pom;
Expand All @@ -230,7 +229,6 @@
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
include/,
);
PRODUCT_NAME = Pom;
Expand Down
4 changes: 2 additions & 2 deletions appinfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"shortName": "PblPom",
"longName": "PblPom",
"companyName": "Partlyhuman",
"versionCode": 2.4,
"versionLabel": "2.4",
"versionCode": 2.5,
"versionLabel": "2.5",
"watchapp": {
"watchface": false
},
Expand Down
Binary file modified build/pbl_pom.pbw
Binary file not shown.
22 changes: 15 additions & 7 deletions src/pom.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,9 @@ void pomSetState(PomState newState) {

case PomStateResting:
app.totalTicks = app.ticksRemaining = app.settings.restTicks;
if (app.settings.takeLongRests && (app.completedPoms % app.settings.pomsPerLongRest == 0)) {
app.ticksRemaining = app.settings.longRestTicks;
//Take recess / long rest
if (app.settings.takeLongRests && (app.completedPoms % app.settings.pomsPerLongRest) == 0) {
app.totalTicks = app.ticksRemaining = app.settings.longRestTicks;
}

text_layer_set_text(app.workingTextLayer, POM_TEXT_REST[app.settings.language]);
Expand Down Expand Up @@ -127,7 +128,7 @@ void pomOnTick(struct tm *tick_time, TimeUnits units_changed) {
bool isResting = (app.state == PomStateResting);

// heartbeat
if (isWorking && app.settings.vibrateWhileWorking && (units_changed & MINUTE_UNIT) > 0) {
if (isWorking && app.settings.vibrateWhileWorking && (app.ticksRemaining % app.settings.vibrateTicks) == 0) {
vibes_enqueue_custom_pattern(VIBRATE_MINIMAL);
}

Expand Down Expand Up @@ -179,17 +180,21 @@ void pomMainWindowClickProvider(void *context) {
void pomStartup() {
// setup default settings
// after, load settings from persistent storage
app.settings = (PomSettings){
PomSettings defaultSettings = (PomSettings){
.language = PomEnglish,
.workTicks = 60 * 25,
.restTicks = 60 * 5,
.longRestTicks = 60 * 15,
.pomsPerLongRest = 4,
.vibrateTicks = 10,
.takeLongRests = true,
.vibrateWhileWorking = true,
.showClock = false,
.autoAdvance = false,
.annoyAfterRestExceeded = false,
};


app.settings = defaultSettings;
app.completedPoms = 0;

app.mainWindow = window_create();
Expand Down Expand Up @@ -219,9 +224,12 @@ void pomStartup() {

pomInitMenuModule();
pomInitCookiesModule();

tick_timer_service_subscribe(SECOND_UNIT|MINUTE_UNIT, pomOnTick);
pomLoadCookies();
if (!pomLoadCookies()) {
LOG("Settings not found, using defaults");
app.settings = defaultSettings;
}

pomSetState(PomStateReady);
window_stack_push(app.mainWindow, true);
Expand Down
3 changes: 3 additions & 0 deletions src/pom.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@ typedef struct {
uint16_t restTicks;
uint16_t longRestTicks;
uint16_t pomsPerLongRest;
uint16_t vibrateTicks;
bool takeLongRests;
bool vibrateWhileWorking;
bool showClock;
bool autoAdvance;
bool annoyAfterRestExceeded;
} PomSettings;


Expand Down
6 changes: 5 additions & 1 deletion src/pom_cookies.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "pom_cookies.h"
#include "pom.h"

#define SETTINGS_STRUCT_KEY 1
#define SETTINGS_STRUCT_KEY 2

void pomSaveCookies() {
persist_write_data(SETTINGS_STRUCT_KEY, &app.settings, sizeof(PomSettings));
Expand All @@ -11,6 +11,10 @@ bool pomLoadCookies() {
return (E_DOES_NOT_EXIST != persist_read_data(SETTINGS_STRUCT_KEY, &app.settings, sizeof(PomSettings)));
}

void pomClearCookies() {
persist_delete(SETTINGS_STRUCT_KEY);
}

void pomInitCookiesModule() {

}
1 change: 1 addition & 0 deletions src/pom_cookies.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
bool pomLoadCookies();
void pomSaveCookies();
void pomInitCookiesModule();
void pomClearCookies();

0 comments on commit 1d2d4c8

Please sign in to comment.