Skip to content

[Security.PrivacyPrivilegeManager] Add AllowSession, DenySession, AllowInUse#7720

Open
wiertel wants to merge 2 commits into
Samsung:API14from
wiertel:new-ppm
Open

[Security.PrivacyPrivilegeManager] Add AllowSession, DenySession, AllowInUse#7720
wiertel wants to merge 2 commits into
Samsung:API14from
wiertel:new-ppm

Conversation

@wiertel

@wiertel wiertel commented Jun 25, 2026

Copy link
Copy Markdown
Member

Description of Change

Underlying native API has been extended with additional check and request result codes. Applying the same change to C# API.

API Changes

Adding following values to CheckResult and RequestResult enums.

namespace Tizen.Security
{
  enum CheckResult {
    AllowSession,
    DenySession,
    AllowInUse
  }
  enum RequestResult {
    AllowSession,
    DenySession,
    AllowInUse
  }
}

@github-actions github-actions Bot added the API14 Platform : Tizen 11.0 / TFM: net8.0-tizen11.0 label Jun 25, 2026
gemini-code-assist[bot]

This comment was marked as outdated.

@TizenAPI-Bot

Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 19, Removed: 31, Changed: 2

Added

+ /// <since_tizen>none</since_tizen
+ Tizen.Security.PermissionDeniedException

+ /// <since_tizen>none</since_tizen
+ System.Collections.Generic.IReadOnlyList`1<System.String> Tizen.Security.PermissionDeniedException::DeniedPrivileges()

+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.Security.PermissionDeniedException::.ctor(System.Collections.Generic.IReadOnlyList`1<System.String>,System.String,System.Exception)

+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.Security.PermissionDeniedException::.ctor(System.Collections.Generic.IReadOnlyList`1<System.String>,System.String)

+ /// <since_tizen>none</since_tizen
+ System.Void Tizen.Security.PermissionDeniedException::.ctor(System.Collections.Generic.IReadOnlyList`1<System.String>)

+ /// <since_tizen>none</since_tizen
+ Tizen.Security.PermissionState

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::Denied

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::DeniedOnce

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::DeniedSession

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::Granted

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::GrantedInUse

+ /// <since_tizen>none</since_tizen
+ static Tizen.Security.PermissionState Tizen.Security.PermissionState::GrantedSession

+ /// <since_tizen>none</since_tizen
+ Tizen.Security.PermissionStateExtensions

+ /// <since_tizen>none</since_tizen
+ static System.Boolean Tizen.Security.PermissionStateExtensions::IsDenied(Tizen.Security.PermissionState)

+ /// <since_tizen>none</since_tizen
+ static System.Boolean Tizen.Security.PermissionStateExtensions::IsGranted(Tizen.Security.PermissionState)

+ /// <since_tizen>none</since_tizen
+ static System.Boolean Tizen.Security.PermissionStateExtensions::IsTemporary(Tizen.Security.PermissionState)

+ /// <since_tizen>14</since_tizen
+ static System.Threading.Tasks.Task`1<System.Boolean> Tizen.Security.PrivacyPrivilegeManager::CheckIfAllPermissionsAreGranted(System.Collections.Generic.IEnumerable`1<System.String>)

+ /// <since_tizen>14</since_tizen
+ static System.Threading.Tasks.Task`1<System.Collections.Generic.IDictionary`2<System.String,Tizen.Security.PermissionState>> Tizen.Security.PrivacyPrivilegeManager::RequestPermissions(System.Collections.Generic.IEnumerable`1<System.String>,System.Collections.Generic.IEnumerable`1<System.String>)

+ /// <since_tizen>14</since_tizen
+ static System.Threading.Tasks.Task`1<System.Collections.Generic.List`1<System.String>> Tizen.Security.PrivacyPrivilegeManager::LoadPrivilegesFromManifest()

Removed

- /// <since_tizen>4</since_tizen
- Tizen.Security.CallCause

- /// <since_tizen>4</since_tizen
- static Tizen.Security.CallCause Tizen.Security.CallCause::Answer

- /// <since_tizen>4</since_tizen
- static Tizen.Security.CallCause Tizen.Security.CallCause::Error

- /// <since_tizen>4</since_tizen
- Tizen.Security.CheckResult

- /// <since_tizen>4</since_tizen
- static Tizen.Security.CheckResult Tizen.Security.CheckResult::Allow

- /// <since_tizen>4</since_tizen
- static Tizen.Security.CheckResult Tizen.Security.CheckResult::Ask

- /// <since_tizen>4</since_tizen
- static Tizen.Security.CheckResult Tizen.Security.CheckResult::Deny

- /// <since_tizen>none</since_tizen
- Tizen.Security.PermissionRequestResponse

- /// <since_tizen>6</since_tizen
- System.String Tizen.Security.PermissionRequestResponse::Privilege()

- /// <since_tizen>6</since_tizen
- Tizen.Security.RequestResult Tizen.Security.PermissionRequestResponse::Result()

- /// <since_tizen>none</since_tizen
- System.Void Tizen.Security.PermissionRequestResponse::.ctor()

- /// <since_tizen>6</since_tizen
- [Obsolete]
- static System.Threading.Tasks.Task`1<Tizen.Security.RequestMultipleResponseEventArgs> Tizen.Security.PrivacyPrivilegeManager::RequestPermissions(System.Collections.Generic.IEnumerable`1<System.String>)

- /// <since_tizen>4</since_tizen
- [Obsolete]
- static System.Void Tizen.Security.PrivacyPrivilegeManager::RequestPermission(System.String)

- /// <since_tizen>4</since_tizen
- [Obsolete]
- static System.WeakReference`1<Tizen.Security.PrivacyPrivilegeManager/ResponseContext> Tizen.Security.PrivacyPrivilegeManager::GetResponseContext(System.String)

- /// <since_tizen>4</since_tizen
- [Obsolete]
- static Tizen.Security.CheckResult Tizen.Security.PrivacyPrivilegeManager::CheckPermission(System.String)

- /// <since_tizen>4</since_tizen
- [Obsolete]
- Tizen.Security.PrivacyPrivilegeManager/ResponseContext

- /// <since_tizen>4</since_tizen
- [Obsolete]
- System.EventHandler`1<Tizen.Security.RequestResponseEventArgs> Tizen.Security.PrivacyPrivilegeManager/ResponseContext::ResponseFetched

- /// <since_tizen>6</since_tizen
- Tizen.Security.RequestMultipleResponseEventArgs

- /// <since_tizen>6</since_tizen
- System.Collections.Generic.IEnumerable`1<Tizen.Security.PermissionRequestResponse> Tizen.Security.RequestMultipleResponseEventArgs::Responses()

- /// <since_tizen>6</since_tizen
- Tizen.Security.CallCause Tizen.Security.RequestMultipleResponseEventArgs::Cause()

- /// <since_tizen>none</since_tizen
- System.Void Tizen.Security.RequestMultipleResponseEventArgs::.ctor()

- /// <since_tizen>4</since_tizen
- Tizen.Security.RequestResponseEventArgs

- /// <since_tizen>4</since_tizen
- System.String Tizen.Security.RequestResponseEventArgs::privilege()

- /// <since_tizen>4</since_tizen
- Tizen.Security.CallCause Tizen.Security.RequestResponseEventArgs::cause()

- /// <since_tizen>6</since_tizen
- Tizen.Security.PermissionRequestResponse Tizen.Security.RequestResponseEventArgs::Response()

- /// <since_tizen>4</since_tizen
- Tizen.Security.RequestResult Tizen.Security.RequestResponseEventArgs::result()

- /// <since_tizen>none</since_tizen
- System.Void Tizen.Security.RequestResponseEventArgs::.ctor()

- /// <since_tizen>4</since_tizen
- Tizen.Security.RequestResult

- /// <since_tizen>4</since_tizen
- static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowForever

- /// <since_tizen>4</since_tizen
- static Tizen.Security.RequestResult Tizen.Security.RequestResult::DenyForever

- /// <since_tizen>4</since_tizen
- static Tizen.Security.RequestResult Tizen.Security.RequestResult::DenyOnce

Changed

- /// <since_tizen>4</since_tizen
[Obsolete]
+ /// <since_tizen>14</since_tizen
Tizen.Security.PrivacyPrivilegeManager

- /// <since_tizen>6</since_tizen
[Obsolete]
static System.Collections.Generic.IEnumerable`1<Tizen.Security.CheckResult> Tizen.Security.PrivacyPrivilegeManager::CheckPermissions(System.Collections.Generic.IEnumerable`1<System.String>)
+ /// <since_tizen>14</since_tizen
static System.Threading.Tasks.Task`1<System.Collections.Generic.IDictionary`2<System.String,Tizen.Security.PermissionState>> Tizen.Security.PrivacyPrivilegeManager::CheckPermissions(System.Collections.Generic.IEnumerable`1<System.String>)

