[APPFW] Implement Team Application C# Interface#7567
[APPFW] Implement Team Application C# Interface#7567newb1e-kim merged 4 commits intoSamsung:mainfrom
Conversation
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
JoonghyunCho
left a comment
There was a problem hiding this comment.
🤖 [AI Review]
PR #7567 — [APPFW] Implement Team Application C# Interface
🔴 Bug: GSourceManager._tizenUIContext is dead code (logic error in Post())
In GSourceManager.cs, the Post() method always uses _tizenContext because context is unconditionally set to IntPtr.Zero and never reassigned:
public static void Post(Action action)
{
IntPtr context = IntPtr.Zero; // always Zero
var sourceContext = context == IntPtr.Zero ? _tizenContext : _tizenUIContext; // always _tizenContext
sourceContext.Post(action, context, _wrapperHandler);
}_tizenUIContext can never be selected. The same dead branch exists in Handler(). If the intent is to dispatch to either a Tizen main-loop context or a UI context depending on a parameter or current thread, the selection logic needs to be implemented. If only one context is needed, _tizenUIContext and the branching should be removed.
🟡 Suggestion: CultureInfoHelper._fileExists is computed once at class load time
private static bool _fileExists = File.Exists(_pathCultureInfoIni);
This static field is evaluated once when the class is first accessed. If the .ini file is created after the application starts, _fileExists will remain false for the process lifetime. Consider calling File.Exists inside GetCultureName on each call (or using lazy initialization) so that late-arriving files are handled correctly.
🟡 Suggestion: Missing newline at end of file
CultureInfoHelper.cs and GSourceManager.cs both lack a trailing newline. This causes noisy diffs and is inconsistent with the rest of the codebase.
🟡 Note: Duplicate PR
PR #7568 appears to contain identical content to this PR (same author, same date, same diff). One of the two should be closed to avoid duplicated review effort.
TeamApplication will create UI with NUI. However, it does not inherit NUIApplication. Instead of inheriting NUIApplcation, it use DALI native in backend. For developes to utilize C# NUI object in TeamApplication, the backend should depend on NUI deeply, require to be friend of the project. Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
|
🤖 [AI Review] — Tizen.Applications.Team: New Package Bug: In IntPtr context = IntPtr.Zero;
var sourceContext = context == IntPtr.Zero ? _tizenContext : _tizenUIContext;The ternary condition is always Bug: Missing Every other unmanaged delegate in this file has Suggestion: Cache the ini dictionary in
Nit: Missing newline at end of file Both |
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
1 similar comment
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
- Implement Interop, Wrapper Class to implement C# Team Application - Add OnCreate Error Handling - When the application start, TeamManager will hold the application instance to guarantee the object alive until exit. - Implement TeamViewApplication Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
Public API ChangedPlease follow the ACR process for the changed API below. Internal API ChangedAdded: 6, Removed: 0, Changed: 0Added+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedDataPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamApplicationInfo::CommonSharedTrustedPath()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonCache()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedData()
+ /// <since_tizen>none</since_tizen
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ System.String Tizen.Applications.TeamDirectoryInfo::CommonSharedTrusted()
|
- Add summary, param, returns, exception, remarks XML doc comments to public API surface of Tizen.Applications.Team module. - Mark public types and members with [EditorBrowsable(EditorBrowsableState.Never)] and inhouse comment line until ACR is completed. Co-authored-by: KimHyeonuk <hyeonuk.kim@samsung.com>
Public API ChangedPlease follow the ACR process for the changed API below. Added: 0, Removed: 5, Changed: 0Removed- /// <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: 121, Removed: 0, Changed: 0 |
Public API ChangedPlease follow the ACR process for the changed API below. Added: 0, Removed: 5, Changed: 0Removed- /// <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: 121, Removed: 0, Changed: 0 |
[Tizen.Applications] Implement Team Application C# Interface
instance to guarantee the object alive until exit.
[NUI] Add Tizen.Application.Team into FriendAssembly
However, it does not inherit NUIApplication. Instead of inheriting
NUIApplcation, it use DALI native in backend. For developes to utilize
C# NUI object in TeamApplication, the backend should depend on NUI
deeply, require to be friend of the project.