javauis/mmapi_qt/baseline/javasrc.emc/com/nokia/microedition/media/ManagerImpl.java
changeset 35 85266cc22c7f
parent 26 dc7c549001d5
child 48 e0d6e9bd3ca7
--- a/javauis/mmapi_qt/baseline/javasrc.emc/com/nokia/microedition/media/ManagerImpl.java	Thu May 27 12:49:31 2010 +0300
+++ b/javauis/mmapi_qt/baseline/javasrc.emc/com/nokia/microedition/media/ManagerImpl.java	Fri Jun 11 13:33:44 2010 +0300
@@ -466,8 +466,30 @@
         {
             throw new IllegalArgumentException("Locator is null.");
         }
-        InternalPlayer player = iProtocolFactory.createPlayer(
-                                    new Locator(aLocator));
+        InternalPlayer player =null;
+        /// Implementation done for java ui 3.x req
+        // in case of AnimationPlayer, we won't be using the ProtocolFactory class.
+        //
+        Enumeration plugins = iPlugIns.elements();
+        AnimationPlayerFactory apf=null;
+        while (plugins.hasMoreElements() && (player == null))
+        {
+            PlugIn temp = (PlugIn) plugins.nextElement();
+            if (temp instanceof AnimationPlayerFactory)
+            {
+                apf = (AnimationPlayerFactory) temp;
+                break;
+            }
+        }
+        if (apf!=null)
+        {
+            player=apf.createPlayer(aLocator);
+        }
+        ////////////////////////////////////////////////////////
+        // if player is still null, try to create the native player
+        if (player==null)
+            player =iProtocolFactory.createPlayer(
+                        new Locator(aLocator));
         if (player == null)
         {
             throw new MediaException("Locator not supported: " +