Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase from DevelNUI to main #6618

Merged
merged 13 commits into from
Feb 4, 2025
Merged

Conversation

JoogabYun
Copy link
Contributor

Description of Change

API Changes

  • ACR:

Eunki, Hong and others added 12 commits February 4, 2025 16:36
Let we allow to use FrameUpdateCallbackInterface could use UIVector2 and UIColor
so we can reduce GC call at render thread.

Require dali patch :

https://review.tizen.org/gerrit/c/platform/core/uifw/dali-csharp-binder/+/318520

Signed-off-by: Eunki, Hong <[email protected]>
Previously, if a cell has multiple ColumnSpacing or RowSpacing with
Stretch Expand, its column or row does not occupy Expand space if the
column or row is empty.

e.g. Child2 begins the beginning of the GridLayout without preserving
the empty space for Row 1, Column 0.
GridLayout Width 400.
Child1 Row 0, Column 0, ColumnSpan 2, HorizontalStretch Expand
Child2 Row 1, Column 1, ColumnSpan 1, HorizontalStretch None, Width 100
-------------------------------------
|||||||||||||||Child1||||||||||||||||
-------------------------------------
||Child2||                          |
-------------------------------------

Now, it has been fixed to make the column or row occupy Expand space
even though the column or row is empty.
To do so, virtual edges for the column or row have Stretch Expand.
It works the same way as CSS grid.
e.g. Child2 begins after the empty space for Row 1, Column 0.
-------------------------------------
|||||||||||||||Child1||||||||||||||||
-------------------------------------
|                 ||Child2||        |
-------------------------------------
If an application does not use Layout, then View's variables used for
Layout waste memory.
To remove those wasted memory, those variables are moved to the new
internal class LayoutExtraData and it is not allocated if Layout is not
used.

Signed-off-by: Jiyun Yang <[email protected]>
Add C# MarkUp Extension methods for View Properties.

e.g)
View myView = new ().Size(10f, 10f)
		    .Position(10f, 10f)
		    .Layout(new LienarLayout)
		    .Padding(5f, 5f, 5f, 5f)
		    .BackgroundColor(1f, 1f, 1f, 1f)

Added Properties

- Color
- ImageShadow
- Borderline
- Opacity
- Scale
- Visibility
- Sensitive
- IsEnabled
- ClippingMode
- Layout
- Focusable
- FocusableChildren
- FocusableInTouch
- VoiceInteractionName
- OffScreenRendering

and few getters for UI struct types.
- Color
- BorderlineColor
EXaml is not used by app:
1) Remove EXaml in Tizen.NUI.
2) Remove testcases for EXaml in Tizen.NUI.Devel.Tests
3) Disable EXaml in XmlBuild.
* Fix case sensitivity error. (delete Images)

* Fix case sensitivity error. (remove Images)

* Implement IDisposable for RestClient and properly dispose HttpClient

- RestClient now implements IDisposable and disposes the HttpClient instance.
- ServiceClientManager now properly disposes all RestClient instances.
- Added Dispose pattern to RestClient to ensure HttpClient is disposed correctly.
- Updated ServiceClientManager to use using statement or call Dispose method to release resources.

WID:9875283

* Improved NullReferenceException handling and root cause analysis

- Analyzed the root cause of NullReferenceException and modified the code to check for null objects and perform appropriate actions.
- Improved exception handling by catching more specific exception types instead of NullReferenceException, making the exception handling clearer and allowing separate handling for specific exception types.
- Applied defensive programming to validate input parameters and check for null objects to prevent NullReferenceException from occurring.

WID:9861897

---------

Co-authored-by: Angler <[email protected]>
@github-actions github-actions bot added the API13 label Feb 4, 2025
@JoogabYun JoogabYun marked this pull request as ready for review February 4, 2025 07:39
Copy link
Contributor

@jaehyun0cho jaehyun0cho left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@Seoyeon2Kim Seoyeon2Kim left a comment

Choose a reason for hiding this comment

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

LGTM! Lots of files!!

@TizenAPI-Bot
Copy link
Collaborator

Internal API Changed

Added: 67, Removed: 6, Changed: 1

