funcRequestedAppcontrol: any;
funcGetAppInfo: any;
funcGetAppcerts: any;
+ funcGetContext: any;
funcGetSharedUri: any;
funcGetMetadata: any;
funcGetPackageInfo: any;
this.serviceId = ids[0];
this.callerAppId = ids[1] ?? '';
this.packageId = this.serviceId.split('.')[0];
- this.permissions = wrt.getPrivileges(this.id);
+ this.permissions = [];
this.initWebapis();
if (isGlobal) {
+ this.permissions = wrt.getPrivileges(this.id);
this.refineApplicationApis();
this.refinePackageApis();
this.refineFilesystemApis()
return global.webapis.getPackageId();
}
+ hasNoneOrNull(args: any[]) {
+ return !args.length || null === args[0];
+ }
+
refineApplicationApis() {
// tizen.application.getCurrentApplication()
this.funcCurrentApplication = global.tizen.application.getCurrentApplication;
console.log(`Routing - getCurrentApplication() : ${this.getServiceId()}`);
if (this.currentApplication)
return this.currentApplication;
- this.currentApplication = this.funcCurrentApplication();
+ this.currentApplication = {};
+ const originCurrentApplication = this.funcCurrentApplication();
+ for (let key in originCurrentApplication) {
+ if (key === 'appInfo') {
+ this.currentApplication.appInfo = {};
+ for (let key in originCurrentApplication.appInfo) {
+ if (key === 'id') {
+ this.currentApplication.appInfo[key] = this.getServiceId();
+ } else {
+ this.currentApplication.appInfo[key] = originCurrentApplication.appInfo[key];
+ }
+ }
+ } else {
+ if (key === 'broadcastEvent' || key === 'broadcastTrustedEvent') {
+ this.currentApplication[key] = originCurrentApplication[key].bind(originCurrentApplication);
+ } else {
+ this.currentApplication[key] = originCurrentApplication[key];
+ }
+ }
+ }
+ Object.defineProperties(this.currentApplication.appInfo, {
+ categories: { writable: false, enumerable: true },
+ iconPath: { writable: false, enumerable: true },
+ id: { writable: false, enumerable: true },
+ installDate: { writable: false, enumerable: true },
+ name: { writable: false, enumerable: true },
+ packageId: { writable: false, enumerable: true },
+ show: { writable: false, enumerable: true },
+ size: { enumerable: true },
+ version: { writable: false, enumerable: true }
+ });
+ Object.defineProperties(this.currentApplication, {
+ appInfo: { writable: false, enumerable: true },
+ contextId: { writable: false, enumerable: true }
+ });
// tizen.application.getCurrentApplication().getRequestedAppControl()
this.funcRequestedAppcontrol = this.currentApplication.getRequestedAppControl;
this.currentApplication.getRequestedAppControl = () => {
this.funcGetAppInfo = global.tizen.application.getAppInfo;
global.tizen.application.getAppInfo = (...args: any[]) => {
let app_id = args[0];
- if (!args.length || args[0] === null)
+ if (this.hasNoneOrNull(args))
app_id = this.getServiceId();
console.log(`Routing - getAppInfo()`);
return this.funcGetAppInfo(app_id);
this.funcGetAppcerts = global.tizen.application.getAppCerts;
global.tizen.application.getAppCerts = (...args: any[]) => {
let app_id = args[0];
- if (!args.length || args[0] === null)
+ if (this.hasNoneOrNull(args))
app_id = this.getServiceId();
console.log(`Routing - getAppCerts() ` + app_id);
return this.funcGetAppcerts(app_id);
}
+ // tizen.application.getAppContext()
+ this.funcGetContext = global.tizen.application.getAppContext;
+ global.tizen.application.getAppContext = (...args: any[]) => {
+ console.log(`Routing - getAppContext()`);
+ if (this.hasNoneOrNull(args)) {
+ const context = {"id": this.funcGetContext().id, "appId": this.getServiceId()};
+ Object.defineProperties(context, {
+ appId: { writable: false, enumerable: true },
+ id: { writable: false, enumerable: true }
+ });
+ return context;
+ }
+ return this.funcGetContext(args[0]);
+ }
// tizen.application.getAppSharedURI()
this.funcGetSharedUri = global.tizen.application.getAppSharedURI;
global.tizen.application.getAppSharedURI = (...args: any[]) => {
let app_id = args[0];
- if (!args.length || args[0] === null)
+ if (this.hasNoneOrNull(args))
app_id = this.getServiceId();
console.log(`Routing - getAppSharedURI()`);
return this.funcGetSharedUri(app_id);
this.funcGetMetadata = global.tizen.application.getAppMetaData;
global.tizen.application.getAppMetaData = (...args: any[]) => {
let app_id = args[0];
- if (!args.length || args[0] === null)
+ if (this.hasNoneOrNull(args))
app_id = this.getServiceId();
console.log(`Routing - getAppMetaData()`);
return this.funcGetMetadata(app_id);
this.funcGetPackageInfo = global.tizen.package.getPackageInfo;
global.tizen.package.getPackageInfo = (...args: any[]) => {
let package_id = args[0];
- if (!args.length || args[0] === null)
+ if (this.hasNoneOrNull(args))
package_id = this.getPackageId();
console.log(`Routing - getPackageInfo() : ${package_id}`);
return this.funcGetPackageInfo(package_id);