javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Toolkit.java
branchRCL_3
changeset 19 71c436fe3ce0
parent 18 9ac0a0a7da70
child 23 e5618cc85d74
--- a/javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Toolkit.java	Tue May 25 12:34:19 2010 +0300
+++ b/javauis/lcdui_akn/javalcdui/javasrc/javax/microedition/lcdui/Toolkit.java	Wed Jun 09 09:34:07 2010 +0300
@@ -29,6 +29,7 @@
 import com.nokia.mj.impl.rt.legacy.MIDEventServer;
 import com.nokia.mj.impl.rt.legacy.NativeError;
 import com.nokia.mj.impl.rt.legacy.ToolkitObserver;
+import com.nokia.mj.impl.rt.legacy.ToolkitObserverNGAExtension;
 
 import com.nokia.mj.impl.rt.support.ApplicationUtils;
 import com.nokia.mj.impl.rt.support.ApplicationInfo;
@@ -553,9 +554,11 @@
                     break;
                 case EVENT_FOREGROUND:
                     iDisplay.handleForeground(true);
+                    notifyForeground(true);
                     break;
                 case EVENT_BACKGROUND:
                     iDisplay.handleForeground(false);
+                    notifyForeground(false);
                     break;
                 case EVENT_SET_CURRENT:
                     iDisplay.switchCurrent();
@@ -570,6 +573,23 @@
         }
     }
 
+    private synchronized void notifyForeground(boolean foreground)
+    {
+        if (null != iObservers)
+        {
+            final int lastIndex = iObservers.size() - 1;
+            for (int ii=lastIndex; ii>=0; ii--)
+            {
+                if (iObservers.elementAt(ii) instanceof ToolkitObserverNGAExtension)
+                {
+                    final ToolkitObserverNGAExtension observer = 
+                                (ToolkitObserverNGAExtension)iObservers.elementAt(ii);
+                    observer.foregroundEvent(foreground);
+                }
+            }
+        }
+    }
+
     private void handleCanvasGraphicsItemPainterEvent(CanvasGraphicsItemPainter aSource, int aEvent, int aParam0, int aParam1, int aParam2)
     {
         if (resetThread())