Skip to content

Commit

Permalink
added readID() function to read from ID from file #18
Browse files Browse the repository at this point in the history
Note that the function takes an optional callback to act on the metaID retrieved
  • Loading branch information
gozzilli committed May 18, 2016
1 parent fa5058d commit 8f6273f
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 104 deletions.
4 changes: 0 additions & 4 deletions www/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,6 @@ <h3>Recent</h3>

</div>

<div id="deviceready" class="blink">
<p class="event listening"></p>
<p class="event received"></p>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/log.js"></script>
<script type="text/javascript" src="js/utils.js"></script>
Expand Down
22 changes: 11 additions & 11 deletions www/js/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ var app = {
// deviceready Event Handler // The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
//app.receivedEvent('deviceready');
log.init();

utils.save(ACTIVITY_DATETIME, "same");
Expand All @@ -91,16 +91,16 @@ var app = {


},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening');
var receivedElement = parentElement.querySelector('.received');

listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
//console.log('Received Event: ' + id);
},
// // Update DOM on a Received Event
// receivedEvent: function(id) {
// var parentElement = document.getElementById(id);
// var listeningElement = parentElement.querySelector('.listening');
// var receivedElement = parentElement.querySelector('.received');
//
// listeningElement.setAttribute('style', 'display:none;');
// receivedElement.setAttribute('style', 'display:block;');
// //console.log('Received Event: ' + id);
// },

navigateTo: function(screen_id, prev_activity) {

Expand Down
178 changes: 89 additions & 89 deletions www/js/log.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,34 @@

var log = {

logOb: null,
logAct: null,
logDebug: null,
logSurvey: null,
logID: null,
metaID: null,

init: function() {
if (device.platform != "browser") {
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function(dir) {
console.log("got main dir",dir);
// the existence of folder METER is assumed
// in this folder is also id.txt to identify the user
//
// Read ID file
// XXX to be implemented
logOb: null,
logAct: null,
logDebug: null,
logSurvey: null,
logID: null,
metaID: null,
pathID: '/sdcard/METER/id.txt',
DEFAULT_ID: "99997",

init: function() {
if (device.platform != "browser") {
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function(dir) {
console.log("got main dir",dir);
// the existence of folder METER is assumed
// in this folder is also id.txt to identify the user
//
// Read ID file
// XXX to be implemented

log.metaID="99997";

dir.getFile("METER/"+log.metaID+"_ind.csv", {create:true}, function(file) {
//log.metaID="99997";
log.readID( function(metaID) {
dir.getFile("METER/"+metaID+"_ind.csv", {create:true}, function(file) {
console.log("got survey file", file);
log.logSurvey = file;
}, function(err) {
console.log(err);
});
dir.getFile("METER/"+log.metaID+"_act.csv", {create:true}, function(file) {
dir.getFile("METER/"+metaID+"_act.csv", {create:true}, function(file) {
console.log("got activities file", file);
log.logAct = file;
}, function(err) {
Expand All @@ -42,78 +44,76 @@ var log = {
log.writeLog("App started");
}, function(err) {
console.log(err);
});
});
}
},

readID: function() {
var reader = new FileReader();
console.log("logID: ", log.logID);
// var idFile = new File("/xsdcard/xMETER/id.txt");
var idblob = new Blob([log.logID], { type: "text/plain" });
reader.onloadend = function(evt) {
// console.log("XXX ++++++++++: ", evt.target.result);
//log.metaID = evt.target.result;
};
reader.readAsText(idblob)
console.log("META: ", log.metaID);
},


writeToFile: function(obj, str) {
obj.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
var blob = new Blob([str], {type:'text/plain'});
fileWriter.write(blob);
}, function(err) {
console.log(err)
});
},

writeLog: function(logobj, str) {
if (device.platform == "browser") {
console.log(str);
return;
}
if (!logobj) {
console.log("Activity log undefined.");
return;
}
// console.log("about to write log", logobj);
log.writeToFile(logobj, str);
},
});
});
});
}
},

readID: function( callback ) {
$.get(log.pathID, function(id_) {
metaID = $.trim(id_);
callback(metaID);
log.metaID = metaID;
});

return log.metaID;
},


writeToFile: function(obj, str) {
obj.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
var blob = new Blob([str], {type:'text/plain'});
fileWriter.write(blob);
}, function(err) {
console.log(err)
});
},

writeLog: function(logobj, str) {
if (device.platform == "browser") {
console.log(str);
return;
}
if (!logobj) {
console.log("Activity log undefined.");
return;
}
// console.log("about to write log", logobj);
log.writeToFile(logobj, str);
},

writeDebug: function(str) {
var str = "[" + (new Date().toISOString()) + "] " + str + "\n";
// console.log("about to write debug log");
log.writeLog(log.logDebug, str)
},
writeDebug: function(str) {
var str = "[" + (new Date().toISOString()) + "] " + str + "\n";
// console.log("about to write debug log");
log.writeLog(log.logDebug, str)
},

writeSurvey: function(title,value) {
var dt_recorded = new Date().toISOString();
var logstr = [dt_recorded, title, value, log.metaID].join() + "\n";
// console.log("about to write survey log");
log.writeLog(log.logSurvey, logstr)
},
writeSurvey: function(title,value) {
var dt_recorded = new Date().toISOString();
var logstr = [dt_recorded, title, value, log.metaID].join() + "\n";
// console.log("about to write survey log");
log.writeLog(log.logSurvey, logstr)
},

writeActivity: function() {
var dt_recorded = new Date().toISOString();
var dt_act;
if (utils.get(ACTIVITY_DATETIME) == "same") {
dt_act = dt_recorded;
} else {
dt_act = utils.get(ACTIVITY_DATETIME);
}
var act = "\"" + utils.get(CURR_ACTIVITY) + "\"";
var tuc = utils.get(CURR_ACTIVITY_ID) ;
var loc = utils.get(CURR_LOCATION) ;
var enj = utils.get(CURR_ENJOYMENT);
writeActivity: function() {
var dt_recorded = new Date().toISOString();
var dt_act;
if (utils.get(ACTIVITY_DATETIME) == "same") {
dt_act = dt_recorded;
} else {
dt_act = utils.get(ACTIVITY_DATETIME);
}
var act = "\"" + utils.get(CURR_ACTIVITY) + "\"";
var tuc = utils.get(CURR_ACTIVITY_ID) ;
var loc = utils.get(CURR_LOCATION) ;
var enj = utils.get(CURR_ENJOYMENT);

var str = [log.metaID,dt_act, dt_recorded, tuc, act, loc, enj].join() + "\n";
log.writeLog(log.logAct, str)
var str = [log.metaID,dt_act, dt_recorded, tuc, act, loc, enj].join() + "\n";
log.writeLog(log.logAct, str)

// "same" means 'not different from current time' - writeActivity replaces "same" with current time
utils.save(ACTIVITY_DATETIME, "same");
}
// "same" means 'not different from current time' - writeActivity replaces "same" with current time
utils.save(ACTIVITY_DATETIME, "same");
}
}

0 comments on commit 8f6273f

Please sign in to comment.