[NUI] Deprecate RiveAnimationView, TCSACR-660#7742
Conversation
There was a problem hiding this comment.
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.
| [Obsolete("This has been deprecated in API14, and will be removed in API16")] | ||
| public class RiveAnimationView : View |
There was a problem hiding this comment.
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 : ViewThere was a problem hiding this comment.
🤖 [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")] |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
🤖 [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.
Public API ChangedPlease follow the ACR process for the changed API below. Added: 0, Removed: 0, Changed: 13Changed/// <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()
|
|
🤖 [AI Review] Reviewed — no findings. Scope checked:
No 🔴 critical issues, no 🟡 suggestions to flag. Automated review — final merge decision rests with human reviewers. |
Description of Change
[NUI] Deprecate RiveAnimationView, TCSACR-660
API Changes
https://jira.sec.samsung.net/browse/TCSACR-660