platform/core/csapi/tizenfx.git
10 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>
10 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>
10 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>
10 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>
10 months ago[Build] Update docker image version (#5808)
shmin [Thu, 7 Dec 2023 03:22:14 +0000 (12:22 +0900)]
[Build] Update docker image version (#5808)

10 months agoUpdate docker image version (#5801)
shmin [Tue, 5 Dec 2023 10:23:50 +0000 (19:23 +0900)]
Update docker image version (#5801)

10 months ago[NoACR][MachineLearning.Inference] Fix bug using wrong handle
Yelin Jeong [Tue, 5 Dec 2023 08:04:19 +0000 (17:04 +0900)]
[NoACR][MachineLearning.Inference] Fix bug using wrong handle

This patch fixes the bug which use wrong handle.
GetTensorsCount should use TensorsInfo handle instead of TensorsData handle.

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
10 months ago[NUI] version update (22301)
Bowon Ryu [Tue, 5 Dec 2023 07:24:13 +0000 (16:24 +0900)]
[NUI] version update (22301)

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
10 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

10 months ago[NUI] Support RootTranslationOnly option for motion capture data
seungho baek [Tue, 21 Nov 2023 07:27:01 +0000 (16:27 +0900)]
[NUI] Support RootTranslationOnly option for motion capture data

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

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

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
10 months ago[NUI] Added collider mesh support (#5782)
huiyu [Fri, 1 Dec 2023 07:16:30 +0000 (16:16 +0900)]
[NUI] Added collider mesh support (#5782)

* [NUI] 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>
---------

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
Co-authored-by: Adam Bialogonski <adam.b@samsung.com>
10 months ago[Packagemanager] Fix Tizen.Applications.Package for performance (#5778)
jeremy-jang [Tue, 5 Dec 2023 02:22:50 +0000 (11:22 +0900)]
[Packagemanager] Fix Tizen.Applications.Package for performance (#5778)

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>
Co-authored-by: pjh9216 <jh9216.park@samsung.com>
10 months ago[Bluetooth] Fix BluetoothProfileType enum mismatch issue (#5785)
Wootak Jung [Mon, 4 Dec 2023 23:51:57 +0000 (08:51 +0900)]
[Bluetooth] Fix BluetoothProfileType enum mismatch issue (#5785)

BluetoothProfileType enum does not match native bt_profile_e enum.

Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
11 months agoFix defect that is detected by static analisys tool
wn.jang [Mon, 4 Dec 2023 09:40:12 +0000 (18:40 +0900)]
Fix defect that is detected by static analisys tool

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.

11 months agoDeprecating Attach Panel APIs (#5768) accepted/tizen/unified/20231205.024657
tarunkumarmahay1999 [Thu, 30 Nov 2023 02:41:23 +0000 (08:11 +0530)]
Deprecating Attach Panel APIs (#5768)

Co-authored-by: Jay Cho <chojoong@gmail.com>
11 months agoNUI version 22300 (#5779)
huiyu [Wed, 29 Nov 2023 05:38:24 +0000 (14:38 +0900)]
NUI version 22300 (#5779)

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
11 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.

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

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
11 months ago[NUI] version update (22253)
EverLEEst(SangHyeon Lee) [Wed, 22 Nov 2023 07:06:08 +0000 (16:06 +0900)]
[NUI] version update (22253)

11 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.

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

11 months ago[NUI] Add ModelPivotPoint property
seungho baek [Wed, 15 Nov 2023 14:31:49 +0000 (23:31 +0900)]
[NUI] Add ModelPivotPoint property

Signed-off-by: seungho baek <sbsh.baek@samsung.com>
11 months ago[Multimedia] Fix rotation issue for portrait mode (#5767)
Haesu Gwon [Tue, 21 Nov 2023 08:38:44 +0000 (17:38 +0900)]
[Multimedia] Fix rotation issue for portrait mode (#5767)

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

11 months agoRevert token
Jay Cho [Tue, 21 Nov 2023 01:58:17 +0000 (10:58 +0900)]
Revert token

11 months agoRevert "Update nightly-release.yml (#5758)" (#5761)
Jay Cho [Tue, 21 Nov 2023 01:46:45 +0000 (10:46 +0900)]
Revert "Update nightly-release.yml (#5758)" (#5761)

This reverts commit f75ea3e4ee4930dc6c5a6248f82feb09b73791f0.

11 months agoUpdate nightly-release.yml (#5758)
Jay Cho [Fri, 17 Nov 2023 08:20:14 +0000 (17:20 +0900)]
Update nightly-release.yml (#5758)

11 months agoUpdate token
Jay Cho [Fri, 17 Nov 2023 08:08:13 +0000 (17:08 +0900)]
Update token

11 months agoRevert "Deprecating Attach Panel APIs (#4591)" (#5757)
tarunkumarmahay1999 [Fri, 17 Nov 2023 07:38:55 +0000 (13:08 +0530)]
Revert "Deprecating Attach Panel APIs (#4591)" (#5757)

This reverts commit b515cba3897ff07d0b25849a36558d2549d64905.

Co-authored-by: Jay Cho <chojoong@gmail.com>
11 months agoUpdate token
Jay Cho [Fri, 17 Nov 2023 06:39:34 +0000 (15:39 +0900)]
Update token

11 months agoRevert "[Actions] Update token to fine-grained (#5716)" (#5755)
Jay Cho [Thu, 16 Nov 2023 08:40:47 +0000 (17:40 +0900)]
Revert "[Actions] Update token to fine-grained (#5716)" (#5755)

This reverts commit 2ab8c8e0cd30bd40cd6dbddb35411a4fe572a067.

11 months ago[NUI] version up (22252)
Jaehyun Cho [Wed, 15 Nov 2023 07:21:29 +0000 (16:21 +0900)]
[NUI] version up (22252)

11 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>
11 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>
11 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

11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 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>
11 months ago[Build] Modify the script that generates the TFM list (#5704)
JongHeonChoi [Mon, 13 Nov 2023 02:05:34 +0000 (11:05 +0900)]
[Build] Modify the script that generates the TFM list (#5704)

11 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>
11 months agoUpdate README.md
Jay Cho [Fri, 10 Nov 2023 05:54:37 +0000 (14:54 +0900)]
Update README.md

11 months agoUpdate README.md
Jay Cho [Fri, 10 Nov 2023 05:53:36 +0000 (14:53 +0900)]
Update README.md

11 months ago[TizenFX] Update nuspec dependencies (#5692)
Jay Cho [Wed, 8 Nov 2023 02:27:46 +0000 (11:27 +0900)]
[TizenFX] Update nuspec dependencies (#5692)

* Update nuspec dependencies

* Remove dependency for default TFM, net6.0-tizen

* Update targetFramework id properly

* Update the group sequence

11 months ago[Actions] Fix Deploy to push GitHub Packages (#5729)
Jay Cho [Wed, 8 Nov 2023 01:23:44 +0000 (10:23 +0900)]
[Actions] Fix Deploy to push GitHub Packages (#5729)

11 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>
11 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

11 months ago[Actions] Update token to fine-grained (#5716)
Jay Cho [Mon, 6 Nov 2023 13:56:12 +0000 (22:56 +0900)]
[Actions] Update token to fine-grained (#5716)

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

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

11 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>
11 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>
11 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>
11 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>
11 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.

11 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

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

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

12 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.

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

12 months ago[Build] the dotnet_resolving.info file has been renamed (#5687)
JongHeonChoi [Tue, 31 Oct 2023 05:46:06 +0000 (14:46 +0900)]
[Build] the dotnet_resolving.info file has been renamed (#5687)

12 months ago[Build] Create vconf related to .NET as a file in RO location (#5679)
JongHeonChoi [Tue, 31 Oct 2023 04:12:28 +0000 (13:12 +0900)]
[Build] Create vconf related to .NET as a file in RO location (#5679)

12 months ago[NUI] Version up nui22250
Taehyub Kim [Mon, 30 Oct 2023 12:18:25 +0000 (21:18 +0900)]
[NUI] Version up nui22250

12 months ago[NUI] Do not register when we try to copy same handle
Eunki, Hong [Mon, 30 Oct 2023 03:21:46 +0000 (12:21 +0900)]
[NUI] 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>
12 months ago[NUI] Make DaliAccessibilityDetachAccessibleObject called at main thread
Eunki, Hong [Mon, 30 Oct 2023 04:49:51 +0000 (13:49 +0900)]
[NUI] 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>
12 months ago[NUI] Detach NUIViewAccessible in View.Dispose()
Artur Świgoń [Thu, 19 Oct 2023 15:53:40 +0000 (17:53 +0200)]
[NUI] Detach NUIViewAccessible in View.Dispose()

The application may crash if the View is disposed but the Accessibility
infrastructure calls one of the View methods. Detaching the
NUIViewAccessible proxy object in View.Dispose() should prevent that.

12 months ago[NUI] Temperary revert exception throw at Registry.
Eunki, Hong [Mon, 30 Oct 2023 01:42:20 +0000 (10:42 +0900)]
[NUI] 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>
12 months ago[NUI] Resolve DisposeRecursively crashed when we dispose scrollbase
Eunki, Hong [Fri, 27 Oct 2023 09:47:55 +0000 (18:47 +0900)]
[NUI] 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>
12 months ago[NUI] Make it works on net6.0
Eunki Hong [Thu, 26 Oct 2023 16:48:39 +0000 (01:48 +0900)]
[NUI] Make it works on net6.0

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
12 months ago[NUI] Make NativeImageQueue generate valid url
Eunki Hong [Thu, 26 Oct 2023 10:42:44 +0000 (19:42 +0900)]
[NUI] 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>
12 months ago[NUI] Add KeepWidgetSize for control widget's size
sunghyun kim [Thu, 26 Oct 2023 02:30:58 +0000 (11:30 +0900)]
[NUI] Add KeepWidgetSize for control widget's size

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

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

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
12 months ago[NUI] Change Accessibility.cs don't use net6.0 specific function
Eunki, Hong [Tue, 24 Oct 2023 08:26:26 +0000 (17:26 +0900)]
[NUI] 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>
12 months ago[NUI] Fix some SVACE issues.
zhouhao02 [Wed, 11 Oct 2023 06:05:52 +0000 (14:05 +0800)]
[NUI] Fix some SVACE issues.

12 months ago[NUI] Make View.TooltipText return valid value
Eunki, Hong [Wed, 18 Oct 2023 07:16:27 +0000 (16:16 +0900)]
[NUI] 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>
12 months ago[NUI.Components] Remove build warning for Control.Preload()
Eunki Hong [Tue, 24 Oct 2023 14:20:08 +0000 (23:20 +0900)]
[NUI.Components] 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>
12 months ago[NUI] Supports to set/get full screen sized window
Wonsik Jung [Tue, 24 Oct 2023 07:22:16 +0000 (16:22 +0900)]
[NUI] 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.

12 months ago[NUI] Preload some static values
Eunki, Hong [Tue, 24 Oct 2023 01:47:09 +0000 (10:47 +0900)]
[NUI] 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>
12 months ago[NUI.Scene3D] Bug fix when we get ModelNode from Model
Eunki, Hong [Mon, 23 Oct 2023 02:50:27 +0000 (11:50 +0900)]
[NUI.Scene3D] 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>
12 months ago[NUI] Flush action implement for LottieAnimationView
Eunki, Hong [Tue, 24 Oct 2023 02:55:19 +0000 (11:55 +0900)]
[NUI] 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>
12 months ago[NUI] Public RemoveBinding and ClearBinding apis
Xianbing Teng [Tue, 17 Oct 2023 10:49:49 +0000 (18:49 +0800)]
[NUI] Public RemoveBinding and ClearBinding apis

12 months ago[NUI] Add an API to set offset for drag window
Taehyub Kim [Wed, 18 Oct 2023 11:07:38 +0000 (20:07 +0900)]
[NUI] Add an API to set offset for drag window

12 months ago[NUI] Make AddFrameUpdateCallback with root view
Eunki, Hong [Wed, 18 Oct 2023 06:17:35 +0000 (15:17 +0900)]
[NUI] 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>
12 months ago[NUI] Resolve registry issue for RenderTaskList
Eunki, Hong [Tue, 17 Oct 2023 06:24:58 +0000 (15:24 +0900)]
[NUI] Resolve registry issue for RenderTaskList

After patch #5595 merged, there was some hidden bugs occured.
This PR is one of portential bug fix.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
12 months ago[NUI] Fix the SVACE issue.
zhouhao02 [Tue, 17 Oct 2023 02:29:02 +0000 (10:29 +0800)]
[NUI] Fix the SVACE issue.

12 months ago[NUI.Wearable] Remove build warning
Eunki Hong [Sun, 15 Oct 2023 01:13:11 +0000 (10:13 +0900)]
[NUI.Wearable] Remove build warning

- Add comment for public API
- Remove some unused private value/method

Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
12 months ago[NUI][AT-SPI] Fix Accessibility.Say interop (#5612)
Artur Świgoń [Mon, 16 Oct 2023 09:31:42 +0000 (11:31 +0200)]
[NUI][AT-SPI] Fix Accessibility.Say interop (#5612)

This is one of the oldest interops and was actually problematic for
multiple reasons; the return type didn't match and the third parameter
was expected to have exactly the same value in every invocation. While
fixing these issues, parsing the status string was moved from C++ to C#
for readability.

Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
12 months ago[NUI] Resolve registry issue for CanvasView Gradient
Eunki, Hong [Fri, 13 Oct 2023 04:40:56 +0000 (13:40 +0900)]
[NUI] Resolve registry issue for CanvasView Gradient

Since we always try to register to Registry for Gradient case,
there can make some error for Shape use case.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
12 months ago[NUI] Fix Registry exception for custom view wrapper
Eunki Hong [Thu, 12 Oct 2023 14:24:45 +0000 (23:24 +0900)]
[NUI] Fix Registry exception for custom view wrapper

1. PanGesture from Accessibility create new handle in
dali csharp side. We need to have memory ownership, but
don't need to register it on NUI side. We can ignore it.

2. For Animation and StyleManager, it is possible to use
that 'already registered' BaseHandle. But in this case,
we should not dispose it by our self.

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