Skip to content

Commit 3fa165a

Browse files
author
llaske
committed
Fix on getSettings/localStorage for Chrome OS version
1 parent 471a286 commit 3fa165a

File tree

15 files changed

+841
-841
lines changed

15 files changed

+841
-841
lines changed
Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,33 @@
11
var l10n_s;
22

33
requirejs.config({
4-
baseUrl: "lib",
5-
paths: {
6-
activity: "../js"
7-
}
4+
baseUrl: "lib",
5+
paths: {
6+
activity: "../js"
7+
}
88
});
99

1010
requirejs(["activity/activity"]);
1111

12-
requirejs(["webL10n","sugar-web/env"], function(l10n, env) {
13-
l10n_s = l10n; //global declaration of translate interface
12+
requirejs(["webL10n","sugar-web/env","sugar-web/datastore"], function(l10n, env ,datastore) {
13+
l10n_s = l10n; //global declaration of translate interface
1414

15-
getSettings(function(settings) { //globally setting language from sugar settings
15+
datastore.localStorage.load(function() {
16+
getSettings(function(settings) { //globally setting language from sugar settings
1617
l10n_s.language.code = settings.language;
18+
});
1719
});
1820

1921
function getSettings(callback) {
2022
var defaultSettings = {
2123
name: "",
22-
language: navigator.language
24+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
2325
};
2426
if (!env.isSugarizer()) {
2527
callback(defaultSettings);
2628
return;
2729
}
28-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
29-
var loadedSettings = JSON.parse(values.sugar_settings);
30-
chrome.storage.local.get('sugar_settings', function(values) {
31-
callback(loadedSettings);
32-
});
33-
} else {
34-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
35-
callback(loadedSettings);
36-
}
30+
loadedSettings = datastore.localStorage.getValue('sugar_settings');
31+
callback(loadedSettings);
3732
}
3833
});

activities/Clock.activity/js/activity.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
define(["sugar-web/activity/activity","sugar-web/graphics/radiobuttonsgroup","mustache","moment-with-locales.min"], function (activity,radioButtonsGroup,mustache,moment) {
1+
define(["sugar-web/activity/activity","sugar-web/graphics/radiobuttonsgroup","mustache","moment-with-locales.min","webL10n"], function (activity,radioButtonsGroup,mustache,moment) {
22

33
// Manipulate the DOM only when it is ready.
44
require(['domReady!'], function (doc) {
Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,34 @@
11
var l10n_s;
22

33
requirejs.config({
4-
baseUrl: "lib",
5-
paths: {
6-
activity: "../js"
7-
}
4+
baseUrl: "lib",
5+
paths: {
6+
activity: "../js"
7+
}
88
});
99

1010
requirejs(["activity/activity"]);
1111

12-
requirejs(["webL10n","sugar-web/env","moment-with-locales.min"], function(l10n, env, moment) {
13-
l10n_s = l10n; //global declaration of translate interface
12+
requirejs(["webL10n","sugar-web/env","moment-with-locales.min","sugar-web/datastore"], function(l10n, env, moment,datastore) {
13+
l10n_s = l10n; //global declaration of translate interface
1414

15-
getSettings(function(settings) { //globally setting language from sugar settings
15+
datastore.localStorage.load(function() {
16+
getSettings(function(settings) { //globally setting language from sugar settings
1617
l10n_s.language.code = settings.language;
1718
moment.locale(settings.language);
19+
});
1820
});
1921

20-
function getSettings(callback) {
22+
function getSettings(callback) {
2123
var defaultSettings = {
2224
name: "",
23-
language: navigator.language
25+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
2426
};
2527
if (!env.isSugarizer()) {
2628
callback(defaultSettings);
2729
return;
2830
}
29-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
30-
var loadedSettings = JSON.parse(values.sugar_settings);
31-
chrome.storage.local.get('sugar_settings', function(values) {
32-
callback(loadedSettings);
33-
});
34-
} else {
35-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
36-
callback(loadedSettings);
37-
}
31+
loadedSettings = datastore.localStorage.getValue('sugar_settings');
32+
callback(loadedSettings);
3833
}
3934
});

activities/Clock.activity/lib/webL10n.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ define(function (require) {
4343
* content until the `localized' event happens.
4444
*/
4545

46-
var gAsyncResourceLoading = false; // read-only
46+
var gAsyncResourceLoading = true; // read-only
4747

4848

4949
/**
@@ -807,7 +807,6 @@ define(function (require) {
807807
function getL10nData(key, args) {
808808
var data = gL10nData[key];
809809
if (!data) {
810-
l10nStartup();
811810
consoleWarn('#' + key + ' missing for [' + gLanguage + ']');
812811
}
813812

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,34 @@
11
var l10n_s;
22

33
requirejs.config({
4-
baseUrl: "lib",
5-
paths: {
6-
activity: "../js"
7-
}
4+
baseUrl: "lib",
5+
paths: {
6+
activity: "../js"
7+
}
88
});
99

1010
requirejs(["activity/activity"]);
1111

12-
requirejs(["webL10n","sugar-web/env","moment-with-locales.min"], function(l10n, env, moment) {
13-
l10n_s = l10n; //global declaration of translate interface
12+
requirejs(["webL10n","sugar-web/env","moment-with-locales.min","sugar-web/datastore"], function(l10n, env, moment,datastore) {
13+
l10n_s = l10n; //global declaration of translate interface
1414

15-
getSettings(function(settings) { //globally setting language from sugar settings
15+
datastore.localStorage.load(function() {
16+
getSettings(function(settings) { //globally setting language from sugar settings
1617
l10n_s.language.code = settings.language;
1718
moment.locale(settings.language);
19+
});
1820
});
1921

2022
function getSettings(callback) {
2123
var defaultSettings = {
2224
name: "",
23-
language: navigator.language
25+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
2426
};
2527
if (!env.isSugarizer()) {
2628
callback(defaultSettings);
2729
return;
2830
}
29-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
30-
var loadedSettings = JSON.parse(values.sugar_settings);
31-
chrome.storage.local.get('sugar_settings', function(values) {
32-
callback(loadedSettings);
33-
});
34-
} else {
35-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
36-
callback(loadedSettings);
37-
}
31+
loadedSettings = datastore.localStorage.getValue('sugar_settings');
32+
callback(loadedSettings);
3833
}
3934
});

activities/Markdown.activity/js/loader.js

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,26 @@ requirejs.config({
1212

1313
requirejs(["activity/activity"]);
1414

15-
requirejs(["webL10n","sugar-web/env","moment-with-locales.min"], function(l10n, env, moment) {
16-
l10n_s = l10n; //global declaration of translate interface
15+
requirejs(["webL10n","sugar-web/env","moment-with-locales.min","sugar-web/datastore"], function(l10n, env, moment,datastore) {
16+
l10n_s = l10n; //global declaration of translate interface
1717

18-
getSettings(function(settings) { //globally setting language from sugar settings
18+
datastore.localStorage.load(function() {
19+
getSettings(function(settings) { //globally setting language from sugar settings
1920
l10n_s.language.code = settings.language;
2021
moment.locale(settings.language);
22+
});
2123
});
2224

23-
function getSettings(callback) {
25+
function getSettings(callback) {
2426
var defaultSettings = {
2527
name: "",
26-
language: navigator.language
28+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
2729
};
2830
if (!env.isSugarizer()) {
2931
callback(defaultSettings);
3032
return;
3133
}
32-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
33-
var loadedSettings = JSON.parse(values.sugar_settings);
34-
chrome.storage.local.get('sugar_settings', function(values) {
35-
callback(loadedSettings);
36-
});
37-
} else {
38-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
39-
callback(loadedSettings);
40-
}
34+
loadedSettings = datastore.localStorage.getValue('sugar_settings');
35+
callback(loadedSettings);
4136
}
4237
});

activities/Moon.activity/js/moon-activity.js

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ define(['activity/data-model', 'activity/draw', 'webL10n', 'sugar-web/env', 'sug
1515
l10n.ready(function() {
1616
if (first) {
1717
first = false;
18-
getSugarSettings(function(settings) {
19-
l10n.language.code = settings.language;
20-
moment.locale(settings.language);
21-
var refreshTime = setTimeout(function() {
22-
clearTimeout(refreshTime);
23-
updateView();
24-
}, 50);
18+
datastore.localStorage.load(function() {
19+
getSugarSettings(function(settings) {
20+
l10n.language.code = settings.language;
21+
moment.locale(settings.language);
22+
var refreshTime = setTimeout(function() {
23+
clearTimeout(refreshTime);
24+
updateView();
25+
}, 50);
26+
});
2527
});
2628
}
2729
});
@@ -75,24 +77,17 @@ define(['activity/data-model', 'activity/draw', 'webL10n', 'sugar-web/env', 'sug
7577

7678

7779
function getSugarSettings(callback) {
78-
var defaultSettings = {
79-
name: "",
80-
language: navigator.language
81-
};
82-
if (!env.isSugarizer()) {
83-
callback(defaultSettings);
84-
return;
85-
}
86-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
87-
var loadedSettings = JSON.parse(values.sugar_settings);
88-
chrome.storage.local.get('sugar_settings', function(values) {
89-
callback(loadedSettings);
90-
});
91-
} else {
92-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
93-
callback(loadedSettings);
94-
}
95-
}
80+
var defaultSettings = {
81+
name: "",
82+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
83+
};
84+
if (!env.isSugarizer()) {
85+
callback(defaultSettings);
86+
return;
87+
}
88+
var loadedSettings = datastore.localStorage.getValue('sugar_settings');
89+
callback(loadedSettings);
90+
}
9691

9792

9893
function updateSizes() {

activities/Speak.activity/js/SpeakActivity.js

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
define(["sugar-web/graphics/palette","sugar-web/env","webL10n"], function (palette,env,l10n) {
1+
define(["sugar-web/graphics/palette","sugar-web/env","webL10n","sugar-web/datastore"], function (palette,env,l10n,datastore) {
22

33
var canvas = document.getElementById("canvas");
44
var ctx = canvas.getContext('2d');
@@ -42,54 +42,49 @@ define(["sugar-web/graphics/palette","sugar-web/env","webL10n"], function (palet
4242

4343
function init(){
4444
speech = Speech();
45-
getSettings(function(settings) {
46-
sugarSettings = settings;
47-
speech.init(sugarSettings);
48-
// If not IE, setup mouse for capture
49-
if (!IE){
50-
document.captureEvents(Event.MOUSEMOVE)
51-
}
52-
var FPS = 30;
53-
setInterval(function() {
54-
updateCanvas();
55-
}, 1000/FPS);
56-
window.addEventListener('localized', function() {
57-
if (first) {
58-
l10n.language.code = sugarSettings.language;
59-
first = false;
60-
return;
61-
} else {
62-
localize();
63-
var timer = window.setTimeout(function() {
64-
window.clearTimeout(timer);
65-
var language = document.getElementById('speaklang').innerHTML;
66-
var text = l10n.get("TypeSomething", {name:sugarSettings.name});
67-
speech.playVoice(language, text);
68-
moveMouth(text);
69-
}, 100);
45+
datastore.localStorage.load(function() {
46+
getSettings(function(settings) {
47+
sugarSettings = settings;
48+
speech.init(sugarSettings);
49+
// If not IE, setup mouse for capture
50+
if (!IE){
51+
document.captureEvents(Event.MOUSEMOVE)
7052
}
53+
var FPS = 30;
54+
setInterval(function() {
55+
updateCanvas();
56+
}, 1000/FPS);
57+
window.addEventListener('localized', function() {
58+
if (first) {
59+
l10n.language.code = sugarSettings.language;
60+
first = false;
61+
return;
62+
} else {
63+
localize();
64+
var timer = window.setTimeout(function() {
65+
window.clearTimeout(timer);
66+
var language = document.getElementById('speaklang').innerHTML;
67+
var text = l10n.get("TypeSomething", {name:sugarSettings.name});
68+
speech.playVoice(language, text);
69+
moveMouth(text);
70+
}, 100);
71+
}
72+
});
7173
});
7274
});
7375
}
7476

7577
function getSettings(callback) {
7678
var defaultSettings = {
7779
name: "",
78-
language: navigator.language
80+
language: (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) ? chrome.i18n.getUILanguage() : navigator.language
7981
};
8082
if (!env.isSugarizer()) {
8183
callback(defaultSettings);
8284
return;
8385
}
84-
if (typeof chrome != 'undefined' && chrome.app && chrome.app.runtime) {
85-
var loadedSettings = JSON.parse(values.sugar_settings);
86-
chrome.storage.local.get('sugar_settings', function(values) {
87-
callback(loadedSettings);
88-
});
89-
} else {
90-
var loadedSettings = JSON.parse(localStorage.sugar_settings);
91-
callback(loadedSettings);
92-
}
86+
var loadedSettings = datastore.localStorage.getValue('sugar_settings');
87+
callback(loadedSettings);
9388
}
9489

9590
function hidePalettes(){

0 commit comments

Comments
 (0)