Merge "DALi Version 2.0.32" into devel/master
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Fri, 25 Jun 2021 10:57:55 +0000 (10:57 +0000)
committerGerrit Code Review <gerrit@review>
Fri, 25 Jun 2021 10:57:55 +0000 (10:57 +0000)
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp
dali-toolkit/internal/transition/transition-lifecycle-controller.cpp
dali-toolkit/internal/transition/transition-lifecycle-controller.h
dali-toolkit/internal/visuals/visual-factory-impl.cpp
dali-toolkit/internal/visuals/visual-url.cpp
dali-toolkit/internal/visuals/visual-url.h

index 474706f..33a27b5 100755 (executable)
@@ -71,7 +71,7 @@ public:
   bool Load(const std::string& url)
   {
     mUrl = url;
-    if(mUrl == "invalid.json" || mUrl == "invalid.riv")
+    if(mUrl == "invalid.json")
     {
       return false;
     }
index 6159e71..d2be632 100644 (file)
@@ -53,9 +53,6 @@ const char* TEST_VECTOR_IMAGE_FILE_NAME =  TEST_RESOURCE_DIR  "/insta_camera.jso
 const char* TEST_VECTOR_IMAGE_FILE_NAME_FRAME_DROP = "framedrop.json";
 const char* TEST_VECTOR_IMAGE_INVALID_FILE_NAME =  "invalid.json";
 
-const char* TEST_VECTOR_IMAGE_RIVE_FILE_NAME =  TEST_RESOURCE_DIR  "/shape.riv";
-const char* TEST_VECTOR_IMAGE_INVALID_RIVE_FILE_NAME = "invalid.riv";
-
 bool gAnimationFinishedSignalFired = false;
 
 void VisualEventSignal( Control control, Dali::Property::Index visualIndex, Dali::Property::Index signalId )
@@ -1616,199 +1613,3 @@ int UtcDaliAnimatedVectorImageVisualFrameDrops(void)
 
   END_TEST;
 }
-
-int UtcDaliAnimatedVectorImageVisualLoadRiveFileP(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline( "UtcDaliAnimatedVectorImageVisualLoadRiveFile: Request animated vector image visual with a rive url" );
-
-  VisualFactory factory = VisualFactory::Get();
-  Visual::Base visual = factory.CreateVisual( TEST_VECTOR_IMAGE_RIVE_FILE_NAME, ImageDimensions() );
-  DALI_TEST_CHECK( visual );
-
-  DummyControl actor = DummyControl::New( true );
-  DummyControlImpl& dummyImpl = static_cast< DummyControlImpl& >( actor.GetImplementation() );
-  dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
-  actor.SetProperty( Actor::Property::SIZE, Vector2( 200.0f, 200.0f ) );
-  application.GetScene().Add( actor );
-
-  application.SendNotification();
-  application.Render();
-
-  // renderer is added to actor
-  DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
-  Renderer renderer = actor.GetRendererAt( 0u );
-  DALI_TEST_CHECK( renderer );
-
-  // Test SetOffScene().
-  actor.Unparent();
-  DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
-
-  END_TEST;
-}
-
-int UtcDaliAnimatedVectorImageVisualLoadRiveFileN(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline("Request loading with invalid rive file - should draw broken image");
-
-  TestGlAbstraction& gl = application.GetGlAbstraction();
-  TraceCallStack& textureTrace = gl.GetTextureTrace();
-  textureTrace.Enable(true);
-
-  Property::Map propertyMap;
-  propertyMap.Add(Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE)
-             .Add(ImageVisual::Property::URL, TEST_VECTOR_IMAGE_INVALID_RIVE_FILE_NAME);
-
-  Visual::Base visual = VisualFactory::Get().CreateVisual(propertyMap);
-  DALI_TEST_CHECK(visual);
-
-  DummyControl actor = DummyControl::New(true);
-  DummyControlImpl& dummyImpl = static_cast< DummyControlImpl& >(actor.GetImplementation());
-  dummyImpl.RegisterVisual(DummyControl::Property::TEST_VISUAL, visual);
-
-  actor.SetProperty(Actor::Property::SIZE, Vector2(20.0f, 20.0f));
-
-  application.GetScene().Add(actor);
-
-  application.SendNotification();
-  application.Render();
-
-  // Check resource status
-  Visual::ResourceStatus status = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL);
-  DALI_TEST_EQUALS(status, Visual::ResourceStatus::FAILED, TEST_LOCATION);
-
-  // The broken image should be shown.
-  DALI_TEST_EQUALS(actor.GetRendererCount(), 1u, TEST_LOCATION);
-  DALI_TEST_EQUALS(textureTrace.FindMethod("BindTexture"), true, TEST_LOCATION);
-
-  END_TEST;
-}
-
-int UtcDaliAnimatedVectorImageVisualPlaybackRiveFile(void)
-{
-  ToolkitTestApplication application;
-
-  tet_infoline( "UtcDaliAnimatedVectorImageVisualPlaybackRiveFile" );
-
-  {
-    // request AnimatedVectorImageVisual for Rive with a property map
-    VisualFactory factory = VisualFactory::Get();
-    Visual::Base visual = factory.CreateVisual(
-      Property::Map()
-      .Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE )
-      .Add( ImageVisual::Property::URL, TEST_VECTOR_IMAGE_RIVE_FILE_NAME ) );
-
-    DummyControl dummyControl = DummyControl::New( true );
-    Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummyControl.GetImplementation() );
-    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
-    dummyControl.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
-
-    Property::Map attributes;
-    tet_infoline( "Test Play action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes );
-
-    application.GetScene().Add( dummyControl );
-    application.SendNotification();
-    application.Render( 16 );
-
-    Property::Map map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    Property::Value* value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PLAYING );
-
-    tet_infoline( "Test Pause action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PAUSE, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PAUSED );
-
-    tet_infoline( "Test Play action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PLAYING );
-
-    tet_infoline( "Test Stop action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::STOP, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED );
-
-    tet_infoline( "Test Stop action again" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::STOP, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED );
-
-    tet_infoline( "Test Play action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PLAYING );
-
-    tet_infoline( "Off stage" );
-    dummyControl.Unparent();
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED );
-
-    tet_infoline( "On stage again" );
-    application.GetScene().Add( dummyControl );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED );
-
-    tet_infoline( "Test Play action" );
-    DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes );
-
-    application.SendNotification();
-    application.Render(16);
-
-    map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
-    value = map.Find( DevelImageVisual::Property::PLAY_STATE );
-    DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PLAYING );
-
-    // Change Size
-    Vector3 newSize( 100.0f, 100.0f, 0.0f );
-    dummyControl.SetProperty( Actor::Property::SIZE, newSize );
-
-    application.SendNotification();
-    application.Render(16);
-
-    // Size should be changed
-    Vector3 naturalSize = dummyControl.GetNaturalSize();
-    DALI_TEST_CHECK( naturalSize == newSize );
-
-    dummyControl.Unparent();
-  }
-
-  END_TEST;
-}
index 1a8c238..e104adf 100644 (file)
@@ -30,13 +30,23 @@ namespace Toolkit
 {
 namespace Internal
 {
+std::unique_ptr<TransitionLifecycleController> TransitionLifecycleController::mInstance = nullptr;
+std::once_flag                                 TransitionLifecycleController::mOnceFlag;
+
+TransitionLifecycleController& TransitionLifecycleController::GetInstance()
+{
+  std::call_once(mOnceFlag, []()
+                 { mInstance.reset(new TransitionLifecycleController); });
+  return *(mInstance.get());
+}
+
 void TransitionLifecycleController::AddTransitions(Dali::Toolkit::TransitionSet transitions)
 {
   mTransitionList.push_back(transitions);
   transitions.FinishedSignal().Connect(this, &TransitionLifecycleController::RemoveTransitions);
 }
 
-void TransitionLifecycleController::RemoveTransitions(Dali::Toolkit::TransitionSet &transitions)
+void TransitionLifecycleController::RemoveTransitions(Dali::Toolkit::TransitionSettransitions)
 {
   mTransitionList.erase(std::remove(mTransitionList.begin(), mTransitionList.end(), transitions));
 }
index 8511635..b064f1e 100644 (file)
@@ -33,24 +33,11 @@ namespace Toolkit
 {
 namespace Internal
 {
-class TransitionLifecycleController;
-
-namespace
-{
-std::unique_ptr<TransitionLifecycleController> instance = nullptr;
-std::once_flag                                 onceFlag;
-} // namespace
 
 class TransitionLifecycleController : public ConnectionTracker
 {
 public:
-  static TransitionLifecycleController& GetInstance()
-  {
-    std::call_once(onceFlag, []() {
-      instance.reset(new TransitionLifecycleController);
-    });
-    return *(instance.get());
-  }
+  static TransitionLifecycleController& GetInstance();
 
   void AddTransitions(Dali::Toolkit::TransitionSet transitions);
 
@@ -70,7 +57,9 @@ private:
   TransitionLifecycleController& operator=(const TransitionLifecycleController& rhs) = delete;
 
 private:
-  std::vector<Dali::Toolkit::TransitionSet> mTransitionList;
+  std::vector<Dali::Toolkit::TransitionSet>             mTransitionList;
+  static std::unique_ptr<TransitionLifecycleController> mInstance;
+  static std::once_flag                                 mOnceFlag;
 };
 
 } // namespace Internal
index 6bbc2df..8c4b2f8 100644 (file)
@@ -166,7 +166,6 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const Property::Map& propertyM
                 break;
               }
               case VisualUrl::JSON:
-              case VisualUrl::RIVE:
               {
                 visualPtr = AnimatedVectorImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), imageUrl, propertyMap);
                 break;
@@ -331,7 +330,6 @@ Toolkit::Visual::Base VisualFactory::CreateVisual(const std::string& url, ImageD
         break;
       }
       case VisualUrl::JSON:
-      case VisualUrl::RIVE:
       {
         visualPtr = AnimatedVectorImageVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), visualUrl);
         break;
index 97bc9b9..e498313 100644 (file)
@@ -103,12 +103,10 @@ VisualUrl::Type ResolveType(const std::string& url)
     char         GIF[4]    = {'f', 'i', 'g', '.'};
     char         WEBP[5]   = {'p', 'b', 'e', 'w', '.'};
     char         JSON[5]   = {'n', 'o', 's', 'j', '.'};
-    char         RIVE[4]   = {'v', 'i', 'r', '.'};
     unsigned int svgScore  = 0;
     unsigned int gifScore  = 0;
     unsigned int webpScore = 0;
     unsigned int jsonScore = 0;
-    unsigned int riveScore = 0;
     int          index     = count;
     while(--index >= 0)
     {
@@ -146,14 +144,6 @@ VisualUrl::Type ResolveType(const std::string& url)
           return VisualUrl::JSON;
         }
       }
-      if((offsetFromEnd < sizeof(RIVE)) && (currentChar == RIVE[offsetFromEnd]))
-      {
-        // early out if RIVE as can't be used in N patch for now
-        if(++riveScore == sizeof(RIVE))
-        {
-          return VisualUrl::RIVE;
-        }
-      }
       switch(state)
       {
         case SUFFIX:
index 827dfce..8857184 100644 (file)
@@ -38,8 +38,7 @@ public:
     SVG,
     GIF,
     WEBP,
-    JSON,
-    RIVE
+    JSON
   };
 
   enum ProtocolType