Skip to content

[NUI] Deprecate RiveAnimationView, TCSACR-660#7742

Open
dongsug-song wants to merge 1 commit into
Samsung:API14from
dongsug-song:api14-0706-1
Open

[NUI] Deprecate RiveAnimationView, TCSACR-660#7742
dongsug-song wants to merge 1 commit into
Samsung:API14from
dongsug-song:api14-0706-1

Conversation

@dongsug-song

Copy link
Copy Markdown
Contributor

Description of Change

[NUI] Deprecate RiveAnimationView, TCSACR-660

API Changes

https://jira.sec.samsung.net/browse/TCSACR-660

@github-actions github-actions Bot added the API14 Platform : Tizen 11.0 / TFM: net8.0-tizen11.0 label Jul 6, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request deprecates the RiveAnimationView class and its members by applying the [Obsolete] attribute. The review feedback suggests hiding the deprecated class from IntelliSense using the [EditorBrowsable(EditorBrowsableState.Never)] attribute. Additionally, it points out that since the class itself is marked as obsolete, adding the [Obsolete] attribute to individual constructors and methods is redundant and should be removed to avoid code clutter.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +29 to 30
[Obsolete("This has been deprecated in API14, and will be removed in API16")]
public class RiveAnimationView : View

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To prevent the deprecated RiveAnimationView class from cluttering IntelliSense for developers using the SDK, it is recommended to hide it by applying the [EditorBrowsable(EditorBrowsableState.Never)] attribute. Since System.ComponentModel is already imported in this file, you can apply it directly.

    [Obsolete("This has been deprecated in API14, and will be removed in API16")]
    [EditorBrowsable(EditorBrowsableState.Never)]
    public class RiveAnimationView : View

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [AI Review]
Applying [EditorBrowsable(EditorBrowsableState.Never)] here would conflict with TizenFX convention: that attribute marks APIs excluded from the official documentation surface, while a deprecated public API stays documented and supported through its grace period (deprecated in API14, removed in API16). The recent TCSACR-647 deprecation (commit 94eed19) followed the same [Obsolete]-only pattern without hiding the APIs from IntelliSense.

/// </summary>
/// <param name="url">The rive resource URL</param>
/// <since_tizen> 9 </since_tizen>
[Obsolete("This has been deprecated in API14, and will be removed in API16")]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since the RiveAnimationView class itself is already marked with the [Obsolete] attribute, all of its constructors, methods, and other members are implicitly treated as obsolete by the compiler. Adding the [Obsolete] attribute to every individual member is redundant and introduces unnecessary code clutter.

Consider removing the [Obsolete] attributes from all the individual members (constructors and methods) in this class, keeping it only on the class definition itself.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [AI Review]
The C# compiler does not implicitly treat members of an [Obsolete] type as obsolete — invoking a member through an existing instance reference raises no CS0618 unless the member itself is attributed — so the per-member attributes are not redundant. Annotating every member is also the established TizenFX pattern for ACR deprecations (e.g., TCSACR-647, commit 94eed19, and the ElmSharp API12 deprecations), where per-member attributes feed the per-API deprecation metadata in the generated docs.

@TizenAPI-Bot

Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 0, Removed: 0, Changed: 13

Changed

/// <since_tizen>9</since_tizen
+ [Obsolete]
Tizen.NUI.Extension.RiveAnimationView

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::.ctor(System.String)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::EnableAnimation(System.String,System.Boolean)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::Pause()

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::Play()

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetAnimationElapsedTime(System.String,System.Single)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetNodeOpacity(System.String,System.Single)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetNodePosition(System.String,Tizen.NUI.Position)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetNodeRotation(System.String,Tizen.NUI.Degree)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetNodeScale(System.String,Tizen.NUI.Vector2)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetShapeFillColor(System.String,Tizen.NUI.Color)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::SetShapeStrokeColor(System.String,Tizen.NUI.Color)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.NUI.Extension.RiveAnimationView::Stop()

@JoonghyunCho

Copy link
Copy Markdown
Member

🤖 [AI Review]

Reviewed — no findings.

Scope checked:

  • All 13 newly annotated declarations in RiveAnimationView.cs (class, public constructor, 11 public methods) — every public member of the class now carries [Obsolete]; none missed, and the internal constructor is correctly left out.
  • Deprecation approach matches the repo precedent for ACR deprecations (TCSACR-647, commit 94eed19: per-member [Obsolete], no EditorBrowsable or XML-doc surface changes).
  • Cross-repo reference check: RiveAnimationView is consumed only by its internal Interop.RiveAnimationView counterpart, so the class-level [Obsolete] introduces no new CS0618 warnings elsewhere in TizenFX.
  • Existing XML documentation (<summary>, <param>, <since_tizen> 9 </since_tizen>) is intact and unaffected by the attribute additions.

No 🔴 critical issues, no 🟡 suggestions to flag.


Automated review — final merge decision rests with human reviewers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ACR Required API14 Platform : Tizen 11.0 / TFM: net8.0-tizen11.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants