diff --git a/src/Tizen.Applications.Alarm/Interop/Interop.Alarm.cs b/src/Tizen.Applications.Alarm/Interop/Interop.Alarm.cs
index 85f7fb66c12..a7adbf724f6 100755
--- a/src/Tizen.Applications.Alarm/Interop/Interop.Alarm.cs
+++ b/src/Tizen.Applications.Alarm/Interop/Interop.Alarm.cs
@@ -54,6 +54,15 @@ internal struct DateTime
[DllImport(Libraries.Alarm, EntryPoint = "alarm_schedule_with_recurrence_week_flag")]
internal static extern int CreateAlarmRecurWeek(SafeAppControlHandle appControl, ref DateTime date, int week, out int alarmId);
+ [DllImport(Libraries.Alarm, EntryPoint = "alarm_schedule_service_with_recurrence_seconds")]
+ internal static extern int CreateAlarmRecurForService(SafeAppControlHandle appControl, ref DateTime date, int period, out int alarmId);
+
+ [DllImport(Libraries.Alarm, EntryPoint = "alarm_schedule_service_once_after_delay")]
+ internal static extern int CreateAlarmOnceAfterDelayForService(SafeAppControlHandle appControl, int delay, out int alarmId);
+
+ [DllImport(Libraries.Alarm, EntryPoint = "alarm_schedule_service_once_at_date")]
+ internal static extern int CreateAlarmOnceAtDateForService(SafeAppControlHandle appControl, ref DateTime date, out int alarmId);
+
[DllImport(Libraries.Alarm, EntryPoint = "alarm_get_scheduled_recurrence_week_flag")]
internal static extern int GetAlarmWeekFlag(int alarmId, out int weekFlag);
diff --git a/src/Tizen.Applications.Alarm/Tizen.Applications/Alarm.cs b/src/Tizen.Applications.Alarm/Tizen.Applications/Alarm.cs
index 5110a58e63b..a5e5428ca5d 100755
--- a/src/Tizen.Applications.Alarm/Tizen.Applications/Alarm.cs
+++ b/src/Tizen.Applications.Alarm/Tizen.Applications/Alarm.cs
@@ -61,14 +61,17 @@ public int AlarmId
/// http://tizen.org/privilege/alarm.get
///
/// The setter for WeekFlag property is available since API Level 6.
- /// Weekflag can be a combination of the days of the week, for example Tuesday | Friday.
- /// If the period is already set, it will be removed and the week repetition flag will be set.
- /// If the week repetition flag is already set, it will be overwritten. If not, it will be set.
+ /// Weekflag can represent a combination of days of the week, such as Tuesday | Friday.
+ /// If the period is already set, it will be removed and the week repetition flag will be set instead.
+ /// If the week repetition flag is already set, it will be overwritten. Otherwise, it will be set.
/// If the Weekflag argument is 0 and the flag is already set,
- /// the flag will be cleared and the alarm will be changed to set once.
- /// If the Weekflag argument is 0, and the flag is not set or the period is set,
- /// the alarm won't be changed.
+ /// the flag will be cleared and the alarm will be changed to a single occurrence.
+ /// If the Weekflag argument is 0 and no flag is set or if the period is set,
+ /// the alarm will remain unchanged.
///
+ /// Thrown in case of an invalid parmaeter.
+ /// Thrown in case of a permission denied due to insufficient privileges.
+ /// Thrown in case of any internal error.
/// 3
public AlarmWeekFlag WeekFlag
{
@@ -103,6 +106,9 @@ public AlarmWeekFlag WeekFlag
///
/// The SchduleDate property setter is available since API Level 6.
///
+ /// Thrown in case of an invalid parmaeter.
+ /// Thrown in case of a permission denied due to insufficient privileges.
+ /// Thrown in case of any internal error.
/// 3
public DateTime ScheduledDate
{
@@ -141,19 +147,22 @@ public DateTime ScheduledDate
}
///
- /// Gets the period of time between the recurrent alarms.
+ /// Gets or sets the period of time between the recurrent alarms.
///
/// http://tizen.org/privilege/alarm.set
/// http://tizen.org/privilege/alarm.get
///
/// The Period property setter is available since API Level 6.
/// If the week recurrence flag was set before, it will be removed and the period will be set
- /// If the period was set before, it will be overwritten.If it was not, it will be set.
+ /// If the period was set before, it will be overwritten. If it was not, it will be set.
/// If the @a period argument is 0 and the period was previously set,
/// the period attribute will be cleared and the alarm will be changed to one-time.
/// If the @a period argument is 0 and the period was not set,
- /// or the week recurrence flag was set, the alarm will be unchanged.
+ /// or the week recurrence flag was set, the alarm will remain unchanged.
///
+ /// Thrown in case of an invalid parmaeter.
+ /// Thrown in case of a permission denied due to insufficient privileges.
+ /// Thrown in case of any internal error.
/// 3
public int Period
{
diff --git a/src/Tizen.Applications.Alarm/Tizen.Applications/AlarmManager.cs b/src/Tizen.Applications.Alarm/Tizen.Applications/AlarmManager.cs
index 0aaf4279051..007949e2f98 100755
--- a/src/Tizen.Applications.Alarm/Tizen.Applications/AlarmManager.cs
+++ b/src/Tizen.Applications.Alarm/Tizen.Applications/AlarmManager.cs
@@ -18,6 +18,7 @@ namespace Tizen.Applications
{
using System;
using System.Collections.Generic;
+ using System.ComponentModel;
using System.Runtime.InteropServices;
using Tizen.Applications.Notifications;
@@ -102,7 +103,7 @@ public enum AlarmStandardPeriod
}
///
- /// Mobile devices typically give constant access to information from various sources. Some of this information is best delivered through alarms.
+ /// Devices typically give constant access to information from various sources. Some of this information is best delivered through alarms.
/// The most obvious case is a calendar scheduling application, which lets you know when a meeting is about to start. Alarms are certainly better than actively waiting in a loop.
/// They are also better than putting an interface to sleep because they do not block your main UI thread.
/// Use of alarms helps build smooth user experiences and implements unattended data synchronization tasks.
@@ -149,7 +150,7 @@ internal static DateTime ConvertIntPtrToDateTime(Interop.Alarm.DateTime time)
/// Sets an alarm to be triggered after a specific time.
/// The alarm will first go off delay seconds later and then will go off every certain amount of time defined using period seconds.
///
- /// The amount of time before the first execution (in seconds).
+ /// The amount of time before the first execution (in seconds). Although this is inexact, the alarm will not fire before this time
/// The amount of time between subsequent alarms (in seconds). This value does not guarantee the accuracy.
/// The actual interval is calculated by the OS. The minimum value is 600sec.
/// The destination AppControl is used to perform a specific task when the alarm is triggered.
@@ -185,6 +186,7 @@ public static Alarm CreateAlarm(int delay, int period, AppControl appControl)
/// The amount of time before the execution (in seconds).
/// The destination AppControl to perform a specific task when the alarm is triggered.
/// An alarm instance is created with the set param values.
+ /// This operation is permitted with the UI application appcontrol only.
/// Thrown in case of an invalid parameter.
/// Thrown in case of a permission denied.
/// Thrown in case of any internal error.
@@ -330,7 +332,7 @@ public static Alarm CreateAlarm(DateTime dateTime, Notification notification)
/// Sets a notification alarm to be triggered after a specific time.
/// The alarm will first go off delay seconds later and then will go off every certain amount of time defined using period seconds.
///
- /// The amount of time before the first execution (in seconds).
+ /// The amount of time before the first execution (in seconds). Although this is inexact, the alarm will not fire before this time
/// The amount of time between subsequent alarms (in seconds). This value does not guarantee the accuracy.
/// The notification to be posted when the alarm is triggered.
/// An alarm instance is created with the set param values.
@@ -438,6 +440,119 @@ public static Alarm CreateAlarm(int delay, AlarmStandardPeriod standardPeriod, N
return CreateAlarm(delay, (int)standardPeriod, notification);
}
+ ///
+ /// Sets an alarm to be triggered after a specific time.
+ /// The alarm will go off delay seconds later.
+ ///
+ /// The amount of time before the execution (in seconds).
+ /// The destination AppControl to perform a specific task when the alarm is triggered.
+ /// An alarm instance is created with the set param values.
+ ///
+ /// This operation only allows service application which has Background Category to set an exact alarm.
+ ///
+ /// Thrown in case of an invalid parameter.
+ /// Thrown in case of a permission denied.
+ /// Thrown in case of any internal error.
+ /// http://tizen.org/privilege/alarm.set
+ /// http://tizen.org/privilege/appmanager.launch
+ /// 12
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static Alarm CreateAlarmForServiceApp(int delay, AppControl appControl)
+ {
+ if (appControl == null)
+ {
+ throw AlarmErrorFactory.GetException(AlarmError.InvalidParameter, "AppControl should be not null");
+ }
+
+ Alarm alarm = null;
+ int alarmId;
+ AlarmError ret = (AlarmError)Interop.Alarm.CreateAlarmOnceAfterDelayForService(appControl.SafeAppControlHandle, delay, out alarmId);
+ alarm = new Alarm(alarmId);
+ if (ret != AlarmError.None)
+ {
+ throw AlarmErrorFactory.GetException(ret, "Failed to create Alarm");
+ }
+
+ return alarm;
+ }
+
+ ///
+ /// Sets an alarm to be triggered at a specific time.
+ /// The date describes the time of the first occurrence.
+ ///
+ /// The first active alarm time.
+ /// The destination AppControl to perform specific work when the alarm is triggered.
+ /// An alarm instance is created with the set param values.
+ ///
+ /// This operation only allows service application which has Background Category to set an exact alarm.
+ ///
+ /// Thrown in case of an invalid parameter.
+ /// Thrown in case of a permission denied.
+ /// Thrown in case of any internal error.
+ /// http://tizen.org/privilege/alarm.set
+ /// http://tizen.org/privilege/appmanager.launch
+ /// 12
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static Alarm CreateAlarmForServiceApp(DateTime value, AppControl appControl)
+ {
+ if (appControl == null)
+ {
+ throw AlarmErrorFactory.GetException(AlarmError.InvalidParameter, "AppControl should be not null");
+ }
+
+ Alarm alarm = null;
+ int alarmId;
+ Interop.Alarm.DateTime time = ConvertDateTimeToStruct(value);
+ AlarmError ret = (AlarmError)Interop.Alarm.CreateAlarmOnceAtDateForService(appControl.SafeAppControlHandle, ref time, out alarmId);
+ alarm = new Alarm(alarmId);
+ if (ret != AlarmError.None)
+ {
+ throw AlarmErrorFactory.GetException(ret, "Failed to create Alarm");
+ }
+
+ return alarm;
+ }
+
+ ///
+ /// Sets an alarm to be triggered at a specific time.
+ /// The alarm will first go off at a specific time and then will go off every certain amount of time defined using period seconds.
+ ///
+ /// The first active alarm time.
+ /// The amount of time between subsequent alarms (in seconds).
+ /// The destination AppControl is used to perform a specific task when the alarm is triggered.
+ /// An alarm instance is created with the set param values.
+ ///
+ /// This operation only allows service application which has Background Category to set an exact alarm.
+ /// This API can have a significant impact on power usage when the device is in idle state, so apps that use it may greatly increase battery consumption.
+ /// Therefore, caution should be taken when using this API.
+ ///
+ /// Thrown in case of an invalid parameter.
+ /// Thrown in case of a permission denied.
+ /// Thrown in case of any internal error.
+ /// http://tizen.org/privilege/alarm.set
+ /// http://tizen.org/privilege/appmanager.launch
+ /// 12
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public static Alarm CreateAlarmForServiceApp(DateTime value, int period, AppControl appControl)
+ {
+ if (appControl == null)
+ {
+ throw AlarmErrorFactory.GetException(AlarmError.InvalidParameter, "AppControl should be not null");
+ }
+
+ Alarm alarm = null;
+ int alarmId;
+ Interop.Alarm.DateTime time = ConvertDateTimeToStruct(value);
+ AlarmError ret = (AlarmError)Interop.Alarm.CreateAlarmRecurForService(appControl.SafeAppControlHandle, ref time, period, out alarmId);
+ alarm = new Alarm(alarmId);
+ if (ret != AlarmError.None)
+ {
+ throw AlarmErrorFactory.GetException(ret, "Failed to create Alarm");
+ }
+
+ return alarm;
+ }
+
///
/// Cancels all scheduled alarms that are registered by the application that calls this API.
///
diff --git a/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs b/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs
index 9f01052a4db..4c7f7932128 100755
--- a/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs
+++ b/src/Tizen.Applications.PackageManager/Tizen.Applications/PackageManager.cs
@@ -59,6 +59,30 @@ public static class PackageManager
/// Event type of the request.
/// Current event state of the request.
/// Progress for the request being processed by the package manager (in percent).
+ ///
+ /// The RequestEventCallback function provides information about the current status of a package request. It is called every time there is an update in the package request process. By monitoring the arguments passed to this function, you can keep track of the progress and events related to the package request.
+ ///
+ ///
+ ///
+ /// private static void OnRequestEventCallback(string type, string packageId, PackageEventType eventType, PackageEventState eventState, int progress)
+ /// {
+ /// switch (eventType)
+ /// {
+ /// case PackageEventType.Installing:
+ /// Console.WriteLine($"Package '{packageId}' is currently installing.");
+ /// break;
+ /// case PackageEventType.Updating:
+ /// Console.WriteLine($"Package '{packageId}' is currently updating.");
+ /// break;
+ /// case PackageEventType.Removing:
+ /// Console.WriteLine($"Package '{packageId}' is currently removing.");
+ /// break;
+ /// default:
+ /// throw new ArgumentException($"Unknown event type: {eventType}");
+ /// }
+ /// }
+ ///
+ ///
/// 3
public delegate void RequestEventCallback(string type, string packageId, PackageEventType eventType, PackageEventState eventState, int progress);
@@ -72,9 +96,9 @@ public static class PackageManager
private delegate Interop.PackageManager.ErrorCode InstallPackagesMethod(SafePackageManagerRequestHandle requestHandle, string[] pkgPaths, int pathsCount, out int requestID);
///
- /// InstallProgressChanged event. This event occurs when a package is getting installed and the progress of the request to the package manager is changed.
+ /// InstallProgressChanged event. Occurs when a package is being installed and the progress of the request to the package manager changes.
///
- /// Thrown when subscribing to package manager event failed.
+ /// Thrown when subscribing to package manager event fails.
/// 3
public static event EventHandler InstallProgressChanged
{
@@ -122,7 +146,7 @@ public static event EventHandler UninstallProgressChang
UnregisterPackageManagerEventIfNeeded();
UnsetPackageManagerEventStatus();
}
- }
+ }
}
///
@@ -286,8 +310,8 @@ private static SafePackageManagerHandle Handle
///
/// The ID of the application.
/// Returns the ID of the package.
- /// It returns null if the input is null.
- /// Thrown when input application ID does not exist.
+ /// If the input is null, it returns null.
+ /// Thrown when the input application ID does not exist.
/// Thrown when there is not enough memory to continue the execution of the method.
/// Thrown when an application does not have the privilege to access this method.
/// http://tizen.org/privilege/packagemanager.info
@@ -346,6 +370,10 @@ public static void ClearCacheDirectory(string packageId)
///
/// Clears all the application's internal and external cache directories.
///
+ ///
+ /// This method clears both the internal and external cache directories of the application. It ensures that any cached files are removed from the device storage.
+ /// By calling this method, you can free up valuable space on the device and improve its performance. However, note that this operation may take some time depending on the amount of cached data present in the directories.
+ ///
/// Thrown when there is not enough memory to continue the execution of the method.
/// Thrown when the method fails due to an internal IO error.
/// Thrown when an application does not have the privilege to access this method.
@@ -368,13 +396,13 @@ public static void ClearAllCacheDirectory()
///
///
/// All files under data, shared/data, and shared/trusted in the internal storage are removed.
- /// And, if the external storage exists, then all files under data and shared/trusted in the external storage are removed.
+ /// And, if the external storage exists, then all files under data and shared/trusted in the external storage are also removed.
///
/// ID of the package.
/// Thrown when there is not enough memory to continue the execution of the method.
- /// Thrown when the method failed due to an internal IO error.
- /// Thrown when an application does not have the privilege to access this method.
- /// Thrown when the method failed due to an internal system error.
+ /// Thrown when the method fails due to an internal IO error.
+ /// Thrown when an application does not have the required privileges to access this method.
+ /// Thrown when the method fails due to an internal system error.
/// http://tizen.org/privilege/packagemanager.admin
/// platform
/// 3
@@ -533,10 +561,9 @@ public static async Task GetTotalSizeInformationAsync()
///
/// Absolute path for the package to be installed.
/// Optional parameter to indicate special installation mode.
- /// Returns true if the installation request is successful, otherwise false.
+ /// True if the installation request is successful, otherwise false.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of the installation, the caller should check the progress using the InstallProgressChanged event.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -554,8 +581,7 @@ public static bool Install(string packagePath, InstallationMode installMode = In
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -573,8 +599,7 @@ public static bool Install(string packagePath, RequestEventCallback eventCallbac
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -592,8 +617,7 @@ public static bool Install(string packagePath, PackageType type, InstallationMod
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -612,8 +636,7 @@ public static bool Install(string packagePath, string expansionPackagePath, Inst
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -632,8 +655,7 @@ public static bool Install(string packagePath, PackageType type, RequestEventCal
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -652,8 +674,7 @@ public static bool Install(string packagePath, string expansionPackagePath, Requ
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -673,8 +694,7 @@ public static bool Install(string packagePath, string expansionPackagePath, Pack
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -691,8 +711,7 @@ public static bool Install(string packagePath, string expansionPackagePath, Pack
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -710,8 +729,7 @@ public static bool Install(List packagePaths, InstallationMode installMo
/// Optional parameter to indicate special installation mode.
/// Returns true if installation request is successful, false otherwise.
///
- /// The 'true' means that the request for installation is successful.
- /// To check the result of installation, the caller should check the progress using the InstallProgressChanged event or eventCallback.
+ /// True indicates that the installation request was successful. However, to determine whether the actual installation was completed successfully, the caller must monitor the progress by subscribing to the InstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -878,8 +896,7 @@ private static bool InstallInternal(List packagePaths, string expansionP
/// ID of the package to be uninstalled.
/// Returns true if the uninstallation request is successful, false otherwise.
///
- /// The 'true' means that the request for uninstallation is successful.
- /// To check the result of uninstallation, the caller should check the progress using the UninstallProgressChanged event.
+ /// The return value 'true' indicates that the uninstallation request was successfully made. However, in order to determine whether the actual uninstallation process completed without any errors, the caller needs to monitor the progress through the UninstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -896,8 +913,7 @@ public static bool Uninstall(string packageId)
/// Optional - Package type for the package to be uninstalled.
/// Returns true if the uninstallation request is successful, false otherwise.
///
- /// The 'true' means that the request for uninstallation is successful.
- /// To check the result of uninstallation, the caller should check the progress using the UninstallProgressChanged event.
+ /// The return value 'true' indicates that the uninstallation request was successfully made. However, in order to determine whether the actual uninstallation process completed without any errors, the caller needs to monitor the progress through the UninstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -914,8 +930,7 @@ public static bool Uninstall(string packageId, PackageType type)
/// Optional - The event callback will be invoked only for the current request.
/// Returns true if the uninstallation request is successful, false otherwise.
///
- /// The 'true' means that the request for uninstallation is successful.
- /// To check the result of uninstallation, the caller should check the progress using the UninstallProgressChanged event or eventCallback.
+ /// The return value 'true' indicates that the uninstallation request was successfully made. However, in order to determine whether the actual uninstallation process completed without any errors, the caller needs to monitor the progress through the UninstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -933,8 +948,7 @@ public static bool Uninstall(string packageId, RequestEventCallback eventCallbac
/// Optional - The event callback will be invoked only for the current request.
/// Returns true if the uninstallation request is successful, false otherwise.
///
- /// The 'true' means that the request for uninstallation is successful.
- /// To check the result of uninstallation, the caller should check the progress using the UninstallProgressChanged event or eventCallback.
+ /// The return value 'true' indicates that the uninstallation request was successfully made. However, in order to determine whether the actual uninstallation process completed without any errors, the caller needs to monitor the progress through the UninstallProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -1005,8 +1019,8 @@ public static bool Uninstall(string packageId, PackageType type, RequestEventCal
/// Storage package should be moved to.
/// Returns true if the move request is successful, false otherwise.
///
- /// The 'true' means that the request for move is successful.
- /// To check the result of move, the caller should check the progress using the MoveProgressChanged event.
+ /// The return value 'true' indicates that the move request was successfully made.
+ /// To determine whether the actual move operation completed successfully, the caller needs to monitor the progress by handling the MoveProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -1024,8 +1038,8 @@ public static bool Move(string packageId, StorageType newStorage)
/// Storage package should be moved to.
/// Returns true if the move request is successful, false otherwise.
///
- /// The 'true' means that the request for move is successful.
- /// To check the result of move, the caller should check the progress using the MoveProgressChanged event.
+ /// The return value 'true' indicates that the move request was successfully made.
+ /// To determine whether the actual move operation completed successfully, the caller needs to monitor the progress by handling the MoveProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -1043,8 +1057,8 @@ public static bool Move(string packageId, PackageType type, StorageType newStora
/// Optional - The event callback will be invoked only for the current request.
/// Returns true if move request is successful, false otherwise.
///
- /// The 'true' means that the request for move is successful.
- /// To check the result of move, the caller should check the progress using the MoveProgressChanged event.
+ /// The return value 'true' indicates that the move request was successfully made.
+ /// To determine whether the actual move operation completed successfully, the caller needs to monitor the progress by handling the MoveProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
@@ -1063,8 +1077,8 @@ public static bool Move(string packageId, StorageType newStorage, RequestEventCa
/// Optional - The event callback will be invoked only for the current request.
/// Returns true if move request is successful, false otherwise.
///
- /// The 'true' means that the request for move is successful.
- /// To check the result of move, the caller should check the progress using the MoveProgressChanged event.
+ /// The return value 'true' indicates that the move request was successfully made.
+ /// To determine whether the actual move operation completed successfully, the caller needs to monitor the progress by handling the MoveProgressChanged event.
///
/// http://tizen.org/privilege/packagemanager.admin
/// platform
diff --git a/src/Tizen.NUI/src/internal/Interop/Interop.WebSettings.cs b/src/Tizen.NUI/src/internal/Interop/Interop.WebSettings.cs
index b1013763d2c..6599ead1636 100755
--- a/src/Tizen.NUI/src/internal/Interop/Interop.WebSettings.cs
+++ b/src/Tizen.NUI/src/internal/Interop/Interop.WebSettings.cs
@@ -175,6 +175,12 @@ internal static partial class WebSettings
[return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
public static extern bool IsTextZoomEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebSettings_SetImeStyle")]
+ public static extern void SetImeStyle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebSettings_GetImeStyle")]
+ public static extern int GetImeStyle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebSettings_SetExtraFeature")]
public static extern void SetExtraFeature(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, bool jarg3);
diff --git a/src/Tizen.NUI/src/internal/Interop/Interop.WebView.cs b/src/Tizen.NUI/src/internal/Interop/Interop.WebView.cs
index faa326dfdaa..110f9913931 100755
--- a/src/Tizen.NUI/src/internal/Interop/Interop.WebView.cs
+++ b/src/Tizen.NUI/src/internal/Interop/Interop.WebView.cs
@@ -171,6 +171,13 @@ internal static partial class WebView
[return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
public static extern bool StopInspectorServer(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebView_SetImePositionAndAlignment")]
+ [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
+ public static extern bool SetImePositionAndAlignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebView_SetCursorThemeName")]
+ public static extern void SetCursorThemeName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_WebView_ScrollBy")]
public static extern void ScrollBy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
diff --git a/src/Tizen.NUI/src/internal/WebView/WebSettings.cs b/src/Tizen.NUI/src/internal/WebView/WebSettings.cs
index 96fc1526d63..b9eceb11289 100755
--- a/src/Tizen.NUI/src/internal/WebView/WebSettings.cs
+++ b/src/Tizen.NUI/src/internal/WebView/WebSettings.cs
@@ -39,6 +39,31 @@ internal WebSettings(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, c
{
}
+ ///
+ /// Enumeration for style of IME.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public enum WebImeStyle
+ {
+ ///
+ /// Full IME style
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Full = 0,
+
+ ///
+ /// Floating IME style
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Floating,
+
+ ///
+ /// Dynamic IME style
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Dynamic,
+ }
+
///
/// Allows mixed contents or not.
///
@@ -506,6 +531,23 @@ public bool TextZoomEnabled
}
}
+ ///
+ /// The style of IME.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public WebImeStyle ImeStyle
+ {
+ get
+ {
+ return (WebImeStyle)Interop.WebSettings.GetImeStyle(SwigCPtr);
+ }
+ set
+ {
+ Interop.WebSettings.SetImeStyle(SwigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ }
+
///
/// Enables the given extra feature.
///
diff --git a/src/Tizen.NUI/src/public/WebView/WebView.cs b/src/Tizen.NUI/src/public/WebView/WebView.cs
index 3fb6cf84d33..3f066850948 100755
--- a/src/Tizen.NUI/src/public/WebView/WebView.cs
+++ b/src/Tizen.NUI/src/public/WebView/WebView.cs
@@ -1228,6 +1228,67 @@ public enum WebEngineType
LWE = 1,
}
+ ///
+ /// IME alignment in web page.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public enum ImeAlignment
+ {
+ ///
+ /// Top-left corner.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TopLeft = 0,
+
+ ///
+ /// top-center position.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TopCenter,
+
+ ///
+ /// Top-right corner.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ TopRight,
+
+ ///
+ /// Middle-left position.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ MiddleLeft,
+
+ ///
+ /// Middle-center position.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ MiddleCenter,
+
+ ///
+ /// Middle-right position.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ MiddleRight,
+
+ ///
+ /// Bottom-left corner.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ BottomLeft,
+
+ ///
+ /// Bottom-center position.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ BottomCenter,
+
+ ///
+ /// Bottom-right corner.
+ ///
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ BottomRight,
+ }
+
///
/// Context.
///
@@ -2542,6 +2603,31 @@ public bool StopInspectorServer()
return result;
}
+ ///
+ /// Set the style of IME.
+ ///
+ /// The position of IME
+ /// The alignment of IME
+ /// True if setting successfully, false otherwise
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public bool SetImePositionAndAlignment(Vector2 position, ImeAlignment alignment)
+ {
+ bool result = Interop.WebView.SetImePositionAndAlignment(SwigCPtr, Vector2.getCPtr(position), (int)alignment);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return result;
+ }
+
+ ///
+ /// Set the theme name of cursor.
+ ///
+ /// The theme name of cursor
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SetCursorThemeName(string themeName)
+ {
+ Interop.WebView.SetCursorThemeName(SwigCPtr, themeName);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
///
/// Scrolls page of web view by deltaX and detlaY.
///
diff --git a/src/Tizen.System/Device/Battery.cs b/src/Tizen.System/Device/Battery.cs
index 94bc5bbc5db..0bb9bf73d2a 100755
--- a/src/Tizen.System/Device/Battery.cs
+++ b/src/Tizen.System/Device/Battery.cs
@@ -58,6 +58,35 @@ public enum BatteryLevelStatus
Full
}
+ ///
+ /// Enumeration for the current device's power source information from the battery.
+ /// These represent the current battery power source type (e.g., ac, usb, etc).
+ ///
+ /// 12
+ public enum BatteryPowerSource
+ {
+ ///
+ /// These is no power source.
+ ///
+ /// 12
+ None = 0,
+ ///
+ /// AC power cable is connected.
+ ///
+ /// 12
+ Ac = 1,
+ ///
+ /// USB power cable is connected.
+ ///
+ /// 12
+ Usb = 2,
+ ///
+ /// Power is provided by a wireless source.
+ ///
+ /// 12
+ Wireless = 3
+ }
+
///
/// The Battery class provides the properties and events for the device battery.
///
@@ -164,6 +193,38 @@ public static bool IsCharging
return charging;
}
}
+ ///
+ /// Gets the current device's power source information from the battery.
+ ///
+ ///
+ /// Retrieves the current battery power source information (e.g., ac, usb, etc).
+ ///
+ /// 12
+ /// The battery power source type.
+ ///
+ ///
+ /// using Tizen.System;
+ /// ...
+ /// BatteryPowerSource PowerSourceType = Battery.PowerSource;
+ /// if (PowerSourceType == BatteryPowerSource.None)
+ /// ...
+ /// ...
+ ///
+ ///
+ ///
+ public static BatteryPowerSource PowerSource
+ {
+ get
+ {
+ int power_source_type = 0;
+ DeviceError res = (DeviceError)Interop.Device.DeviceBatteryGetPowerSource(out power_source_type);
+ if (res != DeviceError.None)
+ {
+ Log.Warn(DeviceExceptionFactory.LogTag, "unable to get battery power source type.");
+ }
+ return (BatteryPowerSource)power_source_type;
+ }
+ }
private static event EventHandler s_capacityChanged;
///
diff --git a/src/Tizen.System/Interop/Interop.Device.cs b/src/Tizen.System/Interop/Interop.Device.cs
index c60c0d6d401..9bb2254b23e 100644
--- a/src/Tizen.System/Interop/Interop.Device.cs
+++ b/src/Tizen.System/Interop/Interop.Device.cs
@@ -117,6 +117,8 @@ internal enum PowerLockState
public static extern int DeviceBatteryIsCharging(out bool charging);
[DllImport(Libraries.Device, EntryPoint = "device_battery_get_level_status", CallingConvention = CallingConvention.Cdecl)]
public static extern int DeviceBatteryGetLevelStatus(out int status);
+ [DllImport(Libraries.Device, EntryPoint = "device_battery_get_power_source", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int DeviceBatteryGetPowerSource(out int power_source_type);
// Display
[DllImport(Libraries.Device, EntryPoint = "device_display_get_numbers", CallingConvention = CallingConvention.Cdecl)]