@TizenAPI-Bot

Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 6, Removed: 0, Changed: 0

Added

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::DenySession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::DenySession

@wiertel wiertel marked this pull request as ready for review July 3, 2026 07:44
@wiertel wiertel requested a review from terry2000s as a code owner July 3, 2026 07:44
@wiertel wiertel changed the title New Tizen.Security.PrivacyPrivilegeManager [Security.PrivacyPrivilegeManager] Add AllowSession, DenySession, AllowInUse Jul 3, 2026
@TizenAPI-Bot

Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 6, Removed: 0, Changed: 0

Added

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::DenySession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::DenySession

@JoonghyunCho

Copy link
Copy Markdown
Member

🤖 [AI Review]

Reviewed — no findings.

Scope checked:

  • All 6 new public enum members (AllowSession, DenySession, AllowInUse on both CheckResult and RequestResult) carry <summary> and <since_tizen> 14 </since_tizen> tags.
  • Public enum values are defined by reference to the new Interop.PrivacyPrivilegeManager members (3/4/5) and do not collide with existing values (0/1/2) — purely additive, binary-compatible change.
  • The internal Interop CheckResult/RequestResult additions keep the numeric layout aligned between the public and interop enums, which the sibling PR's PermissionStatus cast-based conversion relies on.
  • Only other diff content is UTF-8 BOM removal in the three touched files — no functional impact.

No 🔴 critical issues, no 🟡 suggestions to flag.


Automated review — final merge decision rests with human reviewers.

@TizenAPI-Bot

Copy link
Copy Markdown
Collaborator

Public API Changed

Please follow the ACR process for the changed API below.

Added: 6, Removed: 0, Changed: 2

Added

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.CheckResult Tizen.Security.CheckResult::DenySession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowInUse

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::AllowSession

+ /// <since_tizen>14</since_tizen
+ static Tizen.Security.RequestResult Tizen.Security.RequestResult::DenySession

Changed

/// <since_tizen>3</since_tizen
+ [Obsolete]
System.String Tizen.NUI.BaseComponents.View::TooltipText()

/// <since_tizen>3</since_tizen
+ [Obsolete]
Tizen.NUI.PropertyMap Tizen.NUI.BaseComponents.View::Tooltip()

@JoonghyunCho

Copy link
Copy Markdown
Member

🤖 [AI Review]

Reviewed — no findings (delta review of commits since the previous AI review).

Scope checked:

  • Delta range e311bcb4e5b132: 3 files changed (Interop.PrivacyPrivilegeManager.cs, CheckResult.cs, RequestResult.cs), each by a single-line change to the file header.
  • The only modification is the addition of a UTF-8 BOM at the start of each file — no code, logic, API-surface, or documentation change in this commit.
  • Confirmed no public/protected member was added or altered in the delta, so no new XML-doc or since_tizen requirements apply.

No 🔴 critical issues, no 🟡 suggestions to flag.


Automated review — final merge decision rests with human reviewers.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants