From f4e898db8745fd155bce9a03aa9f1bbdc4688d45 Mon Sep 17 00:00:00 2001 From: Youngsoo Choi Date: Tue, 6 Oct 2020 02:32:50 -0700 Subject: [PATCH] [Service] Make application.getAppContext work This makes service app have its own service app id from application.getAppContext(), not 'org.tizen.chromium-efl.wrt-service'. Change-Id: I7378802cc61ea42e2b79559e0d83526d7da665dd Signed-off-by: Youngsoo Choi --- wrt_app/service/device_api_router.ts | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/wrt_app/service/device_api_router.ts b/wrt_app/service/device_api_router.ts index 09bb5af..5c39392 100644 --- a/wrt_app/service/device_api_router.ts +++ b/wrt_app/service/device_api_router.ts @@ -6,6 +6,7 @@ export class DeviceAPIRouter { funcRequestedAppcontrol: any; funcGetAppInfo: any; funcGetAppcerts: any; + funcGetContext: any; funcGetSharedUri: any; funcGetMetadata: any; funcGetPackageInfo: any; @@ -105,6 +106,10 @@ export class DeviceAPIRouter { return global.webapis.getPackageId(); } + hasNoneOrNull(...args: any[]) { + return !args.length || null === args[0]; + } + refineApplicationApis() { // tizen.application.getCurrentApplication() this.funcCurrentApplication = global.tizen.application.getCurrentApplication; @@ -127,7 +132,7 @@ export class DeviceAPIRouter { 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); @@ -136,16 +141,28 @@ export class DeviceAPIRouter { 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.defineProperty(context, 'appId', { writable: false }); + Object.defineProperty(context, 'id', { writable: false }); + 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); @@ -154,7 +171,7 @@ export class DeviceAPIRouter { 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); @@ -166,7 +183,7 @@ export class DeviceAPIRouter { 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); -- 2.7.4