[Service][AppManifest] Fix pkgid length and refactor 67/261367/2 submit/tizen/20210716.160022
authorDongHyun Song <dh81.song@samsung.com>
Fri, 16 Jul 2021 03:53:04 +0000 (12:53 +0900)
committerDongHyun Song <dh81.song@samsung.com>
Fri, 16 Jul 2021 04:53:33 +0000 (13:53 +0900)
Make pkgid length 10 bytes.

Change-Id: I8f2423dc18721ecb9b48c1e9756180854eee73cd
Signed-off-by: DongHyun Song <dh81.song@samsung.com>
wrt_app/service/builtins/appmanifest_loader.ts

index 7037b35..dbf6bbf 100644 (file)
@@ -50,11 +50,13 @@ function makeFileSync(file: string, data: string) {
   fs.writeFileSync(file, data);
 }
 
-function concatWithBaseUrl(url: string, baseUrl: string) {
-  if (url.indexOf('http:') == -1 && url.indexOf('https:') == -1) {
-    return baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1) + url;
+function concatWithBaseUrl(path: string, baseUrl: string) {
+  if (path.substr(0, 1) === '/') {
+    return baseUrl.substr(0, baseUrl.indexOf('/') + 1) + path;
+  } else if (path.indexOf('http:') == -1 && path.indexOf('https:') == -1) {
+    return baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1) + path;
   }
-  return url;
+  return path;
 }
 
 let baseWorkingDir = '/home/owner/content/Downloads/AppManifest';
@@ -91,21 +93,18 @@ async function handleIcon(appName: string, manifestUrl: string, manifest: any) {
   refCount++;
 }
 
-function handleStartUrl(appName: string, manifestUrl: string, manifest: any) {
-  let startUrl = concatWithBaseUrl(manifest['start_url'], manifestUrl);
-  manifest['start_url'] = startUrl;
+function makeManifestFile(appName: string, manifest: any) {
   manifestFile = `${baseWorkingDir}/${appName}/appmanifest.json`;
   makeFileSync(manifestFile, JSON.stringify(manifest));
   manifestFile = `${downloadVirtualDir}/${appName}/appmanifest.json`;
   refCount++;
-  return startUrl;
 }
 
 function makeAppId(startUrl: string) {
   let id = Buffer.from(startUrl).toString('base64');
   id = id.replace(/=/i, '');
   console.log(`id : ${id}`);
-  return id.substr(2, 12);
+  return id.substr(2, 10);
 }
 
 function convertConfigXml(appName: string, startUrl: string) {
@@ -172,7 +171,10 @@ async function parseAndHandleManifest(manifestUrl: string) {
       await handleIcon(appName, manifestUrl, manifest);
     }
     if (manifest['start_url']) {
-      let startUrl = handleStartUrl(appName, manifestUrl, manifest);
+      let startUrl = concatWithBaseUrl(manifest['start_url'], manifestUrl);
+      manifest['start_url'] = startUrl;
+
+      makeManifestFile(appName, manifest);
       convertConfigXml(appName, startUrl);
     }
     makeWgt(appName);