Fix preserving icon extension 02/45902/4
authorTomasz Iwanek <t.iwanek@samsung.com>
Mon, 10 Aug 2015 11:14:16 +0000 (13:14 +0200)
committerPawel Sikorski <p.sikorski@samsung.com>
Fri, 14 Aug 2015 15:18:25 +0000 (08:18 -0700)
Code of:
 - StepBackupIcons,
 - StepRecoverIcons,
 - StepRemoveIcons,
was adjusted to code of StepCreateIcons which preserves
icon extension during creation of platform icons.

Note: internalizalizaton of icons is not supported as
there is needed policy so there is copy of one icon per
ui application of package.

Change-Id: Ic9229a64d0a4973f6ab3275c12dd9ca4672a73a3

src/common/step/step_backup_icons.cc
src/common/step/step_recover_icons.cc
src/common/step/step_remove_icons.cc

index e02b1ea..e34808a 100755 (executable)
@@ -24,8 +24,11 @@ Step::Status StepBackupIcons::process() {
   // gather icon info
   for (; ui != nullptr; ui = ui->next) {
     bf::path app_icon = bf::path(getIconPath(context_->uid.get()))
-      / bf::path(ui->appid);
-    app_icon += ".png";
+        / bf::path(ui->appid);
+    if (ui->icon && ui->icon->name)
+      app_icon += bf::path(ui->icon->name).extension();
+    else
+      app_icon += ".png";
     bf::path icon_backup = GetBackupPathForIconFile(app_icon);
     if (bf::exists(app_icon))
         icons_.emplace_back(app_icon, icon_backup);
index 4f5f7ab..3774b3b 100644 (file)
@@ -60,7 +60,10 @@ bool StepRecoverIcons::TryGatherIcons() {
   for (; ui != nullptr; ui = ui->next) {
     bf::path app_icon = bf::path(getIconPath(context_->uid.get()))
       / bf::path(ui->appid);
-    app_icon += ".png";
+    if (ui->icon && ui->icon->name)
+      app_icon += bf::path(ui->icon->name).extension();
+    else
+      app_icon += ".png";
     bf::path icon_backup = GetBackupPathForIconFile(app_icon);
     if (bf::exists(icon_backup) || bf::exists(app_icon))
         icons_.emplace_back(app_icon, icon_backup);
index 327d6ee..2e7370c 100644 (file)
@@ -35,7 +35,10 @@ Step::Status StepRemoveIcons::process() {
   for (; ui != nullptr; ui = ui->next) {
     fs::path app_icon = fs::path(getIconPath(context_->uid.get()))
       / fs::path(ui->appid);
-    app_icon += fs::path(".png");
+    if (ui->icon && ui->icon->name)
+      app_icon += fs::path(ui->icon->name).extension();
+    else
+      app_icon += ".png";
     if (fs::exists(app_icon)) {
       fs::path backup_icon_file = GetBackupPathForIconFile(app_icon);
       if (!MoveFile(app_icon, backup_icon_file)) {