Added

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.AIAvatar.RestClient::Dispose(System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::BakeColor(System.UInt32,Tizen.NUI.UIColor)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::BakePosition(System.UInt32,Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::BakeScale(System.UInt32,Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::BakeSize(System.UInt32,Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::GetColor(System.UInt32,Tizen.NUI.UIColor&)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::GetPosition(System.UInt32,Tizen.NUI.UIVector2&)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::GetScale(System.UInt32,Tizen.NUI.UIVector2&)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.FrameUpdateCallbackInterface::GetSize(System.UInt32,Tizen.NUI.UIVector2&)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.Color Tizen.NUI.UIColor::op_Implicit(Tizen.NUI.UIColor)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.UICorner::IsRelative()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UICorner::.ctor(System.Single,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UICorner::.ctor(System.Single,System.Single,System.Single,System.Single,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Tizen.NUI.UIExtents

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIExtents Tizen.NUI.UIExtents::Zero

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.UIExtents::IsEmpty()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.UIExtents::IsNaN()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::Bottom()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::End()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::HorizontalExtents()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::Start()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::Top()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Single Tizen.NUI.UIExtents::VerticalExtents()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Boolean Tizen.NUI.UIExtents::Equals(System.Object)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static System.Boolean Tizen.NUI.UIExtents::op_Equality(Tizen.NUI.UIExtents,Tizen.NUI.UIExtents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static System.Boolean Tizen.NUI.UIExtents::op_Inequality(Tizen.NUI.UIExtents,Tizen.NUI.UIExtents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Int32 Tizen.NUI.UIExtents::GetHashCode()

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UIExtents::.ctor(System.Single,System.Single,System.Single,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UIExtents::.ctor(System.Single,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UIExtents::.ctor(System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.Void Tizen.NUI.UIExtents::Deconstruct(System.Single&,System.Single&,System.Single&,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.Extents Tizen.NUI.UIExtents::op_Implicit(Tizen.NUI.UIExtents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIExtents Tizen.NUI.UIExtents::op_Addition(Tizen.NUI.UIExtents,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIExtents Tizen.NUI.UIExtents::op_Addition(Tizen.NUI.UIExtents,Tizen.NUI.UIExtents)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIExtents Tizen.NUI.UIExtents::op_Implicit(System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIExtents Tizen.NUI.UIExtents::op_Subtraction(Tizen.NUI.UIExtents,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.Vector3 Tizen.NUI.UIVector2::op_Implicit(Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Borderline(T,System.Single,Tizen.NUI.UIColor,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::BorderlineColor(T,System.Single,System.Single,System.Single,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::BorderlineColor(T,System.UInt32,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::BorderlineColor(T,Tizen.NUI.UIColor)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::BorderlineOffset(T,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::BorderlineWidth(T,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::ClippingMode(T,Tizen.NUI.ClippingModeType)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Color(T,System.Single,System.Single,System.Single,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Color(T,System.UInt32,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Color(T,Tizen.NUI.UIColor)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::CornerRadius(T,Tizen.NUI.UICorner)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Focusable(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::FocusableChildren(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::FocusableInTouch(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::ImageShadow(T,Tizen.NUI.ImageShadow)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::IsEnabled(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Layout(T,Tizen.NUI.LayoutItem)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Opacity(T,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Position(T,Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Scale(T,System.Single,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::ScaleX(T,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::ScaleY(T,System.Single)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Sensitive(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Size(T,Tizen.NUI.UIVector2)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::Visibility(T,System.Boolean)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static T Tizen.NUI.Extension.ViewExtensions::VoiceInteractionName(T,System.String)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIColor Tizen.NUI.Extension.ViewExtensions::BorderlineColor(Tizen.NUI.BaseComponents.View)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIColor Tizen.NUI.Extension.ViewExtensions::Color(Tizen.NUI.BaseComponents.View)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIVector2 Tizen.NUI.Extension.ViewExtensions::Position(Tizen.NUI.BaseComponents.View)

+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ static Tizen.NUI.UIVector2 Tizen.NUI.Extension.ViewExtensions::Size(Tizen.NUI.BaseComponents.View)

Removed

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- System.Reflection.Assembly Tizen.NUI.EXaml.EXamlExtensions::MainAssembly()

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- static System.Object Tizen.NUI.EXaml.EXamlExtensions::CreateObjectFromEXaml(System.String)

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- static T Tizen.NUI.EXaml.EXamlExtensions::LoadFromEXaml(T,System.String)

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- static T Tizen.NUI.EXaml.EXamlExtensions::LoadFromEXamlPath(T,System.Type)

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- static TXaml Tizen.NUI.EXaml.EXamlExtensions::LoadFromEXamlPath(TXaml,System.String)

- /// <since_tizen>none</since_tizen
- [EditorBrowsable(EditorBrowsableState.Never)]
- static T Tizen.NUI.Extension.ViewExtensions::CornerRadius(T,Tizen.NUI.UICorner,System.Boolean)

Changed

/// <since_tizen>none</since_tizen
[EditorBrowsable(EditorBrowsableState.Never)]
- static TView Tizen.NUI.Extension.ViewExtensions::BackgroundImage(TView,System.String)
+ static T Tizen.NUI.Extension.ViewExtensions::BackgroundImage(T,System.String)

@JoogabYun JoogabYun merged commit 772cc29 into Samsung:main Feb 4, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants