+++ /dev/null
-import { wrt } from '../browser/wrt';
-
-function checkSystemInfoApiPrivilege(func: any, permissions: string[]) {
- let override_func = func;
- return (...args: any[]) => {
- if (args[0] === "CELLULAR_NETWORK" && !permissions.includes("http://tizen.org/privilege/telephony")) {
- console.log('The telephony permission is missing.');
- return ;
- }
- return override_func.call(global.tizen.systeminfo, ...args);
- }
-}
-
-export function initialize(packageId: string, appId: string, permissions: string[]) {
- let webapis = global.webapis;
- let tizen = global.tizen;
- if (!permissions.includes("http://tizen.org/privilege/account.read")) {
- webapis.mde.getCurrentLoginId = () => {
- console.log('The account.read permission is missing.');
- }
- }
- Object.defineProperties(webapis.mde, {
- getCurrentLoginId: { writable: false, enumerable: true }
- });
- if (!permissions.includes("http://tizen.org/privilege/alarm")) {
- tizen.alarm.add =
- tizen.alarm.remove =
- tizen.alarm.removeAll =
- tizen.alarm.get =
- tizen.alarm.getAll =
- tizen.alarm.getAlarmNotification =
- tizen.alarm.addAlarmNotification = function() {
- console.log('The alarm permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/apphistory.read")) {
- tizen.application.getAppsUsageInfo =
- tizen.application.getBatteryUsageInfo = function() {
- console.log('The application.read permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/application.launch") &&
- !permissions.includes("http://tizen.org/privilege/appmanager.launch")) {
- tizen.application.launch = function() {
- console.log('The application.launch and appmanager.launch permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/application.info")) {
- tizen.application.getAppMetaData = function() {
- console.log('The application.info permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/appmanager.certificate")) {
- tizen.application.getAppCerts = function() {
- console.log('The application.certificate permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/appmanager.kill")) {
- tizen.application.kill = function() {
- console.log('The application.kill permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/appmanager.launch") ||
- !permissions.includes("http://tizen.org/privilege/datasharing")) {
- tizen.datacontrol.addChangeListener =
- tizen.datacontrol.removeChangeListener = function() {
- console.log('The appmanager.launch or datasharing permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/datacontrol.consumer")) {
- tizen.datacontrol.getValue =
- tizen.datacontrol.updateValue =
- tizen.datacontrol.insert =
- tizen.datacontrol.update =
- tizen.datacontrol.remove =
- tizen.datacontrol.select =
- tizen.datacontrol.addValue =
- tizen.datacontrol.removeValue =
- tizen.datacontrol.getDataControlConsumer = function() {
- console.log('The datacontrol.consumer permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/filesystem.read")) {
- tizen.filesystem.listDirectory =
- tizen.filesystem.isFile =
- tizen.filesystem.isDirectory =
- tizen.filesystem.pathExists =
- tizen.filesystem.copyFile =
- tizen.filesystem.copyDirectory =
- tizen.filesystem.moveFile =
- tizen.filesystem.moveDirectory =
- tizen.filesystem.resolve = function() {
- console.log('The filesystem.read permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/filesystem.write")) {
- tizen.filesystem.createDirectory =
- tizen.filesystem.deleteFile =
- tizen.filesystem.deleteDirectory =
- tizen.filesystem.copyFile =
- tizen.filesystem.copyDirectory =
- tizen.filesystem.moveFile =
- tizen.filesystem.moveDirectory =
- tizen.filesystem.rename = function() {
- console.log('The filesystem.write permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/notification")) {
- tizen.alarm.addAlarmNotification = function() {
- console.log('The notification permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/package.info")) {
- tizen.package.setPackageInfoEventListener =
- tizen.package.unsetPackageInfoEventListener =
- tizen.package.getPackageInfo =
- tizen.package.getPackagesInfo = function() {
- console.log('The package.info permission is missing.');
- }
- }
- if (!permissions.includes("http://tizen.org/privilege/packagemanager.install")) {
- tizen.package.install =
- tizen.package.uninstall = function() {
- console.log('The packagemanager.install permission is missing.');
- }
- }
- // systeminfo : Runtime privilege validation is required, based on parameters
- tizen.systeminfo.getPropertyValue =
- checkSystemInfoApiPrivilege(tizen.systeminfo.getPropertyValue, permissions);
- tizen.systeminfo.getPropertyValueArray =
- checkSystemInfoApiPrivilege(tizen.systeminfo.getPropertyValueArray, permissions);
- tizen.systeminfo.addPropertyValueChangeListener =
- checkSystemInfoApiPrivilege(tizen.systeminfo.addPropertyValueChangeListener, permissions);
- tizen.systeminfo.addPropertyValueArrayChangeListener =
- checkSystemInfoApiPrivilege(tizen.systeminfo.addPropertyValueArrayChangeListener, permissions);
-
-}