PK {J Debug/.tpk/api.jsUT {
Y+*var stepsPrevDate;
var webapi = {
battery: {
batteryv: navigator.battery || navigator.mozBattery || navigator.webkitBattery,
listener:null,
setListener: function(callback){
/* Detects changes in the battery level */
// webapi.battery.listener = tizen.systeminfo.addPropertyValueChangeListener("BATTERY", getBatteryState);
function getBatteryState(){
var info = {
level: Math.floor(webapi.battery.batteryv.level * 100),
isCharging: webapi.battery.batteryv.charging,
minutesToCharge: webapi.battery.batteryv.chargingTime / 60,
minutesToDischarge: webapi.battery.batteryv.dischargingTime / 60
};
callback(info);
}
setTimeout(getBatteryState,1000);
document.addEventListener("visibilitychange", function() {
if (!document.hidden) {
setTimeout(getBatteryState,1000);
}else{
// tizen.systeminfo.removePropertyValueChangeListener(webapi.battery.listener);
}
});
},
getInfo: function(){
var battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery;
return {
level: Math.floor(battery.level * 100),
isCharging: battery.charging,
minutesToCharge: battery.chargingTime / 60,
minutesToDischarge: battery.dischargingTime / 60
};
}
},
weather: {
},
pedometer: {
isEnabled: function(){
return tizen.systeminfo.getCapability("http://tizen.org/feature/sensor.pedometer");
},
setListener: function(onchangedCB){
//alert("set listener");
if (webapi.pedometer.prevSteps === 0){
tizen.humanactivitymonitor.setAccumulativePedometerListener(function(data){
webapi.pedometer.setSteps(data,onchangedCB);
tizen.humanactivitymonitor.unsetAccumulativePedometerListener();
webapi.pedometer.hasListener = false;
},function(e){
console.log("Error occured");
console.log(e);
});
document.addEventListener("visibilitychange", function() {
if (!document.hidden && !webapi.pedometer.hasListener) {
webapi.pedometer.hasListener = true;
tizen.humanactivitymonitor.setAccumulativePedometerListener(function(data){
webapi.pedometer.setSteps(data,onchangedCB);
tizen.humanactivitymonitor.unsetAccumulativePedometerListener();
webapi.pedometer.hasListener = false;
},function(e){
console.log("Error occured");
console.log(e);
});
}else{
// tizen.humanactivitymonitor.unsetAccumulativePedometerListener();
}
});
}
},
unsetListener: function(){
tizen.humanactivitymonitor.unsetAccumulativePedometerListener();
},
hasListener : false,
prevSteps: 0,
steps: 0,
floors: 0,
setSteps: function(data,cb){
// var dateTime = tizen.time.getCurrentDateTime(),
// date = dateTime.getDate();
// if (webapi.pedometer.prevSteps == 0){
// webapi.pedometer.prevSteps = data.accumulativeTotalStepCount;
// stepsPrevDate = date;
// }
//
// if (stepsPrevDate != null){
// if (stepsPrevDate === date) {
//
// } else {
// //different dates
// webapi.pedometer.prevSteps = data.accumulativeTotalStepCount;
// stepsPrevDate = date;
// }
// }
webapi.pedometer.steps = data.accumulativeTotalStepCount;
if (webapi.pedometer.prevSteps < 10) webapi.pedometer.prevSteps = data.accumulativeTotalStepCount;
//alert("steps: " + webapi.pedometer.steps + ", prevSteps: " + webapi.pedometer.prevSteps);
cb(webapi.pedometer.steps - webapi.pedometer.prevSteps);
}
},
apps: {
/**
* listener gets list of PackageInformation: {PackageId id, String name, String iconPath, String version, ApplicationId[] appIds}
*/
getApps: function(listener){
tizen.package.getPackagesInfo(listener);
},
makeList: function(parent){
tizen.package.getPackagesInfo(function(list){
var counter = 0, pageCounter = 2, array = [];
for (var app in list){
mainIcon = list[app].iconPath;
mainName = list[app].name;
mainId = list[app].appIds[0];
if(typeof mainIcon == 'undefined' || mainIcon === '' || mainIcon.toLowerCase().indexOf("watch") != -1 || mainIcon.toLowerCase().indexOf("clock") != -1){
continue;
}
if (webapi.apps.excludedApps.indexOf(mainId) != -1){
continue;
}
html = "
" + mainName + "";
array.push(html);
if (counter == 3){
makePage(array,pageCounter,false);
array = [];
pageCounter++;
counter = 0;
continue;
}
counter++;
}
makePage(array,pageCounter,true);
hideLoader();
});
function makePage(array,pagecounter,last){
parent.innerHTML = parent.innerHTML +
"" +
"
Widgets
" +
"
" +
"
" +
array[0] +
array[1] +
array[2] +
array[3] +
"
" +
(last?"
":"
") +
"
";
}
},
excludedApps:['com.samsung.app-widget',
'com.samsung.remote-sensor-service',
'com.samsung.wnotiboard-popup',
'com.samsung.w-input-selector',
'com.samsung.app-version-sync-popup',
'org.tizen.tizenseckeystring',
'com.samsung.samsung-pay-guide-app',
'com.samsung.knoxcustom-exitui',
'com.samsung.gear-webviewer',
'com.samsung.power-monitoring-svc',
'com.samsung.location-setter',
'com.samsung.iap-galaxyapps-consumer'
]
},
settings: {
launchBluetooth: function(){
var bluetoothSwitchAppControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/edit", null, "application/x-bluetooth-on-off");
tizen.application.launchAppControl(bluetoothSwitchAppControl, null, null, null, null);
},
launchWifi: function(){
var bluetoothSwitchAppControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/edit", null, "application/x-wifi-on-off");
tizen.application.launchAppControl(bluetoothSwitchAppControl, null, null, null, null);
},
launchSettings: function(){
var bluetoothSwitchAppControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/setting", null, null, null, null, null);
tizen.application.launchAppControl(bluetoothSwitchAppControl, null, null, null, null);
},
launchWifi2: function(){
var bluetoothSwitchAppControl = new tizen.ApplicationControl("http://tizen.org/appcontrol/operation/setting/wifi", null, null, null, null, null);
tizen.application.launchAppControl(bluetoothSwitchAppControl, null, null, null, null);
}
},
transition: {
openPage: function(currp, newp,callback){
// var opacity = 0;
// currp.className = "page";
// newp.style.opacity = 0;
// newp.className = "page";
// var animation = setInterval(function(){
// if (opacity >= 100){
currp.className = "page hide";
newp.className = "page";
// currp.style.opacity = 1;
// newp.style.opacity = 1;
// clearInterval(animation);
if (typeof callback != 'undefined'){
callback();
}
// return;
// }
// opacity += 20;
// currp.style.opacity = (100-opacity)/100;
// newp.style.opacity = opacity/100;
// },50);
}
},
weather: {
updateWeather: function(lat,lon,elWeatherIcon,elWeatherText,night) {
/**
* xmlHttp - XMLHttpRequest object for get information about weather
*/
var xmlHttp = new XMLHttpRequest(),
weatherInform,
weatherIcon,
weatherText,
URL_WEATHER_DATA = "http://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&APPID=1c505fcac3b26d5fa0994b6ef172ef7b&units={un}";
xmlHttp.overrideMimeType("application/json");
var units = localStorage["temp"] === 'c' ? 'metric' : 'imperial';
xmlHttp.open("GET", URL_WEATHER_DATA.replace("{lat}", lat).replace("{lon}", lon).replace("{un}",units), true);
xmlHttp.onreadystatechange = function() {
// Checks responseText isn't empty
if (xmlHttp.responseText) {
// Parses responseText to JSON
weatherInform = JSON.parse(xmlHttp.responseText);
// console.log(weatherInform.weather[0]);
// Gets icon code from information
weatherIcon = weatherInform.weather[0].id;
// Gets weather string from information
var append;
if (units === 'metric'){
append = "°C";
}else{
append = "°F";
}
weatherText = "" + Math.round(weatherInform.main.temp) + " " + append + "";
localStorage["weather-icon"] = "";
localStorage["weather-text"] = weatherText;
elWeatherIcon.innerHTML = "";
elWeatherText.innerHTML = weatherText;
}
// If reponseText is empty, set no wifi icon.
else {
setDisableIcon("wifi");
}
};
try{
xmlHttp.send(null);
}catch(e){
xmlHttp.send(null);
}
}
}
}PK tz+ + PK iH ; Debug/.tpk/COMPLICATION0.5840421581316637batterygauge01.pngUT xW?PNG
IHDR X X q04 tEXtSoftware Adobe ImageReadyqe<