Skip to content

Deprecated ComponentBased.Common api#7553

Open
kdk3776 wants to merge 1 commit intoSamsung:mainfrom
kdk3776:main
Open

Deprecated ComponentBased.Common api#7553
kdk3776 wants to merge 1 commit intoSamsung:mainfrom
kdk3776:main

Conversation

@kdk3776
Copy link
Copy Markdown
Contributor

@kdk3776 kdk3776 commented Apr 6, 2026

API Changes

  • ACR: TCSACR-647

@kdk3776 kdk3776 requested review from hjhun, pjh9216 and upple as code owners April 6, 2026 23:08
@github-actions github-actions bot added the API14 Platform : Tizen 11.0 / TFM: net8.0-tizen11.0 label Apr 6, 2026
@TizenAPI-Bot
Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 0, Removed: 0, Changed: 48

Changed

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.BaseComponent

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.String Tizen.Applications.ComponentBased.Common.BaseComponent::ComponentId()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.String Tizen.Applications.ComponentBased.Common.BaseComponent::Id()

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.ComponentBasedApplication Tizen.Applications.ComponentBased.Common.BaseComponent::Parent()

/// <privilege>http://tizen.org/privilege/appmanager.launch</privilege
/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Threading.Tasks.Task`1<Tizen.Applications.AppControlResult> Tizen.Applications.ComponentBased.Common.BaseComponent::SendLaunchRequestAsync(Tizen.Applications.AppControl,Tizen.Applications.AppControlReplyCallback)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.BaseComponent::Finish()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.BaseComponent::OnRestoreContents(Tizen.Applications.Bundle)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.BaseComponent::OnSaveContent(Tizen.Applications.Bundle)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.DeviceOrientationEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::DeviceOrientationChanged

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.LocaleChangedEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::LocaleChanged

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.LowBatteryEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::LowBattery

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.LowMemoryEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::LowMemory

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.RegionFormatChangedEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::RegionFormatChanged

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.SuspendedStateEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::SuspendedStateChanged

/// <since_tizen>11</since_tizen
+ [Obsolete]
System.EventHandler`1<Tizen.Applications.TimeZoneChangedEventArgs> Tizen.Applications.ComponentBased.Common.BaseComponent::TimeZoneChanged

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.ComponentBasedApplication

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::.ctor(System.Collections.Generic.IDictionary`2<System.Type,System.String>)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::Exit()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::OnExit()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::OnFinished()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::OnInit(System.String[])

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::OnRun()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::RegisterComponent(System.Type,System.String)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ComponentBasedApplication::Run(System.String[])

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.DisplayStatus

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.FrameComponent

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.DisplayStatus Tizen.Applications.ComponentBased.Common.FrameComponent::DisplayStatus()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Boolean Tizen.Applications.ComponentBased.Common.FrameComponent::OnCreate()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.FrameComponent::OnDestroy()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.FrameComponent::OnPause()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.FrameComponent::OnResume()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.FrameComponent::OnStart(Tizen.Applications.AppControl,System.Boolean)

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.FrameComponent::OnStop()

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.IWindowInfo Tizen.Applications.ComponentBased.Common.FrameComponent::CreateWindowInfo()

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.IWindowInfo

/// <since_tizen>9</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.IWindowProxy

/// <since_tizen>6</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.ServiceComponent

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Boolean Tizen.Applications.ComponentBased.Common.ServiceComponent::OnCreate()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ServiceComponent::OnDestroy()

/// <since_tizen>6</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.ServiceComponent::OnStartCommand(Tizen.Applications.AppControl,System.Boolean)

/// <since_tizen>9</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.WidgetComponent

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Boolean Tizen.Applications.ComponentBased.Common.WidgetComponent::OnCreate(System.Int32,System.Int32)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.WidgetComponent::OnDestroy(System.Boolean)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.WidgetComponent::OnPause()

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.WidgetComponent::OnResume()

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.WidgetComponent::OnStart(System.Boolean)

/// <since_tizen>9</since_tizen
+ [Obsolete]
System.Void Tizen.Applications.ComponentBased.Common.WidgetComponent::OnStop()

/// <since_tizen>9</since_tizen
+ [Obsolete]
Tizen.Applications.ComponentBased.Common.IWindowProxy Tizen.Applications.ComponentBased.Common.WidgetComponent::CreateWindowInfo(System.Int32,System.Int32)

Internal API Changed

Added: 0, Removed: 0, Changed: 1

Changed

/// <since_tizen>6</since_tizen
+ [Obsolete]
[EditorBrowsable(EditorBrowsableState.Never)]
System.IntPtr Tizen.Applications.ComponentBased.Common.BaseComponent::ContextHandle()

Copy link
Copy Markdown
Member

@wiertel wiertel left a comment

Choose a reason for hiding this comment

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

Could you change "api" -> "API" in the PR title?

/// A Context Handle
/// </summary>
/// <since_tizen> 6 </since_tizen>
[Obsolete("This has been deprecated in API14")]
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.

It's hidden, so there it is not necessary. Still, it's not a problem.

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.

Agreed -- since ContextHandle is [EditorBrowsable(Never)], the [Obsolete] attribute is redundant there. The note is appreciated; the author may want to remove it for cleanliness even though it causes no harm.

@JoonghyunCho
Copy link
Copy Markdown
Member

Code review posted by automated pipeline.

@JoonghyunCho
Copy link
Copy Markdown
Member

Code Review (continued)

1. Inconsistent Obsolete message format
This PR uses a different deprecation message than the related PR #7556. These two PRs should align on the same wording for consistency across the Tizen.Applications.ComponentBased namespace.

2. Avoid marking Dispose() as Obsolete
Adding [Obsolete] to Dispose() causes a compiler warning on the implicit call inside a using statement, which is a poor developer experience. The class-level [Obsolete] attribute already warns consumers at the point of instantiation.

3. Redundant per-member Obsolete on override methods
[Obsolete] on overrides like OnRestoreContents and OnSaveContent is not necessary because the compiler propagates the warning from the base class. Consider removing from overrides unless API tooling specifically requires it.

@JoonghyunCho
Copy link
Copy Markdown
Member

Responding to @wiertel's review: seconding the request to update the PR title from 'Deprecated ComponentBased.Common api' to 'Deprecated ComponentBased.Common API' to match the naming convention used elsewhere in TizenFX PR titles.

Copy link
Copy Markdown
Member

@JoonghyunCho JoonghyunCho left a comment

Choose a reason for hiding this comment

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

🤖 [AI Review]

PR #7553 — Deprecated ComponentBased.Common API


🟡 Suggestion: [Obsolete] attribute is missing a deprecation message

All [Obsolete] annotations in this PR use the parameterless form:

[Obsolete("This has been deprecated in API14")]

Wait — the attributes do carry a message string, but it contains no migration guidance. Best practice is to direct developers to a replacement API:

[Obsolete("Deprecated in API14. Use Tizen.Applications.XXX instead.")]

If there is a recommended replacement for each type/member, please include it. If the entire namespace is being retired with no direct successor, at minimum add a link to the relevant ACR or release notes so developers understand what to use instead.


🟡 Suggestion: XML documentation should reflect deprecation

The existing <summary> XML doc comments do not mention the deprecation or point to alternatives. Consumers using IntelliSense will only see the original description, with no hint that the API is retired. Consider adding a <remarks> element to key types (e.g., BaseComponent, ComponentBasedApplication) such as:

<remarks>This class is deprecated since API14. Migrate to [replacement] before the API is removed.</remarks>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ACR Required API14 Platform : Tizen 11.0 / TFM: net8.0-tizen11.0 Internal API Changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants