diff --git a/src/Tizen.Applications.Common/AssemblyAttr.cs b/src/Tizen.Applications.Common/AssemblyAttr.cs
new file mode 100644
index 00000000000..7de83ac117c
--- /dev/null
+++ b/src/Tizen.Applications.Common/AssemblyAttr.cs
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Tizen.Applications.Team, " + PublicKey.Value)]
+
+internal static class PublicKey
+{
+ internal const string Value =
+ "PublicKey=0024000004800000940000000602000000240000525341310004000001000100d115b100424841" +
+ "6b12d21b626cfb17149c9303fe394693fd3b32d7872e89559a4fa96c98110c2e62eea48aca693b" +
+ "ddbe17094ca8ea2e2cd79970ca590fb672b9b371b5d7002076817321f62d6483ea50c56dbd1f37" +
+ "b185a4c24c47718876e6ae6d266508c551170d4cbdda3f82edaff9405ee3d7857282d8269e8e518d2f0fb2";
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Common/Tizen.Applications.CoreBackend/IUICoreBackend.cs b/src/Tizen.Applications.Common/Tizen.Applications.CoreBackend/IUICoreBackend.cs
new file mode 100644
index 00000000000..4da1ff371a4
--- /dev/null
+++ b/src/Tizen.Applications.Common/Tizen.Applications.CoreBackend/IUICoreBackend.cs
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.ComponentModel;
+using Tizen.Applications.CoreBackend;
+
+namespace Tizen.Applications.CoreBackend
+{
+ ///
+ /// Defines the common contract for NUI-based application backends.
+ ///
+ ///
+ /// This interface abstracts the shared functionality between NUICoreBackend
+ /// and TeamUICoreBackend, enabling polymorphic access to event handler registration.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public interface IUICoreBackend : IDisposable
+ {
+ ///
+ /// Adds an event handler for the specified event type.
+ ///
+ /// The type of event.
+ /// The handler method without arguments.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void AddEventHandler(EventType evType, Action handler);
+
+ ///
+ /// Adds an event handler for the specified event type with typed event arguments.
+ ///
+ /// The type used in the handler method.
+ /// The type of event.
+ /// The handler method with a type argument.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void AddEventHandler(EventType evType, Action handler) where TEventArgs : EventArgs;
+ }
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Common/Tizen.Applications/ApplicationInfo.cs b/src/Tizen.Applications.Common/Tizen.Applications/ApplicationInfo.cs
index 24e060cb0b8..23352250d90 100644
--- a/src/Tizen.Applications.Common/Tizen.Applications/ApplicationInfo.cs
+++ b/src/Tizen.Applications.Common/Tizen.Applications/ApplicationInfo.cs
@@ -24,7 +24,7 @@ namespace Tizen.Applications
/// This class provides methods and properties to get information of the application.
///
/// 3
- public class ApplicationInfo : IDisposable
+ public class ApplicationInfo : IDisposable, IApplicationInfo
{
private const string LogTag = "Tizen.Applications";
private bool _disposed = false;
diff --git a/src/Tizen.Applications.Common/Tizen.Applications/DirectoryInfo.cs b/src/Tizen.Applications.Common/Tizen.Applications/DirectoryInfo.cs
index d9ba67bdf8f..b47333ad551 100644
--- a/src/Tizen.Applications.Common/Tizen.Applications/DirectoryInfo.cs
+++ b/src/Tizen.Applications.Common/Tizen.Applications/DirectoryInfo.cs
@@ -24,7 +24,7 @@ namespace Tizen.Applications
/// Represents directory information of the application.
///
/// 3
- public class DirectoryInfo
+ public class DirectoryInfo : IDirectoryInfo
{
private string _dataPath;
private string _cachePath;
diff --git a/src/Tizen.Applications.Common/Tizen.Applications/IApplicationInfo.cs b/src/Tizen.Applications.Common/Tizen.Applications/IApplicationInfo.cs
new file mode 100644
index 00000000000..cfc9952265c
--- /dev/null
+++ b/src/Tizen.Applications.Common/Tizen.Applications/IApplicationInfo.cs
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+
+namespace Tizen.Applications
+{
+ ///
+ /// Defines the common contract for application information.
+ ///
+ ///
+ /// This interface abstracts the shared properties between
+ /// and .
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public interface IApplicationInfo : IDisposable
+ {
+ ///
+ /// Gets the application ID.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ApplicationId { get; }
+
+ ///
+ /// Gets the package ID of the application.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string PackageId { get; }
+
+ ///
+ /// Gets the label of the application.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string Label { get; }
+
+ ///
+ /// Gets the executable path of the application.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExecutablePath { get; }
+
+ ///
+ /// Gets the absolute path to the icon image.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string IconPath { get; }
+
+ ///
+ /// Gets the application type name.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ApplicationType { get; }
+
+ ///
+ /// Gets the application component type.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ ApplicationComponentType ComponentType { get; }
+
+ ///
+ /// Gets the application's metadata.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IDictionary Metadata { get; }
+
+ ///
+ /// Gets a value indicating whether the application is not displayed on the launcher.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ bool IsNoDisplay { get; }
+
+ ///
+ /// Gets a value indicating whether the application is launched automatically on system boot.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ bool IsOnBoot { get; }
+
+ ///
+ /// Gets a value indicating whether the application is preloaded on the device.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ bool IsPreload { get; }
+
+ ///
+ /// Gets the categories the application belongs to.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IEnumerable Categories { get; }
+
+ ///
+ /// Gets the shared data path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedDataPath { get; }
+
+ ///
+ /// Gets the shared resource path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedResourcePath { get; }
+
+ ///
+ /// Gets the shared trusted path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedTrustedPath { get; }
+
+ ///
+ /// Gets the external shared data path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExternalSharedDataPath { get; }
+
+ ///
+ /// Gets the resource controls.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IEnumerable ResourceControls { get; }
+
+ ///
+ /// Gets the common shared data path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonSharedDataPath { get; }
+
+ ///
+ /// Gets the common shared trusted path.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonSharedTrustedPath { get; }
+
+ ///
+ /// Gets the localized label of the application for the given locale.
+ ///
+ /// The locale string.
+ /// The localized label string.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string GetLocalizedLabel(string locale);
+ }
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Common/Tizen.Applications/IDirectoryInfo.cs b/src/Tizen.Applications.Common/Tizen.Applications/IDirectoryInfo.cs
new file mode 100644
index 00000000000..7e7afc491ad
--- /dev/null
+++ b/src/Tizen.Applications.Common/Tizen.Applications/IDirectoryInfo.cs
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.ComponentModel;
+
+namespace Tizen.Applications
+{
+ ///
+ /// Defines the common contract for directory information.
+ ///
+ ///
+ /// This interface abstracts the shared properties between
+ /// and .
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public interface IDirectoryInfo
+ {
+ ///
+ /// Gets the absolute path to the application's data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string Data { get; }
+
+ ///
+ /// Gets the absolute path to the application's cache directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string Cache { get; }
+
+ ///
+ /// Gets the absolute path to the application resource directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string Resource { get; }
+
+ ///
+ /// Gets the absolute path to the application's shared data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedData { get; }
+
+ ///
+ /// Gets the absolute path to the application's shared resource directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedResource { get; }
+
+ ///
+ /// Gets the absolute path to the application's shared trusted directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string SharedTrusted { get; }
+
+ ///
+ /// Gets the absolute path to the application's external data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExternalData { get; }
+
+ ///
+ /// Gets the absolute path to the application's external cache directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExternalCache { get; }
+
+ ///
+ /// Gets the absolute path to the application's external shared data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExternalSharedData { get; }
+
+ ///
+ /// Gets the absolute path to the application's TEP(Tizen Expansion Package) directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string ExpansionPackageResource { get; }
+
+ ///
+ /// Gets the absolute path to the application's common data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonData { get; }
+
+ ///
+ /// Gets the absolute path to the application's common cache directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonCache { get; }
+
+ ///
+ /// Gets the absolute path to the application's common shared data directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonSharedData { get; }
+
+ ///
+ /// Gets the absolute path to the application's common shared trusted directory.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string CommonSharedTrusted { get; }
+
+ ///
+ /// Gets the absolute path to the resource directory allowed by resource control for the given resource type.
+ ///
+ /// The resource type.
+ /// The path to the allowed resource directory.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string GetResourceControlAllowedResource(string resourceType);
+
+ ///
+ /// Gets the absolute path to the global resource directory by resource control for the given resource type.
+ ///
+ /// The resource type.
+ /// The path to the global resource directory.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ string GetResourceControlGlobalResource(string resourceType);
+ }
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/CultureInfoHelper.cs b/src/Tizen.Applications.Team/CultureInfoHelper.cs
deleted file mode 100644
index 5ca0e624ac1..00000000000
--- a/src/Tizen.Applications.Team/CultureInfoHelper.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.IO;
-using System.Runtime.InteropServices;
-
-namespace Tizen.Applications
-{
- ///
- /// Resolves culture names from the platform-provided CultureInfo INI file.
- ///
- internal static class CultureInfoHelper
- {
- private const string _pathCultureInfoIni = "/usr/share/dotnet.tizen/framework/i18n/CultureInfo.ini";
- private static bool _fileExists = File.Exists(_pathCultureInfoIni);
-
- public static string GetCultureName(string locale)
- {
- if (!_fileExists)
- {
- return string.Empty;
- }
-
- IntPtr dictionary = Interop.LibIniParser.Load(_pathCultureInfoIni);
- if (dictionary == IntPtr.Zero)
- {
- return string.Empty;
- }
-
- string cultureName = string.Empty;
-#pragma warning disable CA1308
- string key = "CultureInfo:" + locale.ToLowerInvariant();
-#pragma warning restore CA1308
- IntPtr value = Interop.LibIniParser.GetString(dictionary, key, IntPtr.Zero);
- if (value != IntPtr.Zero)
- {
- cultureName = Marshal.PtrToStringAnsi(value);
- }
-
- Interop.LibIniParser.FreeDict(dictionary);
- return cultureName;
- }
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/GSourceManager.cs b/src/Tizen.Applications.Team/GSourceManager.cs
deleted file mode 100644
index d7b1358621e..00000000000
--- a/src/Tizen.Applications.Team/GSourceManager.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Concurrent;
-
-namespace Tizen.Applications
-{
- ///
- /// Posts actions onto the GLib main loop used by the Team application.
- ///
- internal static class GSourceManager
- {
- private static readonly GSourceContext _tizenContext = new GSourceContext();
- private static readonly GSourceContext _tizenUIContext = new GSourceContext();
- private static readonly Interop.Glib.GSourceFunc _wrapperHandler = new Interop.Glib.GSourceFunc(Handler);
-
- public static void Post(Action action)
- {
- IntPtr context = IntPtr.Zero;
- var sourceContext = context == IntPtr.Zero ? _tizenContext : _tizenUIContext;
- sourceContext.Post(action, context, _wrapperHandler);
- }
-
- private static bool Handler(IntPtr userData)
- {
- var sourceContext = userData == IntPtr.Zero ? _tizenContext : _tizenUIContext;
- return sourceContext.ProcessQueue();
- }
- }
-
- ///
- /// Holds the GLib source state and action queue for a single main loop context.
- ///
- internal class GSourceContext
- {
- private readonly ConcurrentQueue _actionQueue = new ConcurrentQueue();
- private readonly object _lock = new object();
- private IntPtr _source = IntPtr.Zero;
-
- public void Post(Action action, IntPtr context, Interop.Glib.GSourceFunc handler)
- {
- _actionQueue.Enqueue(action);
-
- lock (_lock)
- {
- if (_source != IntPtr.Zero)
- {
- return;
- }
-
- _source = Interop.Glib.IdleSourceNew();
- Interop.Glib.SourceSetCallback(_source, handler, context, IntPtr.Zero);
- _ = Interop.Glib.SourceAttach(_source, context);
- Interop.Glib.SourceUnref(_source);
- }
- }
-
- public bool ProcessQueue()
- {
- if (_actionQueue.TryDequeue(out var action))
- {
- action?.Invoke();
- }
-
- lock (_lock)
- {
- if (!_actionQueue.IsEmpty)
- {
- return true;
- }
-
- _source = IntPtr.Zero;
- }
-
- return false;
- }
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.ApplicationManager.cs b/src/Tizen.Applications.Team/Interop/Interop.ApplicationManager.cs
index 24d37b61319..3fd89a07227 100755
--- a/src/Tizen.Applications.Team/Interop/Interop.ApplicationManager.cs
+++ b/src/Tizen.Applications.Team/Interop/Interop.ApplicationManager.cs
@@ -16,389 +16,105 @@
using System;
using System.Runtime.InteropServices;
-
using Tizen.Internals;
-internal static partial class Interop
-{
- internal static partial class ApplicationManager
+namespace Tizen.Applications {
+ internal static partial class Interop
{
- internal enum ErrorCode
- {
- None = Tizen.Internals.Errors.ErrorCode.None,
- InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
- OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
- IoError = Tizen.Internals.Errors.ErrorCode.IoError,
- NoSuchApp = -0x01110000 | 0x01,
- DbFailed = -0x01110000 | 0x03,
- InvalidPackage = -0x01110000 | 0x04,
- AppNoRunning = -0x01110000 | 0x05,
- RequestFailed = -0x01110000 | 0x06,
- PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied
- }
-
- internal enum AppContextEvent
- {
- Launched = 0,
- Terminated = 1
- }
-
- internal enum AppManagerEventStatusType
- {
- All = 0x00,
- Enable = 0x01,
- Disable = 0x02
- }
-
- internal enum AppManagerEventType
- {
- Enable = 0,
- Disable = 1
- }
-
- internal enum AppManagerEventState
+ internal static partial class ApplicationManager
{
- Started = 0,
- Completed = 1,
- Failed = 2
+ internal enum ErrorCode
+ {
+ None = Tizen.Internals.Errors.ErrorCode.None,
+ InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
+ OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
+ IoError = Tizen.Internals.Errors.ErrorCode.IoError,
+ NoSuchApp = -0x01110000 | 0x01,
+ DbFailed = -0x01110000 | 0x03,
+ InvalidPackage = -0x01110000 | 0x04,
+ AppNoRunning = -0x01110000 | 0x05,
+ RequestFailed = -0x01110000 | 0x06,
+ PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied
+ }
+
+ internal enum AppInfoAppComponentType
+ {
+ UiApp = 0,
+ ServiceApp = 1,
+ WidgetApp = 2,
+ WatchApp = 3
+ }
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ internal delegate bool AppInfoMetadataCallback(string key, string value, IntPtr userData);
+ //bool(* app_info_metadata_cb )(const char *metadata_key, const char *metadata_value, void *user_data)
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ internal delegate bool AppInfoCategoryCallback(string category, IntPtr userData);
+ //bool (*app_info_category_cb) (const char *category, void *user_data)
+
+ internal delegate bool AppInfoResControlCallback(string resType, string minResVersion, string maxResVersion, string autoClose, IntPtr userUdata);
+ //bool (*app_info_res_control_cb) (const char *res_type, const char *min_res_version, const char *max_res_version, const char *auto_close, void *user_data);
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_app_info")]
+ internal static extern ErrorCode AppManagerGetAppInfo(string applicationId, out IntPtr handle);
+ //int app_manager_get_app_info(const char * app_id, app_info_h * app_info)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_destroy")]
+ internal static extern ErrorCode AppInfoDestroy(IntPtr handle);
+ //int app_info_destroy (app_info_h app_info);
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_package")]
+ internal static extern ErrorCode AppInfoGetPackage(IntPtr handle, out string package);
+ //int app_info_get_package (app_info_h app_info, char **package)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_label")]
+ internal static extern ErrorCode AppInfoGetLabel(IntPtr handle, out string label);
+ //int app_info_get_label (app_info_h app_info, char **label);
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_exec")]
+ internal static extern ErrorCode AppInfoGetExec(IntPtr handle, out string exec);
+ //int app_info_get_exec (app_info_h app_info, char **exec);
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_icon")]
+ internal static extern ErrorCode AppInfoGetIcon(IntPtr handle, out string path);
+ //int app_info_get_icon (app_info_h app_info, char **path)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_type")]
+ internal static extern ErrorCode AppInfoGetType(IntPtr handle, out string type);
+ //int app_info_get_type (app_info_h app_info, char **type)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_app_component_type")]
+ internal static extern ErrorCode AppInfoGetAppComponentType(IntPtr handle, out AppInfoAppComponentType type);
+ //int app_info_get_app_component_type(app_info_h app_info, app_info_app_component_type_e *type)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_metadata")]
+ internal static extern ErrorCode AppInfoForeachMetadata(IntPtr handle, AppInfoMetadataCallback callback, IntPtr userData);
+ //int app_info_foreach_metadata(app_info_h app_info, app_info_metadata_cb callback, void *user_data)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_nodisplay")]
+ internal static extern ErrorCode AppInfoIsNodisplay(IntPtr handle, out bool noDisplay);
+ //int app_info_is_nodisplay (app_info_h app_info, bool *nodisplay)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_onboot")]
+ internal static extern ErrorCode AppInfoIsOnBoot(IntPtr handle, out bool onBoot);
+ //int app_info_is_onboot (app_info_h app_info, bool *onboot)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_preload")]
+ internal static extern ErrorCode AppInfoIsPreLoad(IntPtr handle, out bool preLoaded);
+ //int app_info_is_preload (app_info_h app_info, bool *preload)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_category")]
+ internal static extern ErrorCode AppInfoForeachCategory(IntPtr handle, AppInfoCategoryCallback callback, IntPtr userData);
+ //int app_info_foreach_category(app_info_h app_info, app_info_category_cb callback, void *user_data)
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_localed_label")]
+ internal static extern ErrorCode AppInfoGetLocaledLabel(string applicationId, string locale, out string label);
+ //int app_info_get_localed_label (const char *app_id, const char *locale, char **label);
+
+ [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_res_control")]
+ internal static extern ErrorCode AppInfoForeachResControl(IntPtr handle, AppInfoResControlCallback callback, IntPtr userData);
}
-
- internal enum AppInfoAppComponentType
- {
- UiApp = 0,
- ServiceApp = 1,
- WidgetApp = 2,
- WatchApp = 3
- }
-
- internal enum AppLifecycleState
- {
- Initialized = 0,
- Created = 1,
- Resumed = 2,
- Paused = 3,
- Destroyed = 4
- }
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void AppManagerLifecycleStateChangedCallback(string appId, int pid, AppLifecycleState state, bool hasFocus, IntPtr userData);
- //void (*app_manager_lifecycle_state_changed_cb)(const char *app_id, pid_t pid, app_manager_lifecycle_state_e state, bool has_focus, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void AppManagerEventCallback(string appType, string appId, AppManagerEventType eventType, AppManagerEventState eventState, IntPtr eventHandle, IntPtr userData);
- //void(* app_manager_event_cb)(const char *type, const char *app_id, app_manager_event_type_e event_type, app_manager_event_state_e event_state, app_manager_event_h handle, void *user_data)
-
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate void AppManagerAppContextEventCallback(IntPtr handle, AppContextEvent state, IntPtr userData);
- //void(* app_manager_app_context_event_cb)(app_context_h app_context, app_context_event_e event, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool AppManagerAppInfoCallback(IntPtr handle, IntPtr userData);
- //bool(* app_manager_app_info_cb )(app_info_h app_info, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool AppManagerAppContextCallback(IntPtr handle, IntPtr userData);
- //bool(* app_manager_app_context_cb)(app_context_h app_context, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool AppInfoFilterCallback(IntPtr handle, IntPtr userData);
- //bool(* app_info_filter_cb )(app_info_h app_info, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool AppInfoMetadataCallback(string key, string value, IntPtr userData);
- //bool(* app_info_metadata_cb )(const char *metadata_key, const char *metadata_value, void *user_data)
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool AppInfoCategoryCallback(string category, IntPtr userData);
- //bool (*app_info_category_cb) (const char *category, void *user_data)
-
- internal delegate bool AppInfoResControlCallback(string resType, string minResVersion, string maxResVersion, string autoClose, IntPtr userUdata);
- //bool (*app_info_res_control_cb) (const char *res_type, const char *min_res_version, const char *max_res_version, const char *auto_close, void *user_data);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_set_app_context_event_cb")]
- internal static extern ErrorCode AppManagerSetAppContextEvent(AppManagerAppContextEventCallback callback, IntPtr userData);
- //int app_manager_set_app_context_event_cb( app_manager_app_context_event_cb callback, void * user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_unset_app_context_event_cb")]
- internal static extern void AppManagerUnSetAppContextEvent();
- //void app_manager_unset_app_context_event_cb (void);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_set_lifecycle_state_changed_cb")]
- internal static extern ErrorCode AppManagerSetLifecycleStateChangedCb(AppManagerLifecycleStateChangedCallback callback, IntPtr userData);
- //int app_manager_set_lifecycle_state_changed_cb(app_manager_lifecycle_state_changed_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_unset_lifecycle_state_changed_cb")]
- internal static extern void AppManagerUnsetLifecycleStateChangedCb();
- //void app_manager_unset_lifecycle_state_changed_cb(void)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_add_lifecycle_state_changed_cb")]
- internal static extern ErrorCode AppManagerAddLifecycleStateChangedCb(
- AppManagerLifecycleStateChangedCallback callback, IntPtr userData, out IntPtr handle);
- // int app_manager_add_lifecycle_state_changed_cb(app_manager_lifecycle_state_changed_cb callback,
- // void *user_data, app_manager_lifecycle_noti_h *handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_remove_lifecycle_state_changed_cb")]
- internal static extern ErrorCode AppManagerRemoveLifecycleStateChangedCb(IntPtr handle);
- // int app_manager_remove_lifecycle_state_changed_cb(app_manager_lifecycle_noti_h handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_foreach_running_app_context")]
- internal static extern ErrorCode AppManagerForeachRunningAppContext(AppManagerAppContextCallback callback, IntPtr userData);
- //int app_manager_foreach_running_app_context(app_manager_app_context_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_foreach_app_context")]
- internal static extern ErrorCode AppManagerForeachAppContext(AppManagerAppContextCallback callback, IntPtr userData);
- //int app_manager_foreach_app_context(app_manager_app_context_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_app_context")]
- internal static extern ErrorCode AppManagerGetAppContext(string applicationId, out IntPtr handle);
- //int app_manager_get_app_context(const char* app_id, app_context_h *app_context);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_app_id")]
- internal static extern ErrorCode AppManagerGetAppId(int processId, out string applicationId);
- //int app_manager_get_app_id (pid_t pid, char **appid);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_is_running")]
- internal static extern ErrorCode AppManagerIsRunning(string applicationId, out bool running);
- //int app_manager_is_running (const char *appid, bool *running);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_resume_app")]
- internal static extern ErrorCode AppManagerResumeApp(IntPtr handle);
- //int app_manager_resume_app (app_context_h handle);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_request_terminate_bg_app")]
- internal static extern ErrorCode AppManagerRequestTerminateBgApp(IntPtr handle);
- //int app_manager_request_terminate_bg_app (app_context_h handle);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_foreach_app_info")]
- internal static extern ErrorCode AppManagerForeachAppInfo(AppManagerAppInfoCallback callback, IntPtr userData);
- //int app_manager_foreach_app_info(app_manager_app_info_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_app_info")]
- internal static extern ErrorCode AppManagerGetAppInfo(string applicationId, out IntPtr handle);
- //int app_manager_get_app_info(const char * app_id, app_info_h * app_info)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_shared_data_path")]
- internal static extern ErrorCode AppManagerGetSharedDataPath(string applicationId, out string path);
- //int app_manager_get_shared_data_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_shared_resource_path")]
- internal static extern ErrorCode AppManagerGetSharedResourcePath(string applicationId, out string path);
- //int app_manager_get_shared_resource_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_shared_trusted_path")]
- internal static extern ErrorCode AppManagerGetSharedTrustedPath(string applicationId, out string path);
- //int app_manager_get_shared_trusted_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_common_shared_data_path")]
- internal static extern ErrorCode AppManagerGetCommonSharedDataPath(string applicationId, out string path);
- //int app_manager_get_common_shared_data_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_common_shared_trusted_path")]
- internal static extern ErrorCode AppManagerGetCommonSharedTrustedPath(string applicationId, out string path);
- //int app_manager_get_common_shared_trusted_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_external_shared_data_path")]
- internal static extern ErrorCode AppManagerGetExternalSharedDataPath(string applicationId, out string path);
- //int app_manager_get_external_shared_data_path (const char *appid, char **path);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_event_create")]
- internal static extern ErrorCode AppManagerEventCreate(out IntPtr handle);
- //int app_manager_event_create (app_manager_event_h *handle);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_event_set_status")]
- internal static extern ErrorCode AppManagerEventSetStatus(IntPtr handle, AppManagerEventStatusType statusType);
- //int app_manager_event_set_status (app_manager_event_h handle, int status_type);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_set_event_cb")]
- internal static extern ErrorCode AppManagerSetEventCallback(IntPtr handle, AppManagerEventCallback callback, IntPtr userData);
- //int app_manager_set_event_cb (app_manager_event_h handle, app_manager_event_cb callback, void *user_data);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_unset_event_cb")]
- internal static extern ErrorCode AppManagerUnSetEventCallback(IntPtr handle);
- //int app_manager_unset_event_cb (app_manager_event_h handle);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_event_destroy")]
- internal static extern ErrorCode AppManagerEventDestroy(IntPtr handle);
- //int app_manager_event_destroy (app_manager_event_h handle);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_terminate_app")]
- internal static extern ErrorCode AppManagerTerminateApp(IntPtr handle);
- //int app_manager_terminate_app (app_context_h app_context);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_terminate_app_without_restarting")]
- internal static extern ErrorCode AppManagerTerminateAppWithoutRestarting(IntPtr handle);
- //int app_manager_terminate_app_without_restarting (app_context_h app_context);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_get_app_context_by_instance_id")]
- internal static extern ErrorCode AppManagerGetAppContextByInstanceId(string applicationId, string instanceId, out IntPtr handle);
- //int app_manager_get_app_context_by_instance_id (const char *app_id, const char *instance_id, app_context_h *app_context);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_attach_window")]
- internal static extern ErrorCode AppManagerAttachWindow(string parentAppId, string childAppId);
- //int app_manager_attach_window(const char *parent_app_id, const char *child_app_id);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_detach_window")]
- internal static extern ErrorCode AppManagerDetachWindow(string applicationId);
- //int app_manager_detach_window(const char *app_id);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_attach_window_below")]
- internal static extern ErrorCode AppManagerAttachWindowBelow(string parentAppId, string childAppId);
- //int app_manager_attach_window_below(const char *parent_app_id, const char *child_app_id);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_manager_request_remount_subsession")]
- internal static extern ErrorCode AppManagerRequestRemountSubsession(string subsessionId);
- //int app_manager_request_remount_subsession(const char *subsession_id);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_destroy")]
- internal static extern ErrorCode AppContextDestroy(IntPtr handle);
- //int app_context_destroy(app_context_h app_context)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_get_app_id")]
- internal static extern ErrorCode AppContextGetAppId(IntPtr handle, out string applicationId);
- //int app_context_get_app_id(app_context_h app_context, char **app_id)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_get_package_id")]
- internal static extern ErrorCode AppContextGetPackageId(IntPtr handle, out string packageId);
- //int app_context_get_package_id(app_context_h app_context, char **package_id)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_get_pid")]
- internal static extern ErrorCode AppContextGetPid(IntPtr handle, out int processId);
- //int app_context_get_pid (app_context_h app_context, pid_t *pid)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_get_app_state")]
- internal static extern ErrorCode AppContextGetAppState(IntPtr handle, out int state);
- //int app_context_get_app_state (app_context_h app_context, app_state_e *state)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_is_terminated")]
- internal static extern ErrorCode AppContextIsTerminated(IntPtr handle, out bool terminated);
- //int app_context_is_terminated (app_context_h app_context, bool *terminated);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_is_equal")]
- internal static extern ErrorCode AppContextIsEqual(IntPtr first, IntPtr second, out bool equal);
- //int app_context_is_equal (app_context_h lhs, app_context_h rhs, bool *equal);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_is_sub_app")]
- internal static extern ErrorCode AppContextIsSubApp(IntPtr handle, out bool is_sub_app);
- //int app_context_is_sub_app (app_context_h app_context, bool *is_sub_app);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_context_clone")]
- internal static extern ErrorCode AppContextClone(out IntPtr destination, IntPtr source);
- //int app_context_clone (app_context_h *clone, app_context_h app_context);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_create")]
- internal static extern ErrorCode AppInfoCreate(string applicationId, out IntPtr handle);
- //int app_info_create (const char *app_id, app_info_h *app_info);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_destroy")]
- internal static extern ErrorCode AppInfoDestroy(IntPtr handle);
- //int app_info_destroy (app_info_h app_info);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_app_id")]
- internal static extern ErrorCode AppInfoGetAppId(IntPtr handle, out string applicationId);
- //int app_info_get_app_id (app_info_h app_info, char **app_id);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_exec")]
- internal static extern ErrorCode AppInfoGetExec(IntPtr handle, out string exec);
- //int app_info_get_exec (app_info_h app_info, char **exec);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_label")]
- internal static extern ErrorCode AppInfoGetLabel(IntPtr handle, out string label);
- //int app_info_get_label (app_info_h app_info, char **label);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_localed_label")]
- internal static extern ErrorCode AppInfoGetLocaledLabel(string applicationId, string locale, out string label);
- //int app_info_get_localed_label (const char *app_id, const char *locale, char **label);
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_icon")]
- internal static extern ErrorCode AppInfoGetIcon(IntPtr handle, out string path);
- //int app_info_get_icon (app_info_h app_info, char **path)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_package")]
- internal static extern ErrorCode AppInfoGetPackage(IntPtr handle, out string package);
- //int app_info_get_package (app_info_h app_info, char **package)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_type")]
- internal static extern ErrorCode AppInfoGetType(IntPtr handle, out string type);
- //int app_info_get_type (app_info_h app_info, char **type)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_get_app_component_type")]
- internal static extern ErrorCode AppInfoGetAppComponentType(IntPtr handle, out AppInfoAppComponentType type);
- //int app_info_get_app_component_type(app_info_h app_info, app_info_app_component_type_e *type)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_metadata")]
- internal static extern ErrorCode AppInfoForeachMetadata(IntPtr handle, AppInfoMetadataCallback callback, IntPtr userData);
- //int app_info_foreach_metadata(app_info_h app_info, app_info_metadata_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_nodisplay")]
- internal static extern ErrorCode AppInfoIsNodisplay(IntPtr handle, out bool noDisplay);
- //int app_info_is_nodisplay (app_info_h app_info, bool *nodisplay)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_equal")]
- internal static extern ErrorCode AppInfoIsEqual(IntPtr first, IntPtr second, out bool equal);
- //int app_info_is_equal (app_info_h lhs, app_info_h rhs, bool *equal)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_enabled")]
- internal static extern ErrorCode AppInfoIsEnabled(IntPtr handle, out bool enabled);
- //int app_info_is_enabled (app_info_h app_info, bool *enabled)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_onboot")]
- internal static extern ErrorCode AppInfoIsOnBoot(IntPtr handle, out bool onBoot);
- //int app_info_is_onboot (app_info_h app_info, bool *onboot)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_is_preload")]
- internal static extern ErrorCode AppInfoIsPreLoad(IntPtr handle, out bool preLoaded);
- //int app_info_is_preload (app_info_h app_info, bool *preload)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_clone")]
- internal static extern ErrorCode AppInfoClone(out IntPtr destination, IntPtr source);
- //int app_info_clone(app_info_h * clone, app_info_h app_info)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_category")]
- internal static extern ErrorCode AppInfoForeachCategory(IntPtr handle, AppInfoCategoryCallback callback, IntPtr userData);
- //int app_info_foreach_category(app_info_h app_info, app_info_category_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_create")]
- internal static extern ErrorCode AppInfoFilterCreate(out IntPtr handle);
- //int app_info_filter_create(app_info_filter_h * handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_destroy")]
- internal static extern ErrorCode AppInfoFilterDestroy(IntPtr handle);
- //int app_info_filter_destroy(app_info_filter_h handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_add_bool")]
- internal static extern ErrorCode AppInfoFilterAddBool(IntPtr handle, string property, bool value);
- //int app_info_filter_add_bool(app_info_filter_h handle, const char *property, const bool value)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_add_string")]
- internal static extern ErrorCode AppInfoFilterAddString(IntPtr handle, string property, string value);
- //int app_info_filter_add_string(app_info_filter_h handle, const char *property, const char *value)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_count_appinfo")]
- internal static extern ErrorCode AppInfoFilterCountAppinfo(IntPtr handle, out int count);
- //int app_info_filter_count_appinfo(app_info_filter_h handle, int *count)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_filter_foreach_appinfo")]
- internal static extern ErrorCode AppInfoFilterForeachAppinfo(IntPtr handle, AppInfoFilterCallback callback, IntPtr userData);
- //int app_info_filter_foreach_appinfo(app_info_filter_h handle, app_info_filter_cb callback, void * user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_metadata_filter_create")]
- internal static extern ErrorCode AppInfoMetadataFilterCreate(out IntPtr handle);
- //int app_info_metadata_filter_create (app_info_metadata_filter_h *handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_metadata_filter_destroy")]
- internal static extern ErrorCode AppInfoMetadataFilterDestroy(IntPtr handle);
- //int app_info_metadata_filter_destroy (app_info_metadata_filter_h handle)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_metadata_filter_add")]
- internal static extern ErrorCode AppInfoMetadataFilterAdd(IntPtr handle, string key, string value);
- //int app_info_metadata_filter_add (app_info_metadata_filter_h handle, const char *key, const char *value)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_metadata_filter_foreach")]
- internal static extern ErrorCode AppInfoMetadataFilterForeach(IntPtr handle, AppInfoFilterCallback callback, IntPtr userData);
- //int app_info_metadata_filter_foreach (app_info_metadata_filter_h handle, app_info_filter_cb callback, void *user_data)
-
- [DllImport(Libraries.AppManager, EntryPoint = "app_info_foreach_res_control")]
- internal static extern ErrorCode AppInfoForeachResControl(IntPtr handle, AppInfoResControlCallback callback, IntPtr userData);
}
-}
+
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.BaseUtilsi18n.cs b/src/Tizen.Applications.Team/Interop/Interop.BaseUtilsi18n.cs
deleted file mode 100644
index 1bf2e6b9c32..00000000000
--- a/src/Tizen.Applications.Team/Interop/Interop.BaseUtilsi18n.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.Runtime.InteropServices;
-using System.Text;
-
-internal static partial class Interop
-{
- internal static partial class BaseUtilsi18n
- {
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_canonicalize")]
- internal static extern Int32 Canonicalize(string localeID, [Out] StringBuilder name, Int32 nameCapacity);
- // int32_t i18n_ulocale_canonicalize(const char *locale_id, char *name, int32_t name_capacity);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_language")]
- internal static extern int GetLanguage(string localeID, [Out] StringBuilder language, Int32 languageCapacity, out int bufSizeLanguage);
- // int i18n_ulocale_get_language(const char *locale_id, char *language, int32_t language_capacity, int32_t *buf_size_language);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_script")]
- internal static extern Int32 GetScript(string localeID, [Out] StringBuilder script, Int32 scriptCapacity);
- // int32_t i18n_ulocale_get_script(const char *locale_id, char *script, int32_t script_capacity);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_country")]
- internal static extern Int32 GetCountry(string localeID, [Out] StringBuilder country, Int32 countryCapacity, out int err);
- // int32_t i18n_ulocale_get_country(const char *locale_id, char *country, int32_t country_capacity, int *error);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_variant")]
- internal static extern Int32 GetVariant(string localeID, [Out] StringBuilder variant, Int32 variantCapacity);
- // int32_t i18n_ulocale_get_variant(const char *locale_id, char *variant, int32_t variant_capacity);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_lcid")]
- internal static extern UInt32 GetLCID(string localeID);
- // uint32_t i18n_ulocale_get_lcid(const char *locale_id);
-
- [DllImport(Libraries.BaseUtilsi18n, EntryPoint = "i18n_ulocale_get_default")]
- internal static extern int GetDefault(out IntPtr localeID);
- // int i18n_ulocale_get_default(const char **locale);
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.Glib.cs b/src/Tizen.Applications.Team/Interop/Interop.Glib.cs
deleted file mode 100644
index 79e4cbc98cf..00000000000
--- a/src/Tizen.Applications.Team/Interop/Interop.Glib.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
- internal static partial class Glib
- {
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- internal delegate bool GSourceFunc(IntPtr userData);
-
- [DllImport(Libraries.Glib, EntryPoint = "g_idle_source_new", CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr IdleSourceNew();
-
- [DllImport(Libraries.Glib, EntryPoint = "g_source_set_callback", CallingConvention = CallingConvention.Cdecl)]
- internal static extern void SourceSetCallback(IntPtr source, GSourceFunc func, IntPtr data, IntPtr notify);
-
- [DllImport(Libraries.Glib, EntryPoint = "g_source_attach", CallingConvention = CallingConvention.Cdecl)]
- internal static extern uint SourceAttach(IntPtr source, IntPtr context);
-
- [DllImport(Libraries.Glib, EntryPoint = "g_source_unref", CallingConvention = CallingConvention.Cdecl)]
- internal static extern void SourceUnref(IntPtr source);
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.IniParser.cs b/src/Tizen.Applications.Team/Interop/Interop.IniParser.cs
deleted file mode 100644
index 7173a2ee185..00000000000
--- a/src/Tizen.Applications.Team/Interop/Interop.IniParser.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
- internal static partial class LibIniParser
- {
- [DllImport(Libraries.IniParser, EntryPoint = "iniparser_getstring", CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr GetString(IntPtr d, string key, IntPtr def);
-
- [DllImport(Libraries.IniParser, EntryPoint = "iniparser_load", CallingConvention = CallingConvention.Cdecl)]
- internal static extern IntPtr Load(string iniName);
-
- [DllImport(Libraries.IniParser, EntryPoint = "iniparser_freedict", CallingConvention = CallingConvention.Cdecl)]
- internal static extern void FreeDict(IntPtr d);
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.Libc.cs b/src/Tizen.Applications.Team/Interop/Interop.Libc.cs
deleted file mode 100644
index e7609f1f25d..00000000000
--- a/src/Tizen.Applications.Team/Interop/Interop.Libc.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-internal static partial class Interop
-{
- internal static partial class Libc
- {
- [DllImport(Libraries.Libc, EntryPoint = "getenv")]
- internal static extern IntPtr GetEnvironmentVariable(string name);
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.Libraries.cs b/src/Tizen.Applications.Team/Interop/Interop.Libraries.cs
index c049ed10861..c1328c2d382 100755
--- a/src/Tizen.Applications.Team/Interop/Interop.Libraries.cs
+++ b/src/Tizen.Applications.Team/Interop/Interop.Libraries.cs
@@ -14,15 +14,14 @@
* limitations under the License.
*/
-internal static partial class Interop
-{
- internal static partial class Libraries
+namespace Tizen.Applications {
+ internal static partial class Interop
{
- public const string TeamLib = "libteam-application.so.1";
- public const string Glib = "libglib-2.0.so.0";
- public const string Libc = "libc.so.6";
- public const string BaseUtilsi18n = "libbase-utils-i18n.so.0";
- public const string IniParser = "libiniparser.so.1";
- public const string AppManager = "libcapi-appfw-app-manager.so.0";
+ internal static partial class Libraries
+ {
+ public const string TeamLib = "libteam-application.so.1";
+ public const string AppManager = "libcapi-appfw-app-manager.so.0";
+ }
}
-}
+
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.TeamLoop.cs b/src/Tizen.Applications.Team/Interop/Interop.TeamLoop.cs
index 6a1119295a6..41275ed761a 100644
--- a/src/Tizen.Applications.Team/Interop/Interop.TeamLoop.cs
+++ b/src/Tizen.Applications.Team/Interop/Interop.TeamLoop.cs
@@ -18,46 +18,43 @@
using System.Runtime.InteropServices;
using Tizen.Internals;
-internal static partial class Interop
-{
- internal static partial class TeamLoop
+namespace Tizen.Applications {
+ internal static partial class Interop
{
- internal delegate IntPtr TeamLoopOpsLoad([MarshalAs(UnmanagedType.LPStr)] string path);
-
- internal delegate void TeamLoopOpsUnload(IntPtr loadObj);
-
- internal delegate IntPtr TeamLoopOpsCreateArgs(IntPtr loadObj);
+ internal static partial class TeamLoop
+ {
+ internal delegate IntPtr TeamLoopOpsLoad([MarshalAs(UnmanagedType.LPStr)] string path);
- internal delegate void TeamLoopOpsCreateLibPath([MarshalAs(UnmanagedType.LPStr)] string path, ref IntPtr output);
+ internal delegate void TeamLoopOpsUnload(IntPtr loadObj);
- internal delegate void TeamLoopOpsOnLoopCreate();
+ internal delegate IntPtr TeamLoopOpsCreateArgs(IntPtr loadObj);
- internal delegate void TeamLoopOpsOnLoopTerminate();
+ internal delegate void TeamLoopOpsOnLoopCreate();
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_main")]
- internal static extern int Main(int argc, string[] argv, TeamLoopOperations ops);
+ internal delegate void TeamLoopOpsOnLoopTerminate();
- [NativeStruct("team_launcher_operation_s", Include="team_common.h", PkgConfig="team-application")]
- [StructLayout(LayoutKind.Sequential)]
- internal struct TeamLoopOperations
- {
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsLoad Load;
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_main")]
+ internal static extern int Main(int argc, string[] argv, TeamLoopOperations ops);
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsUnload Unload;
+ [NativeStruct("team_launcher_operation_s", Include="team_common.h", PkgConfig="team-application")]
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct TeamLoopOperations
+ {
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public TeamLoopOpsLoad Load;
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsCreateArgs CreateArgs;
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public TeamLoopOpsUnload Unload;
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsCreateLibPath CreateLibPath;
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public TeamLoopOpsCreateArgs CreateArgs;
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsOnLoopCreate OnLoopCreate;
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public TeamLoopOpsOnLoopCreate OnLoopCreate;
- [MarshalAs(UnmanagedType.FunctionPtr)]
- public TeamLoopOpsOnLoopTerminate OnLoopTerminate;
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ public TeamLoopOpsOnLoopTerminate OnLoopTerminate;
+ }
}
}
}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.TeamManager.cs b/src/Tizen.Applications.Team/Interop/Interop.TeamManager.cs
index a4663a1da20..c5908dca27b 100644
--- a/src/Tizen.Applications.Team/Interop/Interop.TeamManager.cs
+++ b/src/Tizen.Applications.Team/Interop/Interop.TeamManager.cs
@@ -19,100 +19,103 @@
using Tizen.Internals;
using Tizen.Internals.Errors;
-internal static partial class Interop
-{
- internal static partial class TeamManager
+
+namespace Tizen.Applications {
+ internal static partial class Interop
{
- internal enum TeamAppErrorCode
+ internal static partial class TeamManager
{
- None = ErrorCode.None,
- InvalidParameter = ErrorCode.InvalidParameter,
- OutOfMemory = ErrorCode.OutOfMemory,
- InvalidContext = -0x01100000 | 0x01,
- AlreadyExist = ErrorCode.FileExists,
- AlreadyRunning = ErrorCode.AlreadyInProgress,
- NoSuchMember = ErrorCode.NoSuchFile,
- IOError = ErrorCode.IoError,
- NotSupported = ErrorCode.NotSupported,
- }
+ internal enum TeamAppErrorCode
+ {
+ None = ErrorCode.None,
+ InvalidParameter = ErrorCode.InvalidParameter,
+ OutOfMemory = ErrorCode.OutOfMemory,
+ InvalidContext = -0x01100000 | 0x01,
+ AlreadyExist = ErrorCode.FileExists,
+ AlreadyRunning = ErrorCode.AlreadyInProgress,
+ NoSuchMember = ErrorCode.NoSuchFile,
+ IOError = ErrorCode.IoError,
+ NotSupported = ErrorCode.NotSupported,
+ }
- [DllImport(Libraries.TeamLib, EntryPoint = "create_wl2_window_by_id")]
- internal static extern IntPtr CreateWl2WindowById(int wl2WinId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "create_wl2_window_by_id")]
+ internal static extern IntPtr CreateWl2WindowById(int wl2WinId);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_cache_path")]
- internal static extern TeamAppErrorCode TeamAppGetCachePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_cache_path")]
+ internal static extern TeamAppErrorCode TeamAppGetCachePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_resource_path")]
- internal static extern TeamAppErrorCode TeamAppGetResourcePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_resource_path")]
+ internal static extern TeamAppErrorCode TeamAppGetResourcePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_tep_resource_path")]
- internal static extern TeamAppErrorCode TeamAppGetTepResourcePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_tep_resource_path")]
+ internal static extern TeamAppErrorCode TeamAppGetTepResourcePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetSharedDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetSharedDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_resource_path")]
- internal static extern TeamAppErrorCode TeamAppGetSharedResourcePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_resource_path")]
+ internal static extern TeamAppErrorCode TeamAppGetSharedResourcePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_trusted_path")]
- internal static extern TeamAppErrorCode TeamAppGetSharedTrustedPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_shared_trusted_path")]
+ internal static extern TeamAppErrorCode TeamAppGetSharedTrustedPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_res_control_allowed_path")]
- internal static extern TeamAppErrorCode TeamAppGetResControlAllowedPath(IntPtr memberHandle, string resType, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_res_control_allowed_path")]
+ internal static extern TeamAppErrorCode TeamAppGetResControlAllowedPath(IntPtr memberHandle, string resType, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_res_control_global_path")]
- internal static extern TeamAppErrorCode TeamAppGetResControlGlobalPath(IntPtr memberHandle, string resType, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_res_control_global_path")]
+ internal static extern TeamAppErrorCode TeamAppGetResControlGlobalPath(IntPtr memberHandle, string resType, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetCommonDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetCommonDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_cache_path")]
- internal static extern TeamAppErrorCode TeamAppGetCommonCachePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_cache_path")]
+ internal static extern TeamAppErrorCode TeamAppGetCommonCachePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_shared_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetCommonSharedDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_shared_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetCommonSharedDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_shared_trusted_path")]
- internal static extern TeamAppErrorCode TeamAppGetCommonSharedTrustedPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_common_shared_trusted_path")]
+ internal static extern TeamAppErrorCode TeamAppGetCommonSharedTrustedPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_app_id")]
- internal static extern TeamAppErrorCode TeamAppGetAppId(IntPtr memberHandle, out string appId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_app_id")]
+ internal static extern TeamAppErrorCode TeamAppGetAppId(IntPtr memberHandle, out string appId);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_package_id")]
- internal static extern TeamAppErrorCode TeamAppGetPackageId(IntPtr memberHandle, out string packageId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_package_id")]
+ internal static extern TeamAppErrorCode TeamAppGetPackageId(IntPtr memberHandle, out string packageId);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_instance_id")]
- internal static extern TeamAppErrorCode TeamAppGetInstanceId(IntPtr memberHandle, out string instId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_instance_id")]
+ internal static extern TeamAppErrorCode TeamAppGetInstanceId(IntPtr memberHandle, out string instId);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_app_instance_id")]
- internal static extern TeamAppErrorCode TeamAppGetAppInstanceId(IntPtr memberHandle, out string appInstId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_app_instance_id")]
+ internal static extern TeamAppErrorCode TeamAppGetAppInstanceId(IntPtr memberHandle, out string appInstId);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_name")]
- internal static extern TeamAppErrorCode TeamAppGetName(IntPtr memberHandle, out string name);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_name")]
+ internal static extern TeamAppErrorCode TeamAppGetName(IntPtr memberHandle, out string name);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_version")]
- internal static extern TeamAppErrorCode TeamAppGetVersion(IntPtr memberHandle, out string version);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_version")]
+ internal static extern TeamAppErrorCode TeamAppGetVersion(IntPtr memberHandle, out string version);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetExternDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetExternDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_cache_path")]
- internal static extern TeamAppErrorCode TeamAppGetExternCachePath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_cache_path")]
+ internal static extern TeamAppErrorCode TeamAppGetExternCachePath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_shared_data_path")]
- internal static extern TeamAppErrorCode TeamAppGetExternSharedDataPath(IntPtr memberHandle, out string path);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_app_get_extern_shared_data_path")]
+ internal static extern TeamAppErrorCode TeamAppGetExternSharedDataPath(IntPtr memberHandle, out string path);
- [DllImport(Libraries.TeamLib, EntryPoint = "invoke_view_visibility_event")]
- internal static extern void InvokeViewVisibilityEvent(int viewId, bool visible);
+ [DllImport(Libraries.TeamLib, EntryPoint = "invoke_view_visibility_event")]
+ internal static extern void InvokeViewVisibilityEvent(int viewId, bool visible);
- [DllImport(Libraries.TeamLib, EntryPoint = "create_view_by_view_id")]
- internal static extern IntPtr CreateViewByViewId(int viewId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "create_view_by_view_id")]
+ internal static extern IntPtr CreateViewByViewId(int viewId);
- [DllImport(Libraries.TeamLib, EntryPoint = "destroy_view_by_view_id")]
- internal static extern void DestroyViewByViewId(int viewId);
+ [DllImport(Libraries.TeamLib, EntryPoint = "destroy_view_by_view_id")]
+ internal static extern void DestroyViewByViewId(int viewId);
+ }
}
-}
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/Interop/Interop.TeamMember.cs b/src/Tizen.Applications.Team/Interop/Interop.TeamMember.cs
index d99752fa8ab..1ba489fe01b 100644
--- a/src/Tizen.Applications.Team/Interop/Interop.TeamMember.cs
+++ b/src/Tizen.Applications.Team/Interop/Interop.TeamMember.cs
@@ -18,93 +18,95 @@
using System.Runtime.InteropServices;
using Tizen.Internals;
-internal static partial class Interop
-{
- internal static partial class TeamMember
+namespace Tizen.Applications {
+ internal static partial class Interop
{
- internal delegate void AppTerminateCallback(IntPtr context, IntPtr userdata);
- internal delegate void AppControlCallback(IntPtr context, IntPtr appControl, IntPtr userdata);
- internal delegate void AppResumeCallback(IntPtr context, IntPtr userdata);
- internal delegate void AppPauseCallback(IntPtr context, IntPtr userdata);
- internal delegate void AppLowMemoryCallback(IntPtr context, int status, IntPtr userdata);
- internal delegate void AppLowBatteryCallback(IntPtr context, int status, IntPtr userdata);
- internal delegate void AppLanguageChangedCallback(IntPtr context,
- [MarshalAs(UnmanagedType.LPStr)] string language, IntPtr userdata);
- internal delegate void AppDeviceOrientationChangedCallback(IntPtr context, int status, IntPtr userdata);
- internal delegate void AppRegionFormatChangedCallback(IntPtr context,
- [MarshalAs(UnmanagedType.LPStr)] string region, IntPtr userdata);
- internal delegate void AppSuspendStateChangedCallback(IntPtr context, int status, IntPtr userdata);
- internal delegate void AppTimeZoneChangedCallback(IntPtr context,
- [MarshalAs(UnmanagedType.LPStr)] string timeZone,
- [MarshalAs(UnmanagedType.LPStr)] string timeZoneId,
- IntPtr userdata);
- internal delegate IntPtr UIAppCreateCallback(IntPtr context, IntPtr userdata);
- internal delegate IntPtr ViewAppCreateCallback(IntPtr context, IntPtr userdata);
- internal delegate bool ServiceAppCreateCallback(IntPtr context, IntPtr userdata);
- [StructLayout(LayoutKind.Sequential)]
- internal struct UIMemberLifecycleCallbacks
+ internal static partial class TeamMember
{
- public UIAppCreateCallback Create;
- public AppTerminateCallback Terminate;
- public AppControlCallback Control;
- public AppResumeCallback Resume;
- public AppPauseCallback Pause;
- public AppLowMemoryCallback LowMemory;
- public AppLowBatteryCallback LowBattery;
- public AppLanguageChangedCallback LanguageChanged;
- public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
- public AppRegionFormatChangedCallback RegionFormatChanged;
- public AppSuspendStateChangedCallback SuspendStateChanged;
- public AppTimeZoneChangedCallback TimezoneChanged;
- }
- [StructLayout(LayoutKind.Sequential)]
- internal struct ServiceMemberLifecycleCallbacks
- {
- public ServiceAppCreateCallback Create;
- public AppTerminateCallback Terminate;
- public AppControlCallback Control;
- public AppLowMemoryCallback LowMemory;
- public AppLowBatteryCallback LowBattery;
- public AppLanguageChangedCallback LanguageChanged;
- public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
- public AppRegionFormatChangedCallback RegionFormatChanged;
- public AppSuspendStateChangedCallback SuspendStateChanged;
- public AppTimeZoneChangedCallback TimezoneChanged;
- }
+ internal delegate void AppTerminateCallback(IntPtr context, IntPtr userdata);
+ internal delegate void AppControlCallback(IntPtr context, IntPtr appControl, IntPtr userdata);
+ internal delegate void AppResumeCallback(IntPtr context, IntPtr userdata);
+ internal delegate void AppPauseCallback(IntPtr context, IntPtr userdata);
+ internal delegate void AppLowMemoryCallback(IntPtr context, int status, IntPtr userdata);
+ internal delegate void AppLowBatteryCallback(IntPtr context, int status, IntPtr userdata);
+ internal delegate void AppLanguageChangedCallback(IntPtr context,
+ [MarshalAs(UnmanagedType.LPStr)] string language, IntPtr userdata);
+ internal delegate void AppDeviceOrientationChangedCallback(IntPtr context, int status, IntPtr userdata);
+ internal delegate void AppRegionFormatChangedCallback(IntPtr context,
+ [MarshalAs(UnmanagedType.LPStr)] string region, IntPtr userdata);
+ internal delegate void AppSuspendStateChangedCallback(IntPtr context, int status, IntPtr userdata);
+ internal delegate void AppTimeZoneChangedCallback(IntPtr context,
+ [MarshalAs(UnmanagedType.LPStr)] string timeZone,
+ [MarshalAs(UnmanagedType.LPStr)] string timeZoneId,
+ IntPtr userdata);
+ internal delegate IntPtr UIAppCreateCallback(IntPtr context, IntPtr userdata);
+ internal delegate IntPtr ViewAppCreateCallback(IntPtr context, IntPtr userdata);
+ internal delegate bool ServiceAppCreateCallback(IntPtr context, IntPtr userdata);
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct UIMemberLifecycleCallbacks
+ {
+ public UIAppCreateCallback Create;
+ public AppTerminateCallback Terminate;
+ public AppControlCallback Control;
+ public AppResumeCallback Resume;
+ public AppPauseCallback Pause;
+ public AppLowMemoryCallback LowMemory;
+ public AppLowBatteryCallback LowBattery;
+ public AppLanguageChangedCallback LanguageChanged;
+ public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
+ public AppRegionFormatChangedCallback RegionFormatChanged;
+ public AppSuspendStateChangedCallback SuspendStateChanged;
+ public AppTimeZoneChangedCallback TimezoneChanged;
+ }
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct ServiceMemberLifecycleCallbacks
+ {
+ public ServiceAppCreateCallback Create;
+ public AppTerminateCallback Terminate;
+ public AppControlCallback Control;
+ public AppLowMemoryCallback LowMemory;
+ public AppLowBatteryCallback LowBattery;
+ public AppLanguageChangedCallback LanguageChanged;
+ public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
+ public AppRegionFormatChangedCallback RegionFormatChanged;
+ public AppSuspendStateChangedCallback SuspendStateChanged;
+ public AppTimeZoneChangedCallback TimezoneChanged;
+ }
- [DllImport(Libraries.TeamLib, EntryPoint = "team_ui_app_teamup")]
- internal static extern IntPtr UIMemberTeamup(UIMemberLifecycleCallbacks callbacks, IntPtr userdata);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_ui_app_teamup")]
+ internal static extern IntPtr UIMemberTeamup(UIMemberLifecycleCallbacks callbacks, IntPtr userdata);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_ui_app_quit")]
- internal static extern void UIMemberQuit(IntPtr member);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_ui_app_quit")]
+ internal static extern void UIMemberQuit(IntPtr member);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_service_app_teamup")]
- internal static extern IntPtr ServiceMemberTeamup(ServiceMemberLifecycleCallbacks callbacks, IntPtr userdata);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_service_app_teamup")]
+ internal static extern IntPtr ServiceMemberTeamup(ServiceMemberLifecycleCallbacks callbacks, IntPtr userdata);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_service_app_quit")]
- internal static extern void ServiceMemberQuit(IntPtr member);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_service_app_quit")]
+ internal static extern void ServiceMemberQuit(IntPtr member);
- [StructLayout(LayoutKind.Sequential)]
- internal struct ViewMemberLifecycleCallbacks
- {
- public ViewAppCreateCallback Create;
- public AppTerminateCallback Terminate;
- public AppControlCallback Control;
- public AppResumeCallback Resume;
- public AppPauseCallback Pause;
- public AppLowMemoryCallback LowMemory;
- public AppLowBatteryCallback LowBattery;
- public AppLanguageChangedCallback LanguageChanged;
- public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
- public AppRegionFormatChangedCallback RegionFormatChanged;
- public AppSuspendStateChangedCallback SuspendStateChanged;
- public AppTimeZoneChangedCallback TimezoneChanged;
- }
+ [StructLayout(LayoutKind.Sequential)]
+ internal struct ViewMemberLifecycleCallbacks
+ {
+ public ViewAppCreateCallback Create;
+ public AppTerminateCallback Terminate;
+ public AppControlCallback Control;
+ public AppResumeCallback Resume;
+ public AppPauseCallback Pause;
+ public AppLowMemoryCallback LowMemory;
+ public AppLowBatteryCallback LowBattery;
+ public AppLanguageChangedCallback LanguageChanged;
+ public AppDeviceOrientationChangedCallback DeviceOrientationChanged;
+ public AppRegionFormatChangedCallback RegionFormatChanged;
+ public AppSuspendStateChangedCallback SuspendStateChanged;
+ public AppTimeZoneChangedCallback TimezoneChanged;
+ }
- [DllImport(Libraries.TeamLib, EntryPoint = "team_view_app_teamup")]
- internal static extern IntPtr ViewMemberTeamup(ViewMemberLifecycleCallbacks callbacks, IntPtr userdata);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_view_app_teamup")]
+ internal static extern IntPtr ViewMemberTeamup(ViewMemberLifecycleCallbacks callbacks, IntPtr userdata);
- [DllImport(Libraries.TeamLib, EntryPoint = "team_view_app_quit")]
- internal static extern void ViewMemberQuit(IntPtr member);
+ [DllImport(Libraries.TeamLib, EntryPoint = "team_view_app_quit")]
+ internal static extern void ViewMemberQuit(IntPtr member);
+ }
}
-}
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/ResourceControl.cs b/src/Tizen.Applications.Team/ResourceControl.cs
deleted file mode 100644
index 070070d02a7..00000000000
--- a/src/Tizen.Applications.Team/ResourceControl.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Text;
-
-namespace Tizen.Applications
-{
- ///
- /// Represents the resource control information for a Team application.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ResourceControl
- {
- internal ResourceControl(string resourceType, string minResourceVersion, string maxResourceVersion, bool isAutoClose)
- {
- ResourceType = resourceType;
- MinResourceVersion = minResourceVersion ?? null;
- MaxResourceVersion = maxResourceVersion ?? null;
- IsAutoClose = isAutoClose;
- }
-
- ///
- /// Gets the resource type.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ResourceType { get; }
-
- ///
- /// Gets the minimum version of the required resource package.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string MinResourceVersion { get; }
-
- ///
- /// Gets the maximum version of the required resource package.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string MaxResourceVersion { get; }
-
- ///
- /// Gets a value indicating whether the resource is auto-closed.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsAutoClose { get; }
- }
-}
diff --git a/src/Tizen.Applications.Team/SystemLocaleConverter.cs b/src/Tizen.Applications.Team/SystemLocaleConverter.cs
deleted file mode 100644
index 72d710622cc..00000000000
--- a/src/Tizen.Applications.Team/SystemLocaleConverter.cs
+++ /dev/null
@@ -1,349 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Tizen.Applications
-{
- ///
- /// Converts Tizen system locale strings into values with ICU fallback.
- ///
- internal class SystemLocaleConverter
- {
- private static readonly string LogTag = "DN_TAM";
- public SystemLocaleConverter()
- {
- }
-
- public CultureInfo Convert(string locale)
- {
- ULocale pLocale = new ULocale(locale);
- string cultureName = CultureInfoHelper.GetCultureName(pLocale.Locale.Replace("_", "-"));
-
- if (!string.IsNullOrEmpty(cultureName))
- {
- try
- {
- return new CultureInfo(cultureName);
- }
- catch (CultureNotFoundException)
- {
- Log.Error(LogTag, "CultureNotFoundException occurs. CultureName: " + cultureName);
- }
- }
-
- try
- {
- return new CultureInfo(pLocale.LCID);
- }
- catch (ArgumentOutOfRangeException)
- {
- return GetFallback(pLocale);
- }
- catch (CultureNotFoundException)
- {
- return GetFallback(pLocale);
- }
- }
-
- public string Convert(CultureInfo cultureInfo)
- {
- if (cultureInfo == null || string.IsNullOrEmpty(cultureInfo.Name))
- {
- return string.Empty;
- }
- return $"{cultureInfo.Name.Replace("-", "_")}.UTF-8";
- }
-
- private CultureInfo GetFallback(ULocale uLocale)
- {
- CultureInfo fallbackCultureInfo = null;
- string locale = string.Empty;
-
- if (uLocale.Locale != null)
- {
- locale = uLocale.Locale.Replace("_", "-");
- fallbackCultureInfo = GetCultureInfo(locale);
- }
-
- if (fallbackCultureInfo == null && uLocale.Language != null && uLocale.Script != null && uLocale.Country != null)
- {
- locale = uLocale.Language + "-" + uLocale.Script + "-" + uLocale.Country;
- fallbackCultureInfo = GetCultureInfo(locale);
- }
-
- if (fallbackCultureInfo == null && uLocale.Language != null && uLocale.Script != null)
- {
- locale = uLocale.Language + "-" + uLocale.Script;
- fallbackCultureInfo = GetCultureInfo(locale);
- }
-
- if (fallbackCultureInfo == null && uLocale.Language != null && uLocale.Country != null)
- {
- locale = uLocale.Language + "-" + uLocale.Country;
- fallbackCultureInfo = GetCultureInfo(locale);
- }
-
- if (fallbackCultureInfo == null && uLocale.Language != null)
- {
- locale = uLocale.Language;
- fallbackCultureInfo = GetCultureInfo(locale);
- }
-
- if (fallbackCultureInfo == null)
- {
- try
- {
- fallbackCultureInfo = new CultureInfo("en");
- }
- catch (CultureNotFoundException e)
- {
- Log.Error(LogTag, "Failed to create CultureInfo. err = " + e.Message);
- }
- }
-
- return fallbackCultureInfo;
- }
-
- private CultureInfo GetCultureInfo(string locale)
- {
- if (!Exist(locale))
- {
- return null;
- }
-
- try
- {
- return new CultureInfo(locale);
- }
- catch (CultureNotFoundException)
- {
- return null;
- }
- }
-
- private bool Exist(string locale)
- {
- foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.AllCultures))
- {
- if (cultureInfo.Name == locale)
- {
- return true;
- }
- }
- return false;
- }
-
-
- ///
- /// Wraps ICU uloc_* interop for parsing and canonicalizing locale strings.
- ///
- internal class ULocale
- {
- private const int ULOC_FULLNAME_CAPACITY = 157;
- private const int ULOC_LANG_CAPACITY = 12;
- private const int ULOC_SCRIPT_CAPACITY = 6;
- private const int ULOC_COUNTRY_CAPACITY = 4;
- private const int ULOC_VARIANT_CAPACITY = ULOC_FULLNAME_CAPACITY;
- private string locale;
- private string _locale;
- private string _language;
- private string _script;
- private string _country;
- private string _variant;
- private int _lcid;
-
- internal ULocale(string locale)
- {
- this.locale = locale;
- _locale = _language = _script = _country = _variant = null;
- _lcid = -1;
- }
-
- internal string Locale
- {
- get
- {
- if (string.IsNullOrEmpty(_locale))
- {
- _locale = Canonicalize(locale);
- }
- return _locale;
- }
- private set
- {
- _locale = value;
- }
- }
- internal string Language {
- get
- {
- if (string.IsNullOrEmpty(_language))
- {
- _language = GetLanguage(Locale);
- }
- return _language;
- }
- private set
- {
- _language = value;
- }
- }
- internal string Script
- {
- get
- {
- if (string.IsNullOrEmpty(_script))
- {
- _script = GetScript(Locale);
- }
- return _script;
- }
- private set
- {
- _script = value;
- }
- }
- internal string Country {
- get
- {
- if (string.IsNullOrEmpty(_country))
- {
- _country = GetCountry(Locale);
- }
- return _country;
- }
- private set
- {
- _country = value;
- }
- }
- internal string Variant
- {
- get
- {
- if (string.IsNullOrEmpty(_variant))
- {
- _variant = GetVariant(Locale);
- }
- return _variant;
- }
- private set
- {
- _variant = value;
- }
- }
- internal int LCID {
- get
- {
- if (_lcid == -1) {
- _lcid = GetLCID(Locale);
- }
- return _lcid;
- }
- private set {
- _lcid = value;
- }
- }
-
- private string Canonicalize(string localeName)
- {
- // Get the locale name from ICU
- StringBuilder sb = new StringBuilder(ULOC_FULLNAME_CAPACITY);
- if (Interop.BaseUtilsi18n.Canonicalize(localeName, sb, sb.Capacity) <= 0)
- {
- return null;
- }
-
- return sb.ToString();
- }
-
- private string GetLanguage(string locale)
- {
- // Get the language name from ICU
- StringBuilder sb = new StringBuilder(ULOC_LANG_CAPACITY);
- if (Interop.BaseUtilsi18n.GetLanguage(locale, sb, sb.Capacity, out int bufSizeLanguage) != 0)
- {
- return null;
- }
-
- return sb.ToString();
- }
-
- private string GetScript(string locale)
- {
- // Get the script name from ICU
- StringBuilder sb = new StringBuilder(ULOC_SCRIPT_CAPACITY);
- if (Interop.BaseUtilsi18n.GetScript(locale, sb, sb.Capacity) <= 0)
- {
- return null;
- }
-
- return sb.ToString();
- }
-
- private string GetCountry(string locale)
- {
- int err = 0;
-
- // Get the country name from ICU
- StringBuilder sb = new StringBuilder(ULOC_COUNTRY_CAPACITY);
- if (Interop.BaseUtilsi18n.GetCountry(locale, sb, sb.Capacity, out err) <= 0)
- {
- return null;
- }
-
- return sb.ToString();
- }
-
- private string GetVariant(string locale)
- {
- // Get the variant name from ICU
- StringBuilder sb = new StringBuilder(ULOC_VARIANT_CAPACITY);
- if (Interop.BaseUtilsi18n.GetVariant(locale, sb, sb.Capacity) <= 0)
- {
- return null;
- }
-
- return sb.ToString();
- }
-
- private int GetLCID(string locale)
- {
- // Get the LCID from ICU
- uint lcid = Interop.BaseUtilsi18n.GetLCID(locale);
- return (int)lcid;
- }
-
- internal static string GetDefaultLocale()
- {
- IntPtr stringPtr = Interop.Libc.GetEnvironmentVariable("LANG");
- if (stringPtr == IntPtr.Zero)
- {
- return string.Empty;
- }
-
- return Marshal.PtrToStringAnsi(stringPtr);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/TeamCoreUiApplication.cs b/src/Tizen.Applications.Team/TeamCoreUiApplication.cs
deleted file mode 100644
index bcd068b4879..00000000000
--- a/src/Tizen.Applications.Team/TeamCoreUiApplication.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-using System;
-using System.ComponentModel;
-using Tizen.Applications.CoreBackend;
-using Tizen.NUI;
-
-namespace Tizen.Applications
-{
- ///
- /// Represents a base class for Team UI applications that own a NUI and expose
- /// and lifecycle events.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class TeamCoreUiApplication : TeamCoreApplication
- {
- ///
- /// Initializes the class.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TeamCoreUiApplication() : base(new TeamUICoreBackend())
- {
- }
-
- ///
- /// Gets the default window of this application.
- ///
- /// The default associated with this application.
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Window GetDefaultWindow()
- {
- return ((TeamUICoreBackend)Backend).GetDefaultWindow();
- }
-
- ///
- /// Occurs whenever the application is resumed.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler Resumed;
-
- ///
- /// Occurs whenever the application is paused.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler Paused;
-
- ///
- /// Runs the Team UI application's main loop.
- ///
- /// Arguments from commandline.
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void Run(string[] args)
- {
- Backend.AddEventHandler(EventType.Resumed, OnResume);
- Backend.AddEventHandler(EventType.Paused, OnPause);
-
- base.Run(args);
- }
-
- ///
- /// Invoked when the application is created.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnCreate()
- {
- base.OnCreate();
- }
-
- ///
- /// Invoked when the application is resumed. Raises the event.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnResume()
- {
- Resumed?.Invoke(this, EventArgs.Empty);
- }
-
- ///
- /// Invoked when the application is paused. Raises the event.
- ///
- /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnPause()
- {
- Paused?.Invoke(this, EventArgs.Empty);
- }
- }
-}
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamCoreBackend.cs b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamCoreBackend.cs
index 473bad48ea3..efe2babdfd4 100644
--- a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamCoreBackend.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamCoreBackend.cs
@@ -16,8 +16,10 @@
using System;
using System.ComponentModel;
+using Tizen.Applications.CoreBackend;
-namespace Tizen.Applications.CoreBackend
+
+namespace Tizen.Applications
{
///
/// Represents the abstract base backend that drives a Team application instance.
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamServiceCoreBackend.cs b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamServiceCoreBackend.cs
index 4f688e29708..b27854a85bb 100644
--- a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamServiceCoreBackend.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamServiceCoreBackend.cs
@@ -16,8 +16,9 @@
using System;
using Tizen.Internals;
+using Tizen.Applications.CoreBackend;
-namespace Tizen.Applications.CoreBackend
+namespace Tizen.Applications
{
///
/// Backend implementation for Team service applications that run without a graphical UI.
@@ -81,15 +82,7 @@ public override void Run(string[] args)
// base.Run() is not required.
if (!TeamManager.IsInit())
{
- string[] argsClone = new string[args == null ? 1 : args.Length + 1];
- if (args != null && args.Length > 1)
- {
- args.CopyTo(argsClone, 1);
- }
- argsClone[0] = "Tizen.Applications.Team.dll";
-
- TeamManager.Init(argsClone);
- Log.Info("DN_TAM", $"Launching Team Loop.");
+ Log.Error("DN_TAM", $"Team Loop is not running!. Launch app via launcher.");
return;
}
@@ -146,6 +139,7 @@ private bool OnCreateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Created handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
return false;
}
}
@@ -167,6 +161,7 @@ private void OnTerminateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Terminated handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -185,6 +180,7 @@ private void OnAppControlNative(IntPtr context, IntPtr appControl, IntPtr userda
catch (Exception ex)
{
Log.Error(LogTag, $"Error in AppControlReceived handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -203,6 +199,7 @@ private void OnLowMemoryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowMemory handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -220,6 +217,7 @@ private void OnLowBatteryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowBattery handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -236,6 +234,7 @@ private void OnLanguageChangedNative(IntPtr context, string language, IntPtr use
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LocaleChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -253,6 +252,7 @@ private void OnDeviceOrientationChangedNative(IntPtr context, int status, IntPtr
catch (Exception ex)
{
Log.Error(LogTag, $"Error in DeviceOrientationChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -269,6 +269,7 @@ private void OnRegionFormatChangedNative(IntPtr context, string region, IntPtr u
catch (Exception ex)
{
Log.Error(LogTag, $"Error in RegionFormatChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -286,6 +287,7 @@ private void OnSuspendStateChangedNative(IntPtr context, int status, IntPtr user
catch (Exception ex)
{
Log.Error(LogTag, $"Error in SuspendedStateChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -302,6 +304,7 @@ private void OnTimeZoneChangedNative(IntPtr context, string timeZone, string tim
catch (Exception ex)
{
Log.Error(LogTag, $"Error in TimeZoneChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamUICoreBackend.cs b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamUICoreBackend.cs
index 45e06f4f7d7..889dbeb8a52 100644
--- a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamUICoreBackend.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamUICoreBackend.cs
@@ -17,19 +17,22 @@
using System;
using Tizen.Internals;
using Tizen.NUI;
+using Tizen.Applications.CoreBackend;
-namespace Tizen.Applications.CoreBackend
+
+namespace Tizen.Applications
{
///
/// Backend implementation for Team UI applications that own a default .
///
- internal class TeamUICoreBackend : TeamCoreBackend
+ internal class TeamUICoreBackend : TeamCoreBackend, IUICoreBackend
{
internal new static string LogTag = "DN_TAM";
private Interop.TeamMember.UIMemberLifecycleCallbacks _callbacks;
private bool _disposedValue = false;
private int DefaultWindowId = 0;
internal Window defaultWindow;
+ internal WindowData initWindowData;
internal override IntPtr MemberHandle => _memberHandle;
internal override IntPtr LoadObjId => _loadObjId;
internal override IntPtr ArgHandle => _argHandle;
@@ -48,6 +51,19 @@ internal class TeamUICoreBackend : TeamCoreBackend
private Interop.TeamMember.AppTimeZoneChangedCallback _onTimeZoneChangedNative;
public TeamUICoreBackend()
+ {
+ initWindowData = null;
+ SetUpCallback();
+ }
+
+
+ public TeamUICoreBackend(WindowData windowdata)
+ {
+ initWindowData = windowdata;
+ SetUpCallback();
+ }
+
+ internal void SetUpCallback()
{
_onCreateNative = new Interop.TeamMember.UIAppCreateCallback(OnCreateNative);
_onTerminateNative = new Interop.TeamMember.AppTerminateCallback(OnTerminateNative);
@@ -93,6 +109,28 @@ internal void SetDefaultWindow(Window window)
{
defaultWindow = window;
SetDefaultWindowId(window.GetNativeId());
+
+ // Register window with appid to TeamManager
+ var err = Interop.TeamManager.TeamAppGetAppId(MemberHandle, out string appid);
+ if (err == Interop.TeamManager.TeamAppErrorCode.None && !string.IsNullOrEmpty(appid))
+ {
+ TeamManager.RegisterDefaultWindow(window, appid);
+ }
+ else
+ {
+ Log.Warn(LogTag, $"Failed to get AppId for RegisterDefaultWindow. err = {err}");
+ }
+ }
+
+ internal void UnsetDefaultWindow()
+ {
+ if (defaultWindow != null)
+ {
+ TeamManager.UnregisterDefaultWindow(defaultWindow);
+ }
+ defaultWindow?.Hide();
+ DefaultWindowId = -1;
+ defaultWindow = null;
}
public override void Exit()
{
@@ -108,15 +146,7 @@ public override void Run(string[] args)
// base.Run() is not required.
if (!TeamManager.IsInit())
{
- string[] argsClone = new string[args == null ? 1 : args.Length + 1];
- if (args != null && args.Length > 1)
- {
- args.CopyTo(argsClone, 1);
- }
- argsClone[0] = "Tizen.Applications.Team.dll";
-
- TeamManager.Init(argsClone);
- Log.Info("DN_TAM", $"Launching Team Loop.");
+ Log.Error("DN_TAM", $"Team Loop is not running!. Launch app via launcher.");
return;
}
@@ -151,6 +181,32 @@ protected override void Dispose(bool disposing)
}
}
+ internal void CreateDefaultWindow()
+ {
+ if(GetDefaultWindow() == null) {
+
+ Window window = null;
+ var err = Interop.TeamManager.TeamAppGetName(MemberHandle, out string name);
+ if (err != Interop.TeamManager.TeamAppErrorCode.None)
+ {
+ Log.Warn(LogTag, $"Failed to get Name. err = {err}");
+ name = "";
+ }
+
+ if(initWindowData != null)
+ {
+ window = new Window(name, initWindowData);
+ }
+ else
+ {
+ window = new Window();
+ window.Title = name;
+ }
+
+ SetDefaultWindow(window);
+ window.Hide();
+ }
+ }
private IntPtr OnCreateNative(IntPtr context, IntPtr userdata)
{
if (_memberHandle != IntPtr.Zero)
@@ -159,32 +215,55 @@ private IntPtr OnCreateNative(IntPtr context, IntPtr userdata)
}
_memberHandle = context;
+ CreateDefaultWindow();
+
+ if (Handlers.ContainsKey(EventType.PreCreated))
+ {
+ var handler = Handlers[EventType.PreCreated] as Action;
+ if (handler != null)
+ {
+ try
+ {
+ handler?.Invoke();
+ }
+ catch (Exception ex)
+ {
+ Log.Error(LogTag, $"Error in User PreCreated handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
+ }
+ }
+ else
+ {
+ Log.Error(LogTag, "Invalid OnPreCreate Callback type");
+ return IntPtr.Zero;
+ }
+ }
+
if (Handlers.ContainsKey(EventType.Created))
{
var handler = Handlers[EventType.Created] as Action;
if (handler != null)
{
- // This function will set default window
try
{
- var window = new Window();
- SetDefaultWindow(window);
- window.Hide();
-
- try {
- handler?.Invoke();
- }
- catch (Exception ex)
- {
- Log.Error(LogTag, $"Error in User Created handler: {ex.Message}");
- }
+ handler?.Invoke();
+ }
+ catch (Exception ex)
+ {
+ Log.Error(LogTag, $"Error in User Created handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
+ return IntPtr.Zero;
+ }
+ try
+ {
IntPtr window_h = Interop.TeamManager.CreateWl2WindowById(GetDefaultWindowId());
return window_h;
}
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Internal Created handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
return IntPtr.Zero;
}
}
@@ -211,12 +290,10 @@ private void OnTerminateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Terminated handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
-
- defaultWindow?.Hide();
- DefaultWindowId = -1;
- defaultWindow = null;
}
+ UnsetDefaultWindow();
}
private void OnAppControlNative(IntPtr context, IntPtr appControl, IntPtr userdata)
@@ -233,6 +310,7 @@ private void OnAppControlNative(IntPtr context, IntPtr appControl, IntPtr userda
catch (Exception ex)
{
Log.Error(LogTag, $"Error in AppControlReceived handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -250,6 +328,7 @@ private void OnResumeNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Resumed handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -266,6 +345,7 @@ private void OnPauseNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Paused handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -283,6 +363,7 @@ private void OnLowMemoryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowMemory handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -300,6 +381,7 @@ private void OnLowBatteryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowBattery handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -316,6 +398,7 @@ private void OnLanguageChangedNative(IntPtr context, string language, IntPtr use
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LocaleChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -333,6 +416,7 @@ private void OnDeviceOrientationChangedNative(IntPtr context, int status, IntPtr
catch (Exception ex)
{
Log.Error(LogTag, $"Error in DeviceOrientationChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -349,6 +433,7 @@ private void OnRegionFormatChangedNative(IntPtr context, string region, IntPtr u
catch (Exception ex)
{
Log.Error(LogTag, $"Error in RegionFormatChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -366,6 +451,7 @@ private void OnSuspendStateChangedNative(IntPtr context, int status, IntPtr user
catch (Exception ex)
{
Log.Error(LogTag, $"Error in SuspendedStateChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -382,6 +468,7 @@ private void OnTimeZoneChangedNative(IntPtr context, string timeZone, string tim
catch (Exception ex)
{
Log.Error(LogTag, $"Error in TimeZoneChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamViewCoreBackend.cs b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamViewCoreBackend.cs
index dbffc71a4bb..cd83c455d82 100644
--- a/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamViewCoreBackend.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications.CoreBackend/TeamViewCoreBackend.cs
@@ -18,8 +18,9 @@
using Tizen.Internals;
using Tizen.NUI;
using Tizen.NUI.BaseComponents;
+using Tizen.Applications.CoreBackend;
-namespace Tizen.Applications.CoreBackend
+namespace Tizen.Applications
{
///
/// Backend implementation for Team view applications that render into a shared host-provided .
@@ -108,15 +109,7 @@ public override void Run(string[] args)
// base.Run() is not required.
if (!TeamManager.IsInit())
{
- string[] argsClone = new string[args == null ? 1 : args.Length + 1];
- if (args != null && args.Length > 1)
- {
- args.CopyTo(argsClone, 1);
- }
- argsClone[0] = "Tizen.Applications.Team.dll";
-
- TeamManager.Init(argsClone);
- Log.Info("DN_TAM", $"Launching Team Loop.");
+ Log.Error("DN_TAM", $"Team Loop is not running!. Launch app via launcher.");
return;
}
@@ -177,6 +170,7 @@ private IntPtr OnCreateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in User Created handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
IntPtr view_h = Interop.TeamManager.CreateViewByViewId(GetDefaultViewId());
@@ -195,6 +189,7 @@ private IntPtr OnCreateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Internal Created handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
return IntPtr.Zero;
}
}
@@ -221,6 +216,7 @@ private void OnTerminateNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Terminated handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
@@ -242,6 +238,7 @@ private void OnAppControlNative(IntPtr context, IntPtr appControl, IntPtr userda
catch (Exception ex)
{
Log.Error(LogTag, $"Error in AppControlReceived handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -259,6 +256,7 @@ private void OnResumeNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Resumed handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -275,6 +273,7 @@ private void OnPauseNative(IntPtr context, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in Paused handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -292,6 +291,7 @@ private void OnLowMemoryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowMemory handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -309,6 +309,7 @@ private void OnLowBatteryNative(IntPtr context, int status, IntPtr userdata)
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LowBattery handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -325,6 +326,7 @@ private void OnLanguageChangedNative(IntPtr context, string language, IntPtr use
catch (Exception ex)
{
Log.Error(LogTag, $"Error in LocaleChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -342,6 +344,7 @@ private void OnDeviceOrientationChangedNative(IntPtr context, int status, IntPtr
catch (Exception ex)
{
Log.Error(LogTag, $"Error in DeviceOrientationChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -358,6 +361,7 @@ private void OnRegionFormatChangedNative(IntPtr context, string region, IntPtr u
catch (Exception ex)
{
Log.Error(LogTag, $"Error in RegionFormatChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -375,6 +379,7 @@ private void OnSuspendStateChangedNative(IntPtr context, int status, IntPtr user
catch (Exception ex)
{
Log.Error(LogTag, $"Error in SuspendedStateChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
@@ -391,6 +396,7 @@ private void OnTimeZoneChangedNative(IntPtr context, string timeZone, string tim
catch (Exception ex)
{
Log.Error(LogTag, $"Error in TimeZoneChanged handler: {ex.Message}");
+ Log.Error(LogTag, $"{ex.StackTrace}");
}
}
}
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.Team.csproj b/src/Tizen.Applications.Team/Tizen.Applications.Team.csproj
index 5809df03c80..5589c169ae8 100755
--- a/src/Tizen.Applications.Team/Tizen.Applications.Team.csproj
+++ b/src/Tizen.Applications.Team/Tizen.Applications.Team.csproj
@@ -12,6 +12,7 @@
+
diff --git a/src/Tizen.Applications.Team/Tizen.Applications.Team.sln b/src/Tizen.Applications.Team/Tizen.Applications.Team.sln
new file mode 100644
index 00000000000..52f361e690b
--- /dev/null
+++ b/src/Tizen.Applications.Team/Tizen.Applications.Team.sln
@@ -0,0 +1,45 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26430.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Team", "Tizen.Applications.Team.csproj", "{54AE6422-3D17-4D5A-8392-4BFCCFE71BDD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{D5621542-406E-4B7B-B75C-162433403320}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{F1A2C4CA-DF9B-48C9-9F57-1D586BF2E241}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{58A951BB-598C-47F2-B195-22F9219AF1F1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI", "..\Tizen.NUI\Tizen.NUI.csproj", "{0D063CB9-E7BA-4A47-892D-F1B72EE7E8AB}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {54AE6422-3D17-4D5A-8392-4BFCCFE71BDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {54AE6422-3D17-4D5A-8392-4BFCCFE71BDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {54AE6422-3D17-4D5A-8392-4BFCCFE71BDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {54AE6422-3D17-4D5A-8392-4BFCCFE71BDD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D5621542-406E-4B7B-B75C-162433403320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D5621542-406E-4B7B-B75C-162433403320}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D5621542-406E-4B7B-B75C-162433403320}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D5621542-406E-4B7B-B75C-162433403320}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F1A2C4CA-DF9B-48C9-9F57-1D586BF2E241}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F1A2C4CA-DF9B-48C9-9F57-1D586BF2E241}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F1A2C4CA-DF9B-48C9-9F57-1D586BF2E241}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F1A2C4CA-DF9B-48C9-9F57-1D586BF2E241}.Release|Any CPU.Build.0 = Release|Any CPU
+ {58A951BB-598C-47F2-B195-22F9219AF1F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {58A951BB-598C-47F2-B195-22F9219AF1F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {58A951BB-598C-47F2-B195-22F9219AF1F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {58A951BB-598C-47F2-B195-22F9219AF1F1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0D063CB9-E7BA-4A47-892D-F1B72EE7E8AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0D063CB9-E7BA-4A47-892D-F1B72EE7E8AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0D063CB9-E7BA-4A47-892D-F1B72EE7E8AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0D063CB9-E7BA-4A47-892D-F1B72EE7E8AB}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
\ No newline at end of file
diff --git a/src/Tizen.Applications.Team/TeamApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamApplication.cs
similarity index 100%
rename from src/Tizen.Applications.Team/TeamApplication.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamApplication.cs
diff --git a/src/Tizen.Applications.Team/TeamApplicationInfo.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamApplicationInfo.cs
similarity index 99%
rename from src/Tizen.Applications.Team/TeamApplicationInfo.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamApplicationInfo.cs
index 9d704ff1ff5..5013dc9bf3e 100644
--- a/src/Tizen.Applications.Team/TeamApplicationInfo.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamApplicationInfo.cs
@@ -31,7 +31,7 @@ namespace Tizen.Applications
///
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
- public class TeamApplicationInfo : IDisposable
+ public class TeamApplicationInfo : IDisposable, IApplicationInfo
{
private const string LogTag = "DN_TAMS";
private bool _disposed = false;
diff --git a/src/Tizen.Applications.Team/TeamCoreApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamCoreApplication.cs
similarity index 96%
rename from src/Tizen.Applications.Team/TeamCoreApplication.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamCoreApplication.cs
index c3c7460c8d0..715ffd4517b 100644
--- a/src/Tizen.Applications.Team/TeamCoreApplication.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamCoreApplication.cs
@@ -315,25 +315,6 @@ public static async Task Post(Func runner)
}
}
- internal static class GlobalizationMode
- {
- private static int _invariant = -1;
-
- internal static bool Invariant
- {
- get
- {
- if (_invariant == -1)
- {
- string value = Environment.GetEnvironmentVariable("DOTNET_SYSTEM_GLOBALIZATION_INVARIANT");
- _invariant = value != null ? (value.Equals("1") ? 1 : 0) : 0;
- }
-
- return _invariant != 0;
- }
- }
- }
-
internal static class TeamLocaleManager
{
private static readonly string LogTag = "DN_TAM";
diff --git a/src/Tizen.Applications.Team/Tizen.Applications/TeamCoreUiApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamCoreUiApplication.cs
new file mode 100644
index 00000000000..e86128ebe4d
--- /dev/null
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamCoreUiApplication.cs
@@ -0,0 +1,269 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+using System;
+using System.ComponentModel;
+using Tizen.Applications;
+using Tizen.Applications.CoreBackend;
+using Tizen.NUI;
+
+namespace Tizen.Applications
+{
+ ///
+ /// Represents a base class for Team UI applications that own a NUI and expose
+ /// and lifecycle events.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public class TeamCoreUiApplication : TeamCoreApplication, IUIApplication
+ {
+ ///
+ /// Initializes the class.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TeamCoreUiApplication(TeamCoreBackend backend) : base(backend)
+ {
+ }
+
+ ///
+ /// Gets the default window of this application.
+ ///
+ /// The default associated with this application.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Window GetDefaultWindow()
+ {
+ return ((TeamUICoreBackend)Backend).GetDefaultWindow();
+ }
+
+ ///
+ /// Occurs before the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler PreCreated;
+
+ ///
+ /// Occurs whenever the application is resumed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler Resumed;
+
+ ///
+ /// Occurs whenever the application is paused.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler Paused;
+
+ ///
+ /// Adds a delegate to be called when the main loop is idle.
+ ///
+ /// The delegate to call.
+ /// true if the delegate was added successfully; otherwise, false.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool AddIdle(Delegate func)
+ {
+ return UIContext.Instance?.AddIdle(func) ?? false;
+ }
+
+ ///
+ /// Removes a previously added idle delegate.
+ ///
+ /// The delegate to remove.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void RemoveIdle(Delegate func)
+ {
+ UIContext.Instance?.RemoveIdle(func);
+ }
+
+ ///
+ /// Runs the Team UI application's main loop.
+ ///
+ /// Arguments from commandline.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public override void Run(string[] args)
+ {
+ Backend.AddEventHandler(EventType.Resumed, ResumeHandler);
+ Backend.AddEventHandler(EventType.Paused, PauseHandler);
+ Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
+
+ base.Run(args);
+ }
+
+ ///
+ /// Invoked before the application is created. Raises the event.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected virtual void OnPreCreate()
+ {
+ PreCreated?.Invoke(this, EventArgs.Empty);
+ }
+
+ ///
+ /// Invoked when the application is resumed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected virtual void OnResume()
+ {
+
+ }
+
+ ///
+ /// Invoked when the application is resumed. Raises the event after OnResume()
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ private void ResumeHandler()
+ {
+ OnResume();
+ Resumed?.Invoke(this, EventArgs.Empty);
+ }
+
+ ///
+ /// Invoked when the application is paused. Raises the event.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected virtual void OnPause()
+ {
+ }
+
+ ///
+ /// Invoked when the application is paused. Raises the event after OnPause()
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ private void PauseHandler()
+ {
+ OnPause();
+ Paused?.Invoke(this, EventArgs.Empty);
+ }
+
+ #region IUIApplication Interface
+
+ ///
+ /// Gets the backend associated with this application as .
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IUICoreBackend IUIApplication.Backend => (TeamUICoreBackend)_backend;
+
+ ///
+ /// Gets the application information as .
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IApplicationInfo IUIApplication.ApplicationInfo => ApplicationInfo;
+
+ ///
+ /// Gets the directory information as .
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IDirectoryInfo IUIApplication.DirectoryInfo => DirectoryInfo;
+
+ ///
+ /// Gets the default window as interface.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TWindow IUIApplication.GetDefaultWindow() => (TWindow)(object)GetDefaultWindow();
+
+ // Methods - explicit interface implementation
+ ///
+ /// Invoked before the application is created.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnPreCreate() => OnPreCreate();
+
+ ///
+ /// Invoked when the application is created.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnCreate() => OnCreate();
+
+ ///
+ /// Invoked when the application is terminated.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnTerminate() => OnTerminate();
+
+ ///
+ /// Invoked when the application is paused.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnPause() => OnPause();
+
+ ///
+ /// Invoked when the application is resumed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnResume() => OnResume();
+
+ ///
+ /// Invoked when the application receives an app control request.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnAppControlReceived(AppControlReceivedEventArgs e) => OnAppControlReceived(e);
+
+ ///
+ /// Invoked when a low memory event is reported by the system.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLowMemory(LowMemoryEventArgs e) => OnLowMemory(e);
+
+ ///
+ /// Invoked when a low battery event is reported by the system.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLowBattery(LowBatteryEventArgs e) => OnLowBattery(e);
+
+ ///
+ /// Invoked when the system language is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLocaleChanged(LocaleChangedEventArgs e) => OnLocaleChanged(e);
+
+ ///
+ /// Invoked when the region format is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnRegionFormatChanged(RegionFormatChangedEventArgs e) => OnRegionFormatChanged(e);
+
+ ///
+ /// Invoked when the device orientation is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnDeviceOrientationChanged(DeviceOrientationEventArgs e) => OnDeviceOrientationChanged(e);
+
+ ///
+ /// Invoked when the system time zone is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnTimeZoneChanged(TimeZoneChangedEventArgs e) => OnTimeZoneChanged(e);
+
+ #endregion
+ }
+}
diff --git a/src/Tizen.Applications.Team/TeamDirectoryInfo.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamDirectoryInfo.cs
similarity index 99%
rename from src/Tizen.Applications.Team/TeamDirectoryInfo.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamDirectoryInfo.cs
index 8f2541f0be9..c8e3fed969c 100644
--- a/src/Tizen.Applications.Team/TeamDirectoryInfo.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamDirectoryInfo.cs
@@ -31,7 +31,7 @@ namespace Tizen.Applications
///
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
- public class TeamDirectoryInfo
+ public class TeamDirectoryInfo : IDirectoryInfo
{
private IntPtr _memberHandle;
private string _dataPath;
diff --git a/src/Tizen.Applications.Team/TeamLoop.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamLoop.cs
similarity index 78%
rename from src/Tizen.Applications.Team/TeamLoop.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamLoop.cs
index 09b62f6d4c0..b20a1994d06 100644
--- a/src/Tizen.Applications.Team/TeamLoop.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamLoop.cs
@@ -44,7 +44,6 @@ static TeamLoop()
_ops.Load = new Interop.TeamLoop.TeamLoopOpsLoad(DoLoad);
_ops.Unload = new Interop.TeamLoop.TeamLoopOpsUnload(DoUnload);
_ops.CreateArgs = new Interop.TeamLoop.TeamLoopOpsCreateArgs(DoCreateArgs);
- _ops.CreateLibPath = new Interop.TeamLoop.TeamLoopOpsCreateLibPath(DoCreateLibPath);
_ops.OnLoopCreate = new Interop.TeamLoop.TeamLoopOpsOnLoopCreate(DoOnLoopCreate);
_ops.OnLoopTerminate = new Interop.TeamLoop.TeamLoopOpsOnLoopTerminate(DoOnLoopTerminate);
}
@@ -65,10 +64,7 @@ public static void Run(string[] args)
_isRunning = true;
_systemArgs = args;
- Log.Info("NUI", "[NUI] NUIApplicationInitializer: StaticInitialize");
- Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
- PropertyBridge.RegisterStringGetter();
- Log.Info("NUI", "[NUI] NUIApplicationInitializer: StaticInitialize done");
+ NUIApplicationInitializer.StaticInitialize();
var err = Interop.TeamLoop.Main(args.Length, args, _ops);
if (err != 0)
@@ -177,7 +173,7 @@ internal static IntPtr DoCreateArgs(IntPtr loadObj)
try
{
var mainMethod = assemblyInfo.Assembly.EntryPoint;
- Log.Info(LogTag, $"Main method {mainMethod.Name}");
+ Log.Info(LogTag, $"Main method {mainMethod?.Name}");
if (mainMethod == null)
{
@@ -206,41 +202,6 @@ internal static IntPtr DoCreateArgs(IntPtr loadObj)
}
}
- internal static void DoCreateLibPath(string path, ref IntPtr output)
- {
- if (string.IsNullOrEmpty(path))
- {
- Log.Error(LogTag, "Invalid path: null or empty");
- output = IntPtr.Zero;
- return;
- }
-
- int lastDotIndex = path.LastIndexOf('.');
- if (lastDotIndex < 0)
- {
- Log.Error(LogTag, $"Invalid path format: {path}. Expected format: org.appfw.csteam.{{member_id}}");
- output = IntPtr.Zero;
- return;
- }
-
- string memberId = path.Substring(lastDotIndex + 1);
- if (string.IsNullOrEmpty(memberId))
- {
- Log.Error(LogTag, $"Empty member_id extracted from: {path}");
- output = IntPtr.Zero;
- return;
- }
-
- string libPath = $"/usr/share/csteam/dll/{memberId}.dll";
- Log.Info(LogTag, $"Created lib path: {libPath} from {path}");
-
- output = Marshal.StringToHGlobalAnsi(libPath);
-
- if (output == IntPtr.Zero) {
- Log.Error(LogTag, "Failed to allocate memory for lib path");
- }
- }
-
///
/// Gets the command line arguments that were passed to .
///
@@ -256,17 +217,10 @@ public static string[] GetSystemArgs()
internal static void DoOnLoopCreate()
{
Log.Info(LogTag, "DoOnLoopCreate() called");
-
- Log.Info("NUI", "[NUI] NUIApplicationInitializer: ProcessorController Initialize");
- Tracer.Begin("[NUI] NUIApplicationInitializer: ProcessorController Initialize");
- ProcessorController.Instance.Initialize();
- Tracer.End();
-
- // Initialize DisposeQueue Singleton class. This is also required to create DisposeQueue on main thread.
- Log.Info("NUI", "[NUI] NUIApplicationInitializer: DisposeQueue Initialize");
- Tracer.Begin("[NUI] NUIApplicationInitializer: DisposeQueue Initialize");
- DisposeQueue.Instance.Initialize();
- Tracer.End();
+ NUIApplicationInitializer.Initialize();
+ UIContext.Instance?.GetDefaultWindow()?.SetPositionSize(new Rectangle(0, 0, 1, 1));
+ UIContext.Instance?.GetDefaultWindow()?.SetTransparency(true);
+ UIContext.Instance?.GetDefaultWindow()?.Hide();
// Empty implementation for C# launcher
}
diff --git a/src/Tizen.Applications.Team/TeamManager.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamManager.cs
similarity index 73%
rename from src/Tizen.Applications.Team/TeamManager.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamManager.cs
index 76ae8d60082..771d2e708f2 100644
--- a/src/Tizen.Applications.Team/TeamManager.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamManager.cs
@@ -19,6 +19,7 @@
using System.ComponentModel;
using System.Reflection;
using System.Runtime.Loader;
+using Tizen.NUI;
using Tizen.NUI.BaseComponents;
namespace Tizen.Applications
@@ -70,6 +71,8 @@ public static class TeamManager
private static readonly Dictionary _viewByAppId = new Dictionary();
private static int _viewIdCounter = 1;
+ private static readonly Dictionary _windowToAppId = new Dictionary();
+
internal static IntPtr RegisterAssemblyInfo(AssemblyInfo info)
{
lock (_lock)
@@ -318,5 +321,110 @@ public static void DisownViewApp(string appid)
}
}
+ ///
+ /// Gets the TeamApplication instance by application id.
+ ///
+ /// The application id to search for.
+ /// The matching , or null if not found.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static TeamApplication GetApplication(string appid)
+ {
+ if (string.IsNullOrEmpty(appid))
+ return null;
+
+ lock (_lock)
+ {
+ foreach (var app in _runningApps)
+ {
+ if (app.ApplicationInfo?.ApplicationId == appid)
+ {
+ return app;
+ }
+ }
+ }
+ return null;
+ }
+
+ ///
+ /// Registers a default window with its associated application id.
+ ///
+ /// The window to register.
+ /// The application id associated with the window.
+ /// Thrown when is null or is null or empty.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static void RegisterDefaultWindow(Window window, string appid)
+ {
+ if (window == null)
+ throw new ArgumentNullException(nameof(window));
+ if (string.IsNullOrEmpty(appid))
+ throw new ArgumentNullException(nameof(appid));
+
+ lock (_lock)
+ {
+ _windowToAppId[window] = appid;
+ Log.Info(LogTag, $"DefaultWindow registered - AppId: {appid}");
+ }
+ }
+
+ ///
+ /// Unregisters a default window.
+ ///
+ /// The window to unregister.
+ /// true if the window was unregistered; false if the window was not found.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static bool UnregisterDefaultWindow(Window window)
+ {
+ if (window == null)
+ return false;
+
+ lock (_lock)
+ {
+ if (_windowToAppId.Remove(window, out var appid))
+ {
+ Log.Info(LogTag, $"DefaultWindow unregistered - AppId: {appid}");
+ return true;
+ }
+ }
+ return false;
+ }
+
+ ///
+ /// Gets the TeamApplication instance by window.
+ ///
+ /// The window to search for.
+ /// The matching , or null if not found.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static TeamApplication GetApplication(Window window)
+ {
+ if (window == null)
+ return null;
+
+ lock (_lock)
+ {
+ if (_windowToAppId.TryGetValue(window, out var appid))
+ {
+ return GetApplication(appid);
+ }
+ }
+ return null;
+ }
+
+ ///
+ /// Gets All the NUI Window in this process via UiContext API
+ ///
+ /// The Window List, or null if not found.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static List GetWindowList()
+ {
+ return UIContext.Instance?.GetWindowList();
+ }
+
+
}
}
diff --git a/src/Tizen.Applications.Team/TeamServiceApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamServiceApplication.cs
similarity index 100%
rename from src/Tizen.Applications.Team/TeamServiceApplication.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamServiceApplication.cs
diff --git a/src/Tizen.Applications.Team/TeamUiApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamUiApplication.cs
similarity index 86%
rename from src/Tizen.Applications.Team/TeamUiApplication.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamUiApplication.cs
index 4ae9daaaad1..748c1b3d793 100644
--- a/src/Tizen.Applications.Team/TeamUiApplication.cs
+++ b/src/Tizen.Applications.Team/Tizen.Applications/TeamUiApplication.cs
@@ -17,6 +17,7 @@
using System;
using System.ComponentModel;
using Tizen.NUI;
+using Tizen.Applications.CoreBackend;
namespace Tizen.Applications
{
@@ -32,7 +33,13 @@ public class TeamUiApplication : TeamCoreUiApplication
///
/// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
- public TeamUiApplication()
+ public TeamUiApplication() : base (new TeamUICoreBackend())
+ {
+ }
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TeamUiApplication(WindowData windowdata)
+ : base (new TeamUICoreBackend(windowdata))
{
}
diff --git a/src/Tizen.Applications.Team/TeamViewApplication.cs b/src/Tizen.Applications.Team/Tizen.Applications/TeamViewApplication.cs
similarity index 100%
rename from src/Tizen.Applications.Team/TeamViewApplication.cs
rename to src/Tizen.Applications.Team/Tizen.Applications/TeamViewApplication.cs
diff --git a/src/Tizen.Applications.TeamLauncher/TeamLauncher.cs b/src/Tizen.Applications.TeamLauncher/TeamLauncher.cs
new file mode 100644
index 00000000000..9f400dc7945
--- /dev/null
+++ b/src/Tizen.Applications.TeamLauncher/TeamLauncher.cs
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Reflection;
+using Tizen.NUI.BaseComponents;
+
+namespace Tizen.Applications
+{
+ internal static class TeamLauncher{
+ static void Main(string[] args)
+ {
+ if(!TeamManager.IsInit())
+ {
+ Log.Info("TeamLauncher", $"Loop Start");
+ string[] argsClone = new string[args == null ? 1 : args.Length + 1];
+ if (args != null && args.Length > 0)
+ {
+ args.CopyTo(argsClone, 1);
+ }
+ argsClone[0] = "Tizen.Applications.TeamLauncher.dll";
+ TeamManager.Init(argsClone);
+ }
+ else
+ {
+ Log.Info("TeamLauncher", $"Loop is already running");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.csproj b/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.csproj
new file mode 100644
index 00000000000..2c65066ba36
--- /dev/null
+++ b/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.csproj
@@ -0,0 +1,12 @@
+
+
+
+ net8.0
+ Exe
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.sln b/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.sln
new file mode 100644
index 00000000000..0b3a8b9eaf3
--- /dev/null
+++ b/src/Tizen.Applications.TeamLauncher/Tizen.Applications.TeamLauncher.sln
@@ -0,0 +1,51 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26430.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.TeamLauncher", "Tizen.Applications.TeamLauncher.csproj", "{0E2D2233-A0E4-4420-B856-6D5816FAA500}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Team", "..\Tizen.Applications.Team\Tizen.Applications.Team.csproj", "{B63B986B-6FBD-4043-8467-01BF338E7452}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\Tizen\Tizen.csproj", "{4574D756-8C6A-4494-853F-28D81EF44126}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\Tizen.Log\Tizen.Log.csproj", "{FC67FFF9-FDF2-4FB7-9188-22FACE56EC0D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{1B1E36B4-9E6F-460D-B95A-B15FF3FE775E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI", "..\Tizen.NUI\Tizen.NUI.csproj", "{C725094D-B94F-4CBE-A201-F73EC3372545}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0E2D2233-A0E4-4420-B856-6D5816FAA500}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E2D2233-A0E4-4420-B856-6D5816FAA500}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E2D2233-A0E4-4420-B856-6D5816FAA500}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E2D2233-A0E4-4420-B856-6D5816FAA500}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B63B986B-6FBD-4043-8467-01BF338E7452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B63B986B-6FBD-4043-8467-01BF338E7452}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B63B986B-6FBD-4043-8467-01BF338E7452}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B63B986B-6FBD-4043-8467-01BF338E7452}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4574D756-8C6A-4494-853F-28D81EF44126}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4574D756-8C6A-4494-853F-28D81EF44126}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4574D756-8C6A-4494-853F-28D81EF44126}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4574D756-8C6A-4494-853F-28D81EF44126}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FC67FFF9-FDF2-4FB7-9188-22FACE56EC0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FC67FFF9-FDF2-4FB7-9188-22FACE56EC0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FC67FFF9-FDF2-4FB7-9188-22FACE56EC0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FC67FFF9-FDF2-4FB7-9188-22FACE56EC0D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B1E36B4-9E6F-460D-B95A-B15FF3FE775E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B1E36B4-9E6F-460D-B95A-B15FF3FE775E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B1E36B4-9E6F-460D-B95A-B15FF3FE775E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B1E36B4-9E6F-460D-B95A-B15FF3FE775E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C725094D-B94F-4CBE-A201-F73EC3372545}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C725094D-B94F-4CBE-A201-F73EC3372545}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C725094D-B94F-4CBE-A201-F73EC3372545}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C725094D-B94F-4CBE-A201-F73EC3372545}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/Tizen.Applications.UI/Tizen.Applications/IUIApplication.cs b/src/Tizen.Applications.UI/Tizen.Applications/IUIApplication.cs
new file mode 100644
index 00000000000..505748434e0
--- /dev/null
+++ b/src/Tizen.Applications.UI/Tizen.Applications/IUIApplication.cs
@@ -0,0 +1,277 @@
+/*
+ * Copyright (c) 2026 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.ComponentModel;
+using Tizen.Applications.CoreBackend;
+
+namespace Tizen.Applications
+{
+ ///
+ /// Defines the common contract for NUI-based applications.
+ ///
+ ///
+ /// This interface abstracts the shared functionality between
+ /// and , enabling polymorphic access to lifecycle events,
+ /// directory/application information, idle management, and the default window.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public interface IUIApplication
+ {
+ private static IUIApplication s_current = null;
+
+ ///
+ /// Gets or sets the current application instance.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static IUIApplication Current
+ {
+ get => s_current;
+ set => s_current = value;
+ }
+
+ ///
+ /// Gets the backend associated with this application.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IUICoreBackend Backend { get; }
+
+ ///
+ /// Gets the application information.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IApplicationInfo ApplicationInfo { get; }
+
+ ///
+ /// Gets the directory information.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IDirectoryInfo DirectoryInfo { get; }
+
+ ///
+ /// Adds a delegate to be called when the main loop is idle.
+ ///
+ /// The delegate to call.
+ /// true if the delegate was added successfully; otherwise, false.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ bool AddIdle(Delegate func);
+
+ ///
+ /// Removes a previously added idle delegate.
+ ///
+ /// The delegate to remove.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void RemoveIdle(Delegate func);
+
+ ///
+ /// Gets the default window of the application.
+ ///
+ /// The default window.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TWindow GetDefaultWindow();
+
+ #region Events
+
+ ///
+ /// Occurs before the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler PreCreated;
+
+ ///
+ /// Occurs when the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler Created;
+
+ ///
+ /// Occurs when the application is terminated.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler Terminated;
+
+ ///
+ /// Occurs when the application is paused.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler Paused;
+
+ ///
+ /// Occurs when the application is resumed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler Resumed;
+
+ ///
+ /// Occurs when the application receives an app control request.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler AppControlReceived;
+
+ ///
+ /// Occurs when a low memory condition is reported by the system.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler LowMemory;
+
+ ///
+ /// Occurs when a low battery condition is reported by the system.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler LowBattery;
+
+ ///
+ /// Occurs when the system language is changed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler LocaleChanged;
+
+ ///
+ /// Occurs when the region format of the system is changed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler RegionFormatChanged;
+
+ ///
+ /// Occurs when the device orientation is changed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler DeviceOrientationChanged;
+
+ ///
+ /// Occurs when the system time zone is changed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ event EventHandler TimeZoneChanged;
+
+ #endregion
+
+ #region Methods
+
+ ///
+ /// Invoked before the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnPreCreate();
+
+ ///
+ /// Invoked when the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnCreate();
+
+ ///
+ /// Invoked when the application is terminated.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnTerminate();
+
+ ///
+ /// Invoked when the application is paused.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnPause();
+
+ ///
+ /// Invoked when the application is resumed.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnResume();
+
+ ///
+ /// Invoked when the application receives an app control request.
+ ///
+ /// The event data containing the received application control.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnAppControlReceived(AppControlReceivedEventArgs e);
+
+ ///
+ /// Invoked when a low memory event is reported by the system.
+ ///
+ /// The event data describing the low memory status.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnLowMemory(LowMemoryEventArgs e);
+
+ ///
+ /// Invoked when a low battery event is reported by the system.
+ ///
+ /// The event data describing the low battery status.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnLowBattery(LowBatteryEventArgs e);
+
+ ///
+ /// Invoked when the system language is changed.
+ ///
+ /// The event data describing the new locale.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnLocaleChanged(LocaleChangedEventArgs e);
+
+ ///
+ /// Invoked when the region format is changed.
+ ///
+ /// The event data describing the new region.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnRegionFormatChanged(RegionFormatChangedEventArgs e);
+
+ ///
+ /// Invoked when the device orientation is changed.
+ ///
+ /// The event data describing the new orientation.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnDeviceOrientationChanged(DeviceOrientationEventArgs e);
+
+ ///
+ /// Invoked when the system time zone is changed.
+ ///
+ /// The event data describing the new time zone.
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void OnTimeZoneChanged(TimeZoneChangedEventArgs e);
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/src/Tizen.NUI/Tizen.NUI.csproj b/src/Tizen.NUI/Tizen.NUI.csproj
index 6e339531820..3471fd1e16c 100755
--- a/src/Tizen.NUI/Tizen.NUI.csproj
+++ b/src/Tizen.NUI/Tizen.NUI.csproj
@@ -24,6 +24,7 @@
+
diff --git a/src/Tizen.NUI/src/internal/Application/NUICoreBackend.cs b/src/Tizen.NUI/src/internal/Application/NUICoreBackend.cs
index 48fa7ed7241..dc92c8ea771 100755
--- a/src/Tizen.NUI/src/internal/Application/NUICoreBackend.cs
+++ b/src/Tizen.NUI/src/internal/Application/NUICoreBackend.cs
@@ -24,7 +24,7 @@
namespace Tizen.NUI
{
- class NUICoreBackend : ICoreTaskBackend
+ class NUICoreBackend : ICoreTaskBackend, IUICoreBackend
{
///
/// The Application instance to connect event.
diff --git a/src/Tizen.NUI/src/public/Application/NUIApplication.cs b/src/Tizen.NUI/src/public/Application/NUIApplication.cs
index 1c5e5276722..69268b0309e 100755
--- a/src/Tizen.NUI/src/public/Application/NUIApplication.cs
+++ b/src/Tizen.NUI/src/public/Application/NUIApplication.cs
@@ -32,7 +32,7 @@ namespace Tizen.NUI
/// Represents an application that have a UI screen. The NUIApplication class has a default stage.
///
/// 3
- public class NUIApplication : CoreApplication
+ public class NUIApplication : CoreApplication, IUIApplication
{
private static bool _isUsingXaml = true;
@@ -345,6 +345,13 @@ public NUIApplication(ThemeOptions option, WindowData windowData) : base(new NUI
ApplyThemeOption(option);
}
+ ///
+ /// Occurs before the application is created.
+ ///
+ /// This will be public opened in next tizen after ACR done. (Before ACR, need to be hidden as inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public event EventHandler PreCreated;
+
///
/// The Resumed event handler.
/// This event is triggered when the application resumes from being paused or stopped.
@@ -557,6 +564,7 @@ public static void RegisterAssembly(Assembly assembly)
/// 4
public override void Run(string[] args)
{
+ IUIApplication.Current = this;
Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
Backend.AddEventHandler(EventType.Resumed, ResumeHandler);
Backend.AddEventHandler(EventType.Paused, PauseHandler);
@@ -828,6 +836,7 @@ protected virtual void OnPreCreate()
{
GetDefaultWindow().EnableBorder(borderInterface, new Window.BorderCloseDelegate(Exit));
}
+ PreCreated?.Invoke(this, EventArgs.Empty);
Tizen.Tracer.End();
}
@@ -952,6 +961,119 @@ private void PauseHandler()
Paused?.Invoke(this, EventArgs.Empty);
}
+ #region IUIApplication Interface
+
+ ///
+ /// Gets the backend associated with this application as .
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IUICoreBackend IUIApplication.Backend => (NUICoreBackend)base.Backend;
+
+ ///
+ /// Gets the application information as .
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IApplicationInfo IUIApplication.ApplicationInfo => ApplicationInfo;
+
+ ///
+ /// Gets the directory information as .
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ IDirectoryInfo IUIApplication.DirectoryInfo => DirectoryInfo;
+
+ ///
+ /// Gets the default window as interface.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TWindow IUIApplication.GetDefaultWindow() => (TWindow)(object)GetDefaultWindow();
+
+ ///
+ /// Adds a delegate to be called when the main loop is idle.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ bool IUIApplication.AddIdle(Delegate func) => AddIdle(func);
+
+ ///
+ /// Removes a previously added idle delegate.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.RemoveIdle(Delegate func) => RemoveIdle(func);
+
+ // Methods - explicit interface implementation
+ ///
+ /// Invoked before the application is created.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnPreCreate() => OnPreCreate();
+
+ ///
+ /// Invoked when the application is created.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnCreate() => OnCreate();
+
+ ///
+ /// Invoked when the application is terminated.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnTerminate() => OnTerminate();
+
+ ///
+ /// Invoked when the application is paused.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnPause() => OnPause();
+
+ ///
+ /// Invoked when the application is resumed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnResume() => OnResume();
+
+ ///
+ /// Invoked when the application receives an app control request.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnAppControlReceived(AppControlReceivedEventArgs e) => OnAppControlReceived(e);
+
+ ///
+ /// Invoked when a low memory event is reported by the system.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLowMemory(LowMemoryEventArgs e) => OnLowMemory(e);
+
+ ///
+ /// Invoked when a low battery event is reported by the system.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLowBattery(LowBatteryEventArgs e) => OnLowBattery(e);
+
+ ///
+ /// Invoked when the system language is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnLocaleChanged(LocaleChangedEventArgs e) => OnLocaleChanged(e);
+
+ ///
+ /// Invoked when the region format is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnRegionFormatChanged(RegionFormatChangedEventArgs e) => OnRegionFormatChanged(e);
+
+ ///
+ /// Invoked when the device orientation is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnDeviceOrientationChanged(DeviceOrientationEventArgs e) => OnDeviceOrientationChanged(e);
+
+ ///
+ /// Invoked when the system time zone is changed.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ void IUIApplication.OnTimeZoneChanged(TimeZoneChangedEventArgs e) => OnTimeZoneChanged(e);
+
+ #endregion
+
///
/// Enum of Application status
///