Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions src/Tizen.NUI/src/public/Utility/TTSPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ namespace Tizen.NUI
/// The Text-to-speech (TTS) player.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obsolete is good, but why hiding the API with EditorBrowsable too? To me it's an overkill. Please consider removing all the added EditorBrowsable.

public class TTSPlayer : BaseHandle
{
private static readonly TTSPlayer[] instance = {TTSPlayer.GetInternal(TTSMode.Default), TTSPlayer.GetInternal(TTSMode.Notification), TTSPlayer.GetInternal(TTSMode.ScreenReader)};
Expand Down Expand Up @@ -56,6 +58,8 @@ internal TTSPlayer(TTSPlayer handle) : this(Interop.TtsPlayer.NewTtsPlayer(TTSPl
/// The StateChanged event is triggered when the state of the TTS player changes.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public event EventHandler<StateChangedEventArgs> StateChanged
{
add
Expand Down Expand Up @@ -84,56 +88,78 @@ public event EventHandler<StateChangedEventArgs> StateChanged
/// Enumeration for the instance of TTS mode.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public enum TTSMode
{
/// <summary>
/// Default mode for normal application.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Comment on lines 97 to +99
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 [AI Review]
🟡 Suggestion: The enclosing TTSMode enum is already marked [Obsolete] / [EditorBrowsable(Never)], so repeating the attributes on each enum value is redundant — CS0618 already fires on any TTSMode.X access via the enum-level attribute. Same applies to every value of TTSState and to the PrevState / NextState properties inside the already-obsolete StateChangedEventArgs. Dropping the per-member copies removes ~30 lines of noise.

Suggested change
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Default = 0,

Default = 0,
/// <summary>
/// Notification mode, such as playing utterance is started or completed.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Notification,
/// <summary>
/// Screen reader mode. <br />
/// To help visually impaired users interact with their devices,<br />
/// screen reader reads text or graphic elements on the screen using the TTS engine.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
ScreenReader,
/// <summary>
/// Number of mode.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
ModeNum
}

/// <summary>
/// Enumeration for the instance of TTS state.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public enum TTSState
{
/// <summary>
/// Player is not available.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Unavailable = 0,
/// <summary>
/// Player is ready to play.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Ready,
/// <summary>
/// Player is playing.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Playing,
/// <summary>
/// Player is paused.
/// </summary>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
Paused
}

/// <summary>
/// Gets the singleton of the TTSPlayer object.
/// </summary>
/// <since_tizen> 5 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static TTSPlayer Instance
{
get
Expand All @@ -148,6 +174,8 @@ public static TTSPlayer Instance
/// <param name="mode"> The mode of TTS player.</param>
/// <returns> A handle of the TTS player for the given mode.</returns>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static TTSPlayer Get(TTSMode mode)
{
return instance[(int)mode];
Expand All @@ -158,6 +186,8 @@ public static TTSPlayer Get(TTSMode mode)
/// </summary>
/// <returns> A handle of the TTS player for the default mode.</returns>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public static TTSPlayer Get()
{
return TTSPlayer.Instance;
Expand Down Expand Up @@ -210,6 +240,8 @@ protected override void Dispose(bool disposing)
/// <param name="text"> The text to play.</param>
/// <remarks>The TTS player needs to be initialized.</remarks>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void Play(string text)
{
Interop.TtsPlayer.Play(SwigCPtr, text);
Expand All @@ -221,6 +253,8 @@ public void Play(string text)
/// </summary>
/// <remarks>The TTS player needs to be initialized.</remarks>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void Stop()
{
Interop.TtsPlayer.Stop(SwigCPtr);
Expand All @@ -232,6 +266,8 @@ public void Stop()
/// </summary>
/// <remarks>The TTS player needs to be initialized.</remarks>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void Pause()
{
Interop.TtsPlayer.Pause(SwigCPtr);
Expand All @@ -243,6 +279,8 @@ public void Pause()
/// </summary>
/// <remarks>The TTS player needs to be initialized.</remarks>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public void Resume()
{
Interop.TtsPlayer.Resume(SwigCPtr);
Expand All @@ -255,6 +293,8 @@ public void Resume()
/// <returns> The current TTS state. </returns>
/// <remarks>The TTS player needs to be initialized.</remarks>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TTSState GetState()
{
TTSState ret = (TTSState)Interop.TtsPlayer.GetState(SwigCPtr);
Expand Down Expand Up @@ -292,12 +332,16 @@ private void OnStateChanged(TTSState prevState, TTSState nextState)
/// This class represents the event arguments used when the state of the TTS player changes.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public class StateChangedEventArgs : EventArgs
{
/// <summary>
/// The previous state of the TTS player before the change.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TTSState PrevState
{
get;
Expand All @@ -308,6 +352,8 @@ public TTSState PrevState
/// The new state of the TTS player after the change.
/// </summary>
/// <since_tizen> 3 </since_tizen>
[Obsolete("This has been deprecated in API14. Please use Tizen.Uix.Tts instead.")]
[EditorBrowsable(EditorBrowsableState.Never)]
public TTSState NextState
{
get;
Expand Down
Loading