javamanager/javainstaller/installer/javasrc/com/nokia/mj/impl/installer/midp2/install/steps/StartProgressNotifications.java
branchRCL_3
changeset 24 0fd27995241b
parent 19 04becd199f91
child 35 85266cc22c7f
child 60 6c158198356e
--- a/javamanager/javainstaller/installer/javasrc/com/nokia/mj/impl/installer/midp2/install/steps/StartProgressNotifications.java	Fri Apr 30 10:40:48 2010 +0300
+++ b/javamanager/javainstaller/installer/javasrc/com/nokia/mj/impl/installer/midp2/install/steps/StartProgressNotifications.java	Tue May 11 16:07:20 2010 +0300
@@ -22,6 +22,8 @@
 import com.nokia.mj.impl.installer.exetable.ExeBall;
 import com.nokia.mj.impl.installer.exetable.ExeStep;
 import com.nokia.mj.impl.installer.storagehandler.ApplicationInfo;
+import com.nokia.mj.impl.installer.utils.FileRoots;
+import com.nokia.mj.impl.installer.utils.FileUtils;
 import com.nokia.mj.impl.installer.utils.InstallerException;
 import com.nokia.mj.impl.installer.utils.Log;
 
@@ -53,6 +55,11 @@
 
         // Init application names array.
         Vector appNamesVector = ball.iSuite.getApplications();
+        if (ball.iOldSuite != null)
+        {
+            // In update get the names of previously installed applications.
+            appNamesVector = ball.iOldSuite.getApplications();
+        }
         String[] appNames = new String[appNamesVector.size()];
         for (int i = 0; i < appNamesVector.size(); i++)
         {
@@ -60,9 +67,26 @@
                 ((ApplicationInfo)appNamesVector.elementAt(i)).getName();
         }
 
-        // Use default icon for now.
-        String componentIconPath =
-            ball.iApplicationRegistrator.getDefaultIconPath();
+        // Initialize icon filenames and icon dir.
+        String iconDir = null;
+        String componentIcon = null;
+        String[] appIcons = null;
+        if (ball.iOldSuite != null)
+        {
+            // In update get the icons of previously installed applications.
+            iconDir = FileRoots.getRegisteredIconDir(
+                FileUtils.getDrive(ball.iOldSuite.getRootDir())) +
+                ball.iOldSuite.getUid().toString();
+            appIcons = ball.iOldSuite.getRegisteredAppIcons();
+            if (appIcons != null)
+            {
+                for (int i = 0; i < appIcons.length; i++)
+                {
+                    Log.log("Old app icon " + appIcons[i] +
+                            " for "+ appNames[i] + " from " + iconDir);
+                }
+            }
+        }
 
         try
         {
@@ -70,8 +94,8 @@
                 (ball.iOldSuite != null?
                  ball.iSifNotifier.OP_UPDATE: ball.iSifNotifier.OP_INSTALL),
                 ball.iSuite.getGlobalId(), ball.iSuite.getName(),
-                appNames, ball.iSuite.calculateInitialSize(),
-                componentIconPath);
+                appNames, appIcons, ball.iSuite.calculateInitialSize(),
+                iconDir, componentIcon);
         }
         catch (Throwable t)
         {