[Tizen.Applications] Update Team Application Features#7638
Conversation
API13_MR target currently use libiniparser.so.4, not libiniparser.so.1
…amsung#7597) * [Tizen.Applications] Remove TeamLoop CreateLib Ops - TeamLoop now use app exec path as dynlib - The operation is not required * [Tizen.Applications] Implement Team Launcher dll - Team Launcher dll will be used as team application launcher Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com> --------- Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
* [Tizen.Applications] Move Files, Remove unrequired deps * [Tizen.Applications] Use NUIApplicationInitializer in init step * [Tizen.Applications] Add UIApp Interfaces * [Tizen.Applications] Apply IApplicationInfo and IDirectoryInfo * [Tizen.Applications] Apply IUIApplication in TeamCoreUiApplication * [Tizen.Applications] Implement IUiApplication.Current * [Tizen.Applications] Add GetApplication methods to TeamManager * [Tizen.Applications] Remove Unneccessary Impl * [Tizen.Applications] Add Stacktrace Print in TeamApplication * [Tizen.Applications] Fix Resume/Pause EventHandler * [Tizen.NUI] Apply IUIApplication interfaces to NUIApplication Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
- Team Application model is developed in terms of net6.0 - To apply the patch into API15, fix the targetframework accordingly. Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
- Use NUI.UIContext.Instance.AddIdle & RemoveIdle - Use NUI.UIContext.Instance.GetWindowList
Public API ChangedPlease follow the ACR process for the changed API below. Added: 23, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_AppControlReceived(System.EventHandler`1<Tizen.Applications.AppControlReceivedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_Created(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_DeviceOrientationChanged(System.EventHandler`1<Tizen.Applications.DeviceOrientationEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LocaleChanged(System.EventHandler`1<Tizen.Applications.LocaleChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LowBattery(System.EventHandler`1<Tizen.Applications.LowBatteryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LowMemory(System.EventHandler`1<Tizen.Applications.LowMemoryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_RegionFormatChanged(System.EventHandler`1<Tizen.Applications.RegionFormatChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_Terminated(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_TimeZoneChanged(System.EventHandler`1<Tizen.Applications.TimeZoneChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_AppControlReceived(System.EventHandler`1<Tizen.Applications.AppControlReceivedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_Created(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_DeviceOrientationChanged(System.EventHandler`1<Tizen.Applications.DeviceOrientationEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LocaleChanged(System.EventHandler`1<Tizen.Applications.LocaleChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LowBattery(System.EventHandler`1<Tizen.Applications.LowBatteryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LowMemory(System.EventHandler`1<Tizen.Applications.LowMemoryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_RegionFormatChanged(System.EventHandler`1<Tizen.Applications.RegionFormatChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_Terminated(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_TimeZoneChanged(System.EventHandler`1<Tizen.Applications.TimeZoneChangedEventArgs>)
+ /// <since_tizen>9</since_tizen
+ Tizen.Applications.ResourceControl
+ /// <since_tizen>9</since_tizen
+ System.Boolean Tizen.Applications.ResourceControl::IsAutoClose()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::MaxResourceVersion()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::MinResourceVersion()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::ResourceType()
Internal API ChangedAdded: 120, Removed: 14, Changed: 1 |
There was a problem hiding this comment.
Code Review
This pull request introduces a common interface layer (including IUIApplication, IApplicationInfo, IDirectoryInfo, and IUICoreBackend) to unify standard Tizen NUI applications with the Team application framework. Key changes include refactoring interop definitions into the Tizen.Applications namespace, updating backends to implement the new interfaces, and adding a TeamLauncher utility. Review feedback highlights a compilation error in TeamCoreUiApplication requiring explicit interface casting, a logic error in TeamLauncher argument processing, and opportunities to improve type safety and code style.
|
🤖 [AI Review] Scope checked:
Automated review by AI assistant |
When using TeamUiApplication, although it does not require dali default window, it shows and initializes the window. This patch fix teamloop to hide and set 1,1 to avoid unwanted window shown. Also, fix some type and static analysis issue by AI
Public API ChangedPlease follow the ACR process for the changed API below. Added: 23, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_AppControlReceived(System.EventHandler`1<Tizen.Applications.AppControlReceivedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_Created(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_DeviceOrientationChanged(System.EventHandler`1<Tizen.Applications.DeviceOrientationEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LocaleChanged(System.EventHandler`1<Tizen.Applications.LocaleChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LowBattery(System.EventHandler`1<Tizen.Applications.LowBatteryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_LowMemory(System.EventHandler`1<Tizen.Applications.LowMemoryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_RegionFormatChanged(System.EventHandler`1<Tizen.Applications.RegionFormatChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_Terminated(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.add_TimeZoneChanged(System.EventHandler`1<Tizen.Applications.TimeZoneChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_AppControlReceived(System.EventHandler`1<Tizen.Applications.AppControlReceivedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_Created(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_DeviceOrientationChanged(System.EventHandler`1<Tizen.Applications.DeviceOrientationEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LocaleChanged(System.EventHandler`1<Tizen.Applications.LocaleChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LowBattery(System.EventHandler`1<Tizen.Applications.LowBatteryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_LowMemory(System.EventHandler`1<Tizen.Applications.LowMemoryEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_RegionFormatChanged(System.EventHandler`1<Tizen.Applications.RegionFormatChangedEventArgs>)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_Terminated(System.EventHandler)
+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.NUI.NUIApplication::Tizen.Applications.IUIApplication.remove_TimeZoneChanged(System.EventHandler`1<Tizen.Applications.TimeZoneChangedEventArgs>)
+ /// <since_tizen>9</since_tizen
+ Tizen.Applications.ResourceControl
+ /// <since_tizen>9</since_tizen
+ System.Boolean Tizen.Applications.ResourceControl::IsAutoClose()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::MaxResourceVersion()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::MinResourceVersion()
+ /// <since_tizen>9</since_tizen
+ System.String Tizen.Applications.ResourceControl::ResourceType()
Internal API ChangedAdded: 122, Removed: 14, Changed: 1 |
| UIContext.Instance?.GetDefaultWindow()?.SetPositionSize(new Rectangle(0, 0, 1, 1)); | ||
| UIContext.Instance?.GetDefaultWindow()?.SetTransparency(true); | ||
| UIContext.Instance?.GetDefaultWindow()?.Hide(); |
There was a problem hiding this comment.
🤖 [AI Review]
🟡 Suggestion: UIContext.Instance?.GetDefaultWindow() re-runs a PInvoke + Registry lookup + Interop.BaseHandle.DeleteBaseHandle three times in a row (see UIContext.cs:104-122); cache the window once so the cost is paid only once and a single null guard covers all three operations atomically.
| UIContext.Instance?.GetDefaultWindow()?.SetPositionSize(new Rectangle(0, 0, 1, 1)); | |
| UIContext.Instance?.GetDefaultWindow()?.SetTransparency(true); | |
| UIContext.Instance?.GetDefaultWindow()?.Hide(); | |
| var window = UIContext.Instance?.GetDefaultWindow(); | |
| if (window != null) | |
| { | |
| window.SetPositionSize(new Rectangle(0, 0, 1, 1)); | |
| window.SetTransparency(true); | |
| window.Hide(); | |
| } |
|
🤖 [AI Review] Reviewed — no findings. (delta review of commit Scope checked:
No 🔴 critical issues, no 🟡 suggestions to flag. Automated review — final merge decision rests with human reviewers. |
[Tizen.Applications] Fix wrong library version deps
[Tizen.Applications] Remove TeamLoop CreateLib Op & Create Launcher
[Tizen.Applications] Implement TeamApplication Base Class
[Tizen.Applications] Fix TargetFrameWork net8.0
[Tizen.Applications] Using NUI.UIContext in TeamApplicaiton