platform/core/csapi/tizenfx.git
3 months ago[NUI] Fix LinearLayout to update its child's MeasuredSizeHeight 0 correctly
Jaehyun Cho [Wed, 24 Jan 2024 09:44:22 +0000 (18:44 +0900)]
[NUI] Fix LinearLayout to update its child's MeasuredSizeHeight 0 correctly

LinearLayout updates its child's MeasuredSizeWidth 0 correctly but it
does not update its child's MeasuredSizeHeight 0 due to the range typo.

The range typo has been fixed so child's MeasuredSizeHeight 0 is also
handled correctly.

3 months ago[NUI.Gadget] Implement Unload() method (#5898)
hjhun [Wed, 24 Jan 2024 04:25:23 +0000 (13:25 +0900)]
[NUI.Gadget] Implement Unload() method (#5898)

To unload the loaded assembly, NUIGadgetManager.Unload() method is
added.

Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
4 months ago[NUI] Do not check theme applied flag when set ThemeChangeSensitive
Jiyun Yang [Thu, 18 Jan 2024 06:58:36 +0000 (15:58 +0900)]
[NUI] Do not check theme applied flag when set ThemeChangeSensitive

New theme can affect to the views that were not affected by previous theme.

Signed-off-by: Jiyun Yang <ji.yang@samsung.com>
4 months ago[Tizen.Network.WiFi] Add APIs for multi-scanning (#5870)
akash1-kumar [Tue, 9 Jan 2024 07:19:43 +0000 (12:49 +0530)]
[Tizen.Network.WiFi] Add APIs for multi-scanning (#5870)

Signed-off-by: Akash Kumar <akash1.kumar@samsung.com>
4 months ago[NUI] Fix svace issue of Marshal.Copy
Xianbing Teng [Mon, 8 Jan 2024 06:56:58 +0000 (14:56 +0800)]
[NUI] Fix svace issue of Marshal.Copy

4 months ago[NUI] Fix some SVACE issues.
zhouhao [Fri, 5 Jan 2024 07:46:33 +0000 (15:46 +0800)]
[NUI] Fix some SVACE issues.

4 months ago[NUI.Scene3D] Revert "Add AddLight API"
Eunki, Hong [Fri, 5 Jan 2024 10:35:35 +0000 (19:35 +0900)]
[NUI.Scene3D] Revert "Add AddLight API"

Revert #5854 PR. We'd better found more good way to fix this issue.

This reverts commit 0cb799167b61395984ee1da9d647f326aad852fa.

4 months ago[NUI] Do not recreate visual when we change ImageColor only
Eunki Hong [Wed, 3 Jan 2024 16:44:02 +0000 (01:44 +0900)]
[NUI] Do not recreate visual when we change ImageColor only

Since we don't need to re-create the visual if we only chage the ImageColor property,
let we use UpdateProperty Action.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 months ago[NUI] Fix text padding issue
Bowon Ryu [Fri, 29 Dec 2023 06:06:24 +0000 (15:06 +0900)]
[NUI] Fix text padding issue

This patch solves the problem that text with padding does not work in nui layout.

For text components, the control's padding is used to calculatie size in native,
so it should not be set to zero value.

This avoids setting padding to zero when it comes to text layout.

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
4 months ago[NUI] Support NativeImageQueue creation with queue count
Eunki Hong [Sun, 31 Dec 2023 01:35:16 +0000 (10:35 +0900)]
[NUI] Support NativeImageQueue creation with queue count

Let we allow to create NativeImageQueue with queue count.
Previously, we only allow to create the NativeImageQueue based on the environment value "DALI_TBM_SURFACE_QUEUE_SIZE".
(This value is 3 as default)

It will be useful if some user want to reduce the queue count for some cases, not for whole queue.

relative DALi patches :

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

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
4 months ago[NUI] Add EnableFrameCache in LottieAnimationView
sunghyun kim [Thu, 30 Nov 2023 03:48:29 +0000 (12:48 +0900)]
[NUI] Add EnableFrameCache in LottieAnimationView

4 months ago[NUI.Scene3D] Add AddLight API
Eunki, Hong [Tue, 2 Jan 2024 09:09:36 +0000 (18:09 +0900)]
[NUI.Scene3D] Add AddLight API

Let we make new API for Light class for SceneView.

Note : To avoid the changness of native side code minimalize, let we use
internal API of NUI.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 months ago[MediaVision] Change feature key of inference face recognition (#5803)
Haesu Gwon [Tue, 2 Jan 2024 05:50:47 +0000 (14:50 +0900)]
[MediaVision] Change feature key of inference face recognition (#5803)

* [MediaVision] Change feature key of inference face recognition

4 months ago[NUI] Fix Navigator to support Page with Transitions
Jaehyun Cho [Wed, 27 Dec 2023 04:15:30 +0000 (13:15 +0900)]
[NUI] Fix Navigator to support Page with Transitions

Previously, PushWithTransition and PopWithTransition did not support
Page. It supported either ContentPage or DialogPage.

Now, PushWithTransition and PopWithTransition supports Page as well.

4 months ago[NUI][API11] NUI version up (nui22304)
Eunki, Hong [Wed, 27 Dec 2023 00:10:29 +0000 (09:10 +0900)]
[NUI][API11] NUI version up (nui22304)

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 months ago[NUI] Initialize C# items if required
Eunki, Hong [Thu, 14 Dec 2023 02:44:43 +0000 (11:44 +0900)]
[NUI] Initialize C# items if required

We have create ProcessorController constructor without initalize as default.

If NUI core want to change this policy, we can initialize at constructor time.
But this case code has some error. It didn't create C# side objects and only create
native side.

Let we make constructor with initialize works well now.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
4 months ago[NUI.Scene3D] Add DepthIndex in Material
seungho baek [Wed, 6 Dec 2023 06:33:49 +0000 (15:33 +0900)]
[NUI.Scene3D] Add DepthIndex in Material

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
5 months ago[NUI] Fix svace issue of Marshal.Copy
Xianbing Teng [Mon, 18 Dec 2023 12:03:31 +0000 (20:03 +0800)]
[NUI] Fix svace issue of Marshal.Copy

5 months ago[NUI] Add AnchorColor Property
Bowon Ryu [Mon, 18 Dec 2023 10:27:33 +0000 (19:27 +0900)]
[NUI] Add AnchorColor Property

AnchorColor(or AnchorClickedColor) property is
used as the default color of the markup anchor tag.

If there is a color attribute in the markup anchor tag,
the markup attribute takes precedence.

https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/302984/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/302985/

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
5 months ago[NUI][API11] NUI Version up (nui22303)
Eunki Hong [Mon, 18 Dec 2023 10:28:23 +0000 (19:28 +0900)]
[NUI][API11] NUI Version up (nui22303)

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Revert dispose synchronously logic when APP is not started
Eunki Hong [Mon, 18 Dec 2023 07:23:21 +0000 (16:23 +0900)]
[NUI] Revert dispose synchronously logic when APP is not started

We add some logic to dispose items when application created & disposed
before application initialized.

But some app just have some issue when some thread dependency items disposed
before application started.

To avoid this cases, let we block dispose sync logic and revert we always
dispose queue ensure in main thread.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] DragAndDrop : Allow to get mimetype for Enter and Move events
Taehyub Kim [Tue, 12 Dec 2023 09:48:48 +0000 (18:48 +0900)]
[NUI] DragAndDrop : Allow to get mimetype for Enter and Move events

5 months ago[NUI][API11] NUI Version up (nui22302)
Eunki, Hong [Mon, 11 Dec 2023 05:55:54 +0000 (14:55 +0900)]
[NUI][API11] NUI Version up (nui22302)

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Add API for ProcessController without Initialize
Eunki, Hong [Mon, 11 Dec 2023 04:21:42 +0000 (13:21 +0900)]
[NUI] Add API for ProcessController without Initialize

To keep the backword stability, let we use previous API (CSharp_Dali_new_ProcessorController) call Initialize internally
and new API (CSharp_Dali_new_ProcessorController_Without_Initialize) will not call this.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Make we flush DisposeQueue before app start
Eunki, Hong [Mon, 11 Dec 2023 03:09:39 +0000 (12:09 +0900)]
[NUI] Make we flush DisposeQueue before app start

If we don't call DisposeQueue.Instance.Initialize(), it might not flush
the dispose queue.

Before #5806 and until currently, we didn't allow to call ProcessDisposables()
before Initialize(). It might occure memory leak if app try to create & dispose
unlimitly before Application start.

To make ensure it, let we make ProcessDisposables() API can be called even if
DisposeQueue is not initialized.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Skip text getter when Text never setted before
Eunki Hong [Thu, 7 Dec 2023 16:59:37 +0000 (01:59 +0900)]
[NUI] Skip text getter when Text never setted before

If we never set text into TextLabel before, the result of Text propert getter is always empty.
To avoid useless C# - native network, let we just ignore text getter function if we can assume that previous text was empty.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Make ensure ImageView._resourceUrl is latest
Eunki Hong [Thu, 7 Dec 2023 16:59:37 +0000 (01:59 +0900)]
[NUI] Make ensure ImageView._resourceUrl is latest

Previous code didn't assume that _resourceUrl value of ImageView was not a latest.

 - If we set ImageView by ```Image``` property, the _resourceUrl was updated when cached map updating.
 - When we try to get ResourceUrl gettor, we ask to cached map always.

But PropertyValue.Get(out string) might spend long time if the URL length is long.
It will make useless string copy, what we can reduce.

Now We make every logic make ensure that _resourceUrl stored valid resource url.
If this is validated, we can reduce some C# - Native networking.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months ago[NUI.Scene3D] Remove build warning
Eunki Hong [Wed, 6 Dec 2023 17:36:44 +0000 (02:36 +0900)]
[NUI.Scene3D] Remove build warning

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months ago[NUI] Dispose queue incrementally
Eunki Hong [Wed, 6 Dec 2023 16:12:33 +0000 (01:12 +0900)]
[NUI] Dispose queue incrementally

Let we dispose IDisposable incrementally, not immediately.

It will reduce the main thread blocking during Dispose by GC.

To make the behavior didn't changed as before, let we make
FullGC as defalt. And turn on incremental GC feature if someone need.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
5 months agoFix defect that is detected by static analisys tool (#5805)
urmain [Wed, 6 Dec 2023 08:45:10 +0000 (17:45 +0900)]
Fix defect that is detected by static analisys tool (#5805)

There is a portential problem with the code involving the variable 'e.OldItems'.
This variable is the result of a method invocation, and the tool is warning that the method
might return a null value, which can cause deferencing a null reference.
It might cause to crash or behave unpredictably.

Therefore, to prevent this, the variable 'e.OldItems' should be checked if it is null or not before use.

5 months ago[Packagemanager] Fix Tizen.Applications.Package for performance (#5794)
jeremy-jang [Wed, 6 Dec 2023 06:19:43 +0000 (15:19 +0900)]
[Packagemanager] Fix Tizen.Applications.Package for performance (#5794)

Adjust lazy initialization on DependencyFrom, Certificate property.
These properties need additional IPC platform internally, so make these
property initialized lazily for performance.

Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
5 months ago[NUI] Add log for ClearFocus
joogab.yun [Tue, 5 Dec 2023 06:14:52 +0000 (15:14 +0900)]
[NUI] Add log for ClearFocus

5 months ago[NUI] Fix some SVACE issues.
zhouhao02 [Fri, 17 Nov 2023 08:26:02 +0000 (16:26 +0800)]
[NUI] Fix some SVACE issues.

5 months ago[NUI.Scene3D] Add SetResolution method to SceneView
seungho baek [Thu, 30 Nov 2023 02:18:55 +0000 (11:18 +0900)]
[NUI.Scene3D] Add SetResolution method to SceneView

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
5 months ago[NUI] Fix some SVACE issues.
zhouhao02 [Fri, 1 Dec 2023 06:07:21 +0000 (14:07 +0800)]
[NUI] Fix some SVACE issues.

5 months ago[NUI][API11] Added collider mesh support
Adam Bialogonski [Thu, 16 Nov 2023 09:50:22 +0000 (09:50 +0000)]
[NUI][API11] Added collider mesh support

Model.SetColliderMesh() function allows creating and setting a collider mesh on the node of model.

Node of model is selected by name (string).
Collider mesh data consists:
List<Vector3> - list of vertices
List<int> - list of indices (3 indices are a triangle face)

Modify issue

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
5 months ago[NUI.Scene3D][API11] Support RootTranslationOnly option for motion capture data
seungho baek [Tue, 21 Nov 2023 07:27:01 +0000 (16:27 +0900)]
[NUI.Scene3D][API11] Support RootTranslationOnly option for motion capture data

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
5 months ago[Bluetooth] Fix BluetoothProfileType enum mismatch issue (#5788)
Wootak Jung [Mon, 4 Dec 2023 22:55:52 +0000 (07:55 +0900)]
[Bluetooth] Fix BluetoothProfileType enum mismatch issue (#5788)

BluetoothProfileType enum does not match native bt_profile_e enum.

Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
5 months ago[NUI] Add DispatchWheelEvents and DispatchPrentWheelEvents
joogab.yun [Mon, 27 Nov 2023 04:24:01 +0000 (13:24 +0900)]
[NUI] Add DispatchWheelEvents and DispatchPrentWheelEvents

If DispatchWheelEvents sets false, view will not receive any WheelEvent including own.
If DispatchPrentWheelEvents sets false, the parent view does not receive WheelEvent.

5 months ago[NUI] Change the default color of the border.
joogab.yun [Mon, 20 Nov 2023 06:29:19 +0000 (15:29 +0900)]
[NUI] Change the default color of the border.

5 months ago[NUI.Scene3D][API11] Attach matched interop linker for RemoveModelPrimitive
Eunki, Hong [Fri, 24 Nov 2023 07:08:55 +0000 (16:08 +0900)]
[NUI.Scene3D][API11] Attach matched interop linker for RemoveModelPrimitive

Match valid native API for RemoveModelPrimitive

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[Multimedia] Fix rotation issue for portrait mode (#5766)
Haesu Gwon [Tue, 21 Nov 2023 08:35:32 +0000 (17:35 +0900)]
[Multimedia] Fix rotation issue for portrait mode (#5766)

6 months ago[Multimedia] Fix to set window size properly (#5763)
Haesu Gwon [Tue, 21 Nov 2023 08:04:06 +0000 (17:04 +0900)]
[Multimedia] Fix to set window size properly (#5763)

6 months ago[Multimedia] Fix ASAN crash issue (#5699)
Haesu Gwon [Mon, 6 Nov 2023 08:03:28 +0000 (17:03 +0900)]
[Multimedia] Fix ASAN crash issue (#5699)

* [Multimedia] Fix ASAN crash issue

6 months ago[Applications.WidgetControl] Use Marshal.FreeHGlobal() instead of Lib… (#5629)
kilig [Mon, 13 Nov 2023 01:41:58 +0000 (10:41 +0900)]
[Applications.WidgetControl] Use Marshal.FreeHGlobal() instead of Lib… (#5629)

* [Applications.WidgetControl] Use Marshal.FreeHGlobal() instead of Libc.Free()

Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
* [Applications.Cion] Use Marshal.AllocHGlobal() instead of Libc.Malloc()

Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
---------

Signed-off-by: Inkyun Kil <inkyun.kil@samsung.com>
Co-authored-by: pjh9216 <jh9216.park@samsung.com>
6 months ago[Bluetooth] Fix ASAN crash issue (#5624)
Wootak Jung [Tue, 24 Oct 2023 03:04:31 +0000 (12:04 +0900)]
[Bluetooth] Fix ASAN crash issue (#5624)

- Use g_free for data allocated by g_malloc

Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
6 months ago[System.Information] Use Marshal.FreeHGlobal() instead of Libc.Free()
Seung-Woo Kim [Wed, 18 Oct 2023 05:31:40 +0000 (14:31 +0900)]
[System.Information] Use Marshal.FreeHGlobal() instead of Libc.Free()

Use Marshal.FreeHGlobal() instead of Libc.Free() for ASAN
environment. Also, remove not any more used Libc.Free() Interop.

In ASAN environment, because Interop uses dlopen(), newly opended
libc causes different libc/asan alloc context from already allocaed
buffer, and it gives segment fault crash when calling Libc.Free().

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
6 months agoUse Marshal.FreeHGlobal() instead of Libc.Free() (#5636)
hjhun [Wed, 18 Oct 2023 05:38:58 +0000 (14:38 +0900)]
Use Marshal.FreeHGlobal() instead of Libc.Free() (#5636)

Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
6 months ago[NUI] Add ModelPivotPoint property
seungho baek [Wed, 15 Nov 2023 14:21:42 +0000 (23:21 +0900)]
[NUI] Add ModelPivotPoint property

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
6 months ago[NUI][API11] Version up 22252
Eunki, Hong [Wed, 15 Nov 2023 02:24:23 +0000 (11:24 +0900)]
[NUI][API11] Version up 22252

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Remove old frame range if we set marker + Minor fix up when marker invalid
Eunki Hong [Tue, 14 Nov 2023 15:39:16 +0000 (00:39 +0900)]
[NUI] Remove old frame range if we set marker + Minor fix up when marker invalid

LottieAnimationView cache both frame range as int, and marker.
But two API set same property - PlayRange.

So if some code like below thing was not working well

```
  // Let "marker" frame range is 10~20

  lottieView.SetMinMaxFrame(30, 40); // play range become 30~40
  lottieView.SetMinMaxFrameByMarker(marker); // play range become 10~20
  lottieView.SetMinMaxFrame(30, 40); // play range need to be 30~40 again, but it didn't due to the cache.
```

To avoid like above case, let we clean cache explicit parameter.

Also, Let we add some more error check if app use invalid marker
(Lottie file not loaded, or marker is invalid.)

In this case, let we just follow minMaxSetTypes.NotSetByUser logic then.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 months ago[NUI.Scene3D] Fix exception when ModelNode don't have ModelNode as child
Eunki, Hong [Tue, 14 Nov 2023 08:17:11 +0000 (17:17 +0900)]
[NUI.Scene3D] Fix exception when ModelNode don't have ModelNode as child

If ModelNode don't have ModelNod as child, it might have
some null handle exception when we DownCast to ModelNode.
(For example, user try to get child ModelNode, but failed.)

Currently, a lots of app don't consider ModelNode now. But in future
we might need to add something under each ModelNode.

To make Scene3D more safety, let we check null or invalidate,
and then get/set the value internally.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Add AliveCount property to get currently alived View number
dongsug.song [Tue, 14 Nov 2023 13:14:33 +0000 (22:14 +0900)]
[NUI] Add AliveCount property to get currently alived View number

6 months ago[NUI] Support EncodedImageBuffer ImageType property + Upgrade EncodedImageBuffer...
Eunki, Hong [Tue, 14 Nov 2023 03:53:06 +0000 (12:53 +0900)]
[NUI] Support EncodedImageBuffer ImageType property + Upgrade EncodedImageBuffer demo

Let we allow to give the type of buffer s.t. what buffer is mean.
We can load svg and lottie image as encoded image buffer now.

+

Let we make EncodedImageBuffer can be created at worker thread.
And make the demo to load buffer asynchronously.

This patch have dependency with below dali patch :

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

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Change SetMinAndMaxFrameByMarker behavior + Fix some async cases
Eunki, Hong [Tue, 14 Nov 2023 09:25:53 +0000 (18:25 +0900)]
[NUI] Change SetMinAndMaxFrameByMarker behavior + Fix some async cases

Let we allow to call SetMinAndMaxFrameByMarker API even if load is not finished.
Instead, let we just call some log if the file is not loaded yet.

Plus, Some API (GetContentInfo, GetMarkerInfo) might cache wrong values
when we use async load

Before try to get correct value, let we check whether the resource is
loaded or not.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] DetachAccessibleObject at Dispose time well
Eunki, Hong [Fri, 10 Nov 2023 07:53:52 +0000 (16:53 +0900)]
[NUI] DetachAccessibleObject at Dispose time well

There was several problem when we call DaliAccessibilityDetachAccessibleObject
at Dispose(bool) function

 - It will detach accessibility even if view doesn't owned the handle memory
 - Dispose(bool) can be called at worker thread (during GC) so we need to check thread here

I make to DaliAccessibilityDetachAccessibleObject function at Dispose(DisposeTypes)
that we can ensure it called at main thread clearly.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Fix TotalFrame getter bug when async load
Eunki, Hong [Fri, 10 Nov 2023 10:37:15 +0000 (19:37 +0900)]
[NUI] Fix TotalFrame getter bug when async load

There was some bug when we try to get TotalFrame when async load json file.

DALi engine side default total frame number is 0, and NUI is -1.
So, if we try to get TotalFrame from dali which is still loading, it will
cache the internal total frame as 0. After than, we can never get valid value.

To avoid this problem, we have 2 choice

1. Wait until async load finished, and then get total frame at dali side.
2. Just get 0 for now, and try again when total frame cached as 0.

Solution 1 need some time to resolve it. So now just make 2.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoAdd Front Buffer Rendering Sample (#5735)
Chihun Jeong [Fri, 10 Nov 2023 08:35:09 +0000 (17:35 +0900)]
Add Front Buffer Rendering Sample (#5735)

Co-authored-by: ANZ1217 <chihun.jeong@samsung.com>
6 months ago[NUI] Remove build warning due to unusing API
Eunki, Hong [Thu, 9 Nov 2023 07:46:28 +0000 (16:46 +0900)]
[NUI] Remove build warning due to unusing API

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Support LottieAnimationView file load asynchronously
Eunki, Hong [Thu, 9 Nov 2023 01:37:38 +0000 (10:37 +0900)]
[NUI] Support LottieAnimationView file load asynchronously

Current LottieAnimationView implement their own ViewCreation logic.

For example, ImageView.ResourceUrl = ~~ didn't change synchronously option.
But LottieAnimationView.ResourceUrl = ~~~ make synchronously option as true hardly.

So, there is no way to make asynchronously load lottie file.

To support it, let we cherry-pick new option of SynchronousLoading.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI.XamlBuild] Remove unused event : Element.DescendantAdded / Removed
Eunki, Hong [Tue, 7 Nov 2023 12:58:10 +0000 (21:58 +0900)]
[NUI.XamlBuild] Remove unused event : Element.DescendantAdded / Removed

Those API was useless if we don't need to invoke those events.
And those try to climb-up to parent root every Add / Remove API.

It will spend heavy time if the scene tree is complex.

Those event handerl are internal, and nobody use them.
So just remove codes.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Support to get Marker list information from lottie
Eunki, Hong [Tue, 7 Nov 2023 11:55:41 +0000 (20:55 +0900)]
[NUI] Support to get Marker list information from lottie

Let we allow to get the list of markers what current lottie image has now.

And also, Implement min/max frame index by marker, which is legacy
feature of VD FLUX code.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Supports to build ModelNode Tree
seungho baek [Tue, 7 Nov 2023 11:39:44 +0000 (20:39 +0900)]
[NUI] Supports to build ModelNode Tree

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
6 months ago[NUI] Add FrontBufferRendering in WindowData (#5725)
Chihun Jeong [Tue, 7 Nov 2023 12:07:08 +0000 (21:07 +0900)]
[NUI] Add FrontBufferRendering in WindowData (#5725)

* [NUI] Add FrontBufferRendering in WindowData

* Add [EditorBrowsable(EditorBrowsableState.Never)] on every public value

---------

Co-authored-by: ANZ1217 <chihun.jeong@samsung.com>
6 months ago[System.Feedback] Add internal API to support get ids
Yunhee Seo [Wed, 8 Nov 2023 07:07:00 +0000 (16:07 +0900)]
[System.Feedback] Add internal API to support get ids

Allows getting feedback theme id array supported.

This is newly added to System.Feedback.
- public uint[] GetThemeIdsInternal(FeedbackType type)
     -> It returns the available id array defined in the conf file according to feedback type.

Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
6 months ago[System.Feedback] Change feedback theme api name index to id
Yunhee Seo [Wed, 8 Nov 2023 04:58:33 +0000 (13:58 +0900)]
[System.Feedback] Change feedback theme api name index to id

As policies dealing with feedback themes have changed from index to id-base selection,
API naming also changed from index to id.
Feedback themes are no longer treated sequentially, also not dependent on index.
It is managed through a unique id.

Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
6 months ago[Build] Modify the script that generates the TFM list (#5703)
JongHeonChoi [Mon, 13 Nov 2023 02:05:32 +0000 (11:05 +0900)]
[Build] Modify the script that generates the TFM list (#5703)

6 months ago[System] Add power internal APIs
Yunhee Seo [Thu, 2 Nov 2023 12:53:34 +0000 (21:53 +0900)]
[System] Add power internal APIs

Allows using native power internal APIs.

These are newly added to System/Device/Power
- public static void ConfirmWaitCallback(UInt64 wait_callback_id)
-> It informs the deviced that it is okay to take actual action to change state.
- public static void CancelWaitCallback(UInt64 wait_callback_id)
-> It informs the deviced of that it needs to undo the current transition.
- public static int ChangeState(PowerState state, int timeout_sec)
-> It Sends a request for changing power state asynchronously with timeout sec.
- public static int CheckRebootAllowed()
-> It checks if reboot is possible on the current device state.
- public static PowerTransitionReason GetWakeupReason()
-> It returns power wake up reason.
- public static PowerLockState GetLockState(PowerLock type)
-> It returns the status of power lock(locked/unlocked).

To notify callback event, 4 types EventHandler is added.
- public static event EventHandler<PowerStateChangeRequestEventArgs> StartStateChangeRequestCallback
- public static event EventHandler<PowerStateChangeRequestEventArgs> NormalStateChangeRequestCallback
- public static event EventHandler<PowerStateChangeRequestEventArgs> SleepStateChangeRequestCallback
- public static event EventHandler<PowerStateChangeRequestEventArgs> PoweroffStateChangeRequestCallback
- public static event EventHandler<PowerStateChangeRequestEventArgs> RebootStateChangeRequestCallback
- public static event EventHandler<PowerStateChangeRequestEventArgs> ExitStateChangeRequestCallback
-> With this eventhandler, it is possible to get event from ChangeState handling.
For example,
1. Add callback event to NormalStateChangeRequestCallback.
2. Request power state change with ChangeState(PowerState.Normal, timeout_sec)
3. After power state change request done, it returns result as invoke callback event.

- public static event EventHandler<PowerStateWaitEventArgs> StartStateWaitCallback
- public static event EventHandler<PowerStateWaitEventArgs> NormalStateWaitCallback
- public static event EventHandler<PowerStateWaitEventArgs> SleepStateWaitCallback
- public static event EventHandler<PowerStateWaitEventArgs> PoweroffStateWaitCallback
- public static event EventHandler<PowerStateWaitEventArgs> RebootStateWaitCallback
- public static event EventHandler<PowerStateWaitEventArgs> ExitStateWaitCallback
-> As adding event callback to above eventhandler, it is possible to get event
    when the power state changes to Specific Power state.
For example,
1. Add callback event to SleepStateWaitCallback.
2. When the power state changes to Sleep state, callback event will be invoked.

- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientResumingEarlyStateWaitCallback
- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientResumingStateWaitCallback
- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientResumingLateStateWaitCallback
- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientSuspendingEarlyStateWaitCallback
- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientSuspendingStateWaitCallback
- public static event EventHandler<PowerTransientStateWaitEventArgs> TransientSuspendingLateStateWaitCallback
-> As adding event callback to above eventhandler, it is possible to get event
    during the power transition.
For example,
1. Add callback event to TransientResumingLateStateWaitCallback.
2. When the power transient state changes to ResumingLate state, callback event will be invoked.

- public static event EventHandler<PowerLockStateChangedEventArgs> CpuLockStateChangedCallback
- public static event EventHandler<PowerLockStateChangedEventArgs> DisplayNormalLockStateChangedCallback
- public static event EventHandler<PowerLockStateChangedEventArgs> DisplayDimLockStateChangedCallback
-> As adding event callback to above eventhandler, it is possible to get event
    when the power lock state is changed.
For example,
1. Add callback event to DisplayNormalLockStateChangedCallback.
2. When the DisplayNormal power lock state is changed, callback event will be invoked.

To use new APIs, below enumeration is also added.
- public enum PowerTransitionReason
-> It represents power transition reason
- public enum PowerState : uint
-> It represents power state.
- public enum PowerTransientState : uint
-> It represents power transient state.
- public enum PowerLockState
-> It represents power lock state locked or unlocked.

Detailed example, information is added to API/EventHandler/Enumeration definition.

Signed-off-by: Yunhee Seo <yuni.seo@samsung.com>
6 months ago[NUI] revert 'Make DaliAccessibilityDetachAccessibleObject called at main thread...
dongsug.song [Tue, 7 Nov 2023 04:15:01 +0000 (13:15 +0900)]
[NUI] revert 'Make DaliAccessibilityDetachAccessibleObject called at main thread' and check native object

6 months ago[NUI] version up (22251)
dongsug.song [Mon, 6 Nov 2023 11:11:33 +0000 (20:11 +0900)]
[NUI] version up (22251)

6 months ago[NUI] Fix some SVACE issues.
zhouhao02 [Tue, 31 Oct 2023 05:11:23 +0000 (13:11 +0800)]
[NUI] Fix some SVACE issues.

6 months ago[NUI] Add a Window constructor using WindowData (#5708)
Chihun Jeong [Fri, 3 Nov 2023 01:41:09 +0000 (10:41 +0900)]
[NUI] Add a Window constructor using WindowData (#5708)

* [NUI] Add a Window constructor using WindowData

* Add Information about WindowData to the summary

---------

Co-authored-by: ANZ1217 <chihun.jeong@samsung.com>
6 months ago[NUI] Remove basehandle usage at Accessibility static
Eunki, Hong [Mon, 30 Oct 2023 05:17:31 +0000 (14:17 +0900)]
[NUI] Remove basehandle usage at Accessibility static

Since we try to resolve some unusual behavior of BaseHandle,
the dummyHandle in Accessibility can give us some confuse logs.

Actually, we don't need to hold it as BaseHandle type. we only need this
as object type. So, let we make it as object, instead of BaseHandle.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Resolve many problems relative with BaseHandle
Eunki, Hong [Tue, 31 Oct 2023 03:59:36 +0000 (12:59 +0900)]
[NUI] Resolve many problems relative with BaseHandle

 - Ensure to get 'already registered, or create new one' what we get item from DALi engine
 - Let we also ensure create only one items if we use static ::Get() API
 - Do not register to Registry if we copy the reference.
  - Remove some useless copy constructor.
 - Do not register to Registry if we create empty object.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Do not register when BaseHandle doesn't have body
Eunki, Hong [Thu, 2 Nov 2023 07:44:01 +0000 (16:44 +0900)]
[NUI] Do not register when BaseHandle doesn't have body

If BaseHandle doesn't have body, the refCPtr value is IntPtr.Zero.

If than, the various cases have wrong registration in future.

To avoid this case, let we ignore to register to registry, and
make BaseHandle.registerMe value as false.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months ago[NUI] Reinforce NUI Sample for window
Wonsik Jung [Mon, 30 Oct 2023 12:43:30 +0000 (21:43 +0900)]
[NUI] Reinforce NUI Sample for window

Reinforce NUI Sample for window.
It has the sample for testing  window function.

6 months ago[Build] Create a dotnet library dir from the post script (#5710)
JongHeonChoi [Mon, 6 Nov 2023 00:40:08 +0000 (09:40 +0900)]
[Build] Create a dotnet library dir from the post script (#5710)

6 months ago[Build] Set the dotnet_core_runtime_version value to 6.0 (#5705)
JongHeonChoi [Mon, 6 Nov 2023 00:39:44 +0000 (09:39 +0900)]
[Build] Set the dotnet_core_runtime_version value to 6.0 (#5705)

6 months ago[MediaController] Fix CustomCommand crash issue (#5671)
Haesu Gwon [Thu, 2 Nov 2023 05:28:49 +0000 (14:28 +0900)]
[MediaController] Fix CustomCommand crash issue (#5671)

6 months ago[NUI.WindowSystem] Add SetSecondarySelection and UnsetSecondarySelection to fix typo
Junseok Kim [Wed, 1 Nov 2023 05:27:06 +0000 (14:27 +0900)]
[NUI.WindowSystem] Add SetSecondarySelection and UnsetSecondarySelection to fix typo

Add new requests SetSecondarySelection and UnsetSecondarySelection to alternate requests
SetSecondarySelction and UnsetSecondarySelction that have typo.

After all caller that typo requests have been removed, the typo request have been removed.

6 months ago[Build] Fixed an error that could not find the dotnet_resolving.info file (#5701)
JongHeonChoi [Thu, 2 Nov 2023 01:49:52 +0000 (10:49 +0900)]
[Build] Fixed an error that could not find the dotnet_resolving.info file (#5701)

6 months agoUpdate nuspec to add net6.0 group (#5695)
Jay Cho [Thu, 2 Nov 2023 01:49:15 +0000 (10:49 +0900)]
Update nuspec to add net6.0 group (#5695)

6 months agoVersion up nui22250
Taehyub Kim [Mon, 30 Oct 2023 11:14:45 +0000 (20:14 +0900)]
Version up nui22250

6 months agoMake DaliAccessibilityDetachAccessibleObject called at main thread
Eunki, Hong [Mon, 30 Oct 2023 04:49:51 +0000 (13:49 +0900)]
Make DaliAccessibilityDetachAccessibleObject called at main thread

void Dispose(bool) can be called from worker thread, when disposing value is false.

To ensure we detach AccessibileObject in main thread, let we remove it
at Dispose(DisposeTypes), instead of Dispose(bool).

To avoid this kind of error in future, let we remove View.Dispose(bool)
and let we only use Dispose(DisposeTypes).

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoDo not register when we try to copy same handle
Eunki, Hong [Mon, 30 Oct 2023 03:21:46 +0000 (12:21 +0900)]
Do not register when we try to copy same handle

Since we register to registry by BaseObjectPtr(), it is impossible to
register duplicated handle.

So, actually, we have to deplicate copy BaseHandle constructor.
But for now, just make we don't register into registry now.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoTemperary revert exception throw at Registry.
Eunki, Hong [Mon, 30 Oct 2023 01:42:20 +0000 (10:42 +0900)]
Temperary revert exception throw at Registry.

Until resolve all kind of apps fix wrong behavior,
let we just print error without exception.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoMake it works on net6.0
Eunki Hong [Thu, 26 Oct 2023 16:48:39 +0000 (01:48 +0900)]
Make it works on net6.0

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 months agoResolve DisposeRecursively crashed when we dispose scrollbase
Eunki, Hong [Fri, 27 Oct 2023 09:47:55 +0000 (18:47 +0900)]
Resolve DisposeRecursively crashed when we dispose scrollbase

Due to some app's implements, ContentView can be disposed before ScrollBase
itself disposed. In this case, ContentView is not null.

So, when we try to call RemovePropertyNotification, it become crashed.

To avoid these cases, let we make DisposeRecursively API makes more safety.

And also, fix some crash issue in PerformanceTest1Page.xaml.cs what
can be problem in future.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoMake NativeImageQueue generate valid url
Eunki Hong [Thu, 26 Oct 2023 10:42:44 +0000 (19:42 +0900)]
Make NativeImageQueue generate valid url

Previously NativeImageQueue.GenerateUrl() binded to
invalid csharp API.

It will make some crash. So let we use valid bind API instead.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 months agoAdd KeepWidgetSize for control widget's size
sunghyun kim [Thu, 26 Oct 2023 02:30:58 +0000 (11:30 +0900)]
Add KeepWidgetSize for control widget's size

WidgetView keep widget instance's size and don't resize even if WidgetView is resized.

6 months agoVersion up nui22249
Eunki, Hong [Wed, 25 Oct 2023 07:32:47 +0000 (16:32 +0900)]
Version up nui22249

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoRemove build warning for Control.Preload()
Eunki Hong [Tue, 24 Oct 2023 14:20:08 +0000 (23:20 +0900)]
Remove build warning for Control.Preload()

We implement View.Preload() API now. So compiler can feel dizzy
which one is Control.Preload() should do.

To avoid this compilation warning, let we add 'new' keyword for it.

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
6 months agoChange Accessibility.cs don't use net6.0 specific function
Eunki, Hong [Tue, 24 Oct 2023 08:26:26 +0000 (17:26 +0900)]
Change Accessibility.cs don't use net6.0 specific function

Let we minimize the net core dependency

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoSupports to set/get full screen sized window
Wonsik Jung [Tue, 24 Oct 2023 07:22:16 +0000 (16:22 +0900)]
Supports to set/get full screen sized window

To support set/get full screen sized window.
The full screen sized window means the window is resized with screen size.
In addition, this window is the z-order is the highest.

6 months agoFlush action implement for LottieAnimationView
Eunki, Hong [Tue, 24 Oct 2023 02:55:19 +0000 (11:55 +0900)]
Flush action implement for LottieAnimationView

Implement Flush action. It will be used when user
want to ensure the Lottie property changed applied sequencly.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoPreload some static values
Eunki, Hong [Tue, 24 Oct 2023 01:47:09 +0000 (10:47 +0900)]
Preload some static values

Since C# initialize static values when that namespace / class access first time,
We need to access some static values at static Preload() timing.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoBug fix when we get ModelNode from Model
Eunki, Hong [Mon, 23 Oct 2023 02:50:27 +0000 (11:50 +0900)]
Bug fix when we get ModelNode from Model

Since View constructor automatically change 'PositionUsesPivotPoint' value as false,
some logic might changed when we Register ModelNode newly.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoAdd an API to set offset for drag window
Taehyub Kim [Wed, 18 Oct 2023 11:07:38 +0000 (20:07 +0900)]
Add an API to set offset for drag window

6 months agoMake View.TooltipText return valid value
Eunki, Hong [Wed, 18 Oct 2023 07:16:27 +0000 (16:16 +0900)]
Make View.TooltipText return valid value

Let we remove useless error message + Make getter return valid setting value
for View.TooltipText property.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
6 months agoMake AddFrameUpdateCallback with root view
Eunki, Hong [Wed, 18 Oct 2023 06:17:35 +0000 (15:17 +0900)]
Make AddFrameUpdateCallback with root view

Previously, we can only add the root view of FrameUpdateCallback as
root layer of window.

Now let we add some API that user can set specific view
for given FrameUpdateCallback will use.

This API will be used when we want to optimize callback behaviour.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>