/// <summary> /// Handles the result that is received from the query to the Privilege API. /// <param name="result">The resulting status of the query</param> /// <param name="privilegeId">The privilege being queried</param> /// </summary> private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId) { if ((MLPrivilegesResult)result.Code == MLPrivilegesResult.Granted) { Debug.LogFormat("{0} Privilege Granted", privilegeId); StartRestore(); } else { Debug.LogErrorFormat("{0} Privilege Error: {1}", privilegeId, result); } }
/// <summary> /// Handles the result that is received from the query to the Privilege API. /// If one of the required privileges are denied, set the Privilege state to Denied. /// <param name="result">The resulting status of the query</param> /// <param name="privilegeId">The privilege being queried</param> /// </summary> private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId) { if (result.Code == MLResultCode.PrivilegeGranted) { _privilegesGranted.Add(privilegeId); Debug.LogFormat("{0} Privilege Granted", privilegeId); } else { Debug.LogErrorFormat("{0} Privilege Error: {1}, disabling example.", privilegeId, result); _state = PrivilegeState.Failed; } }
/// <summary> /// Handles the result that is received from the query to the Privilege API. /// <param name="result">The resulting status of the query</param> /// <param name="privilegeId">The privilege being queried</param> /// </summary> private void HandlePrivilegeAsyncRequest(MLResult result, MLPrivilegeId privilegeId) { if ((MLPrivilegesResult)result.Code == MLPrivilegesResult.Granted) { string message = string.Format("{0} Privilege Granted", privilegeId); SetProgress(message); Debug.LogFormat(message); StartRestore(); } else { _state = State.CritialError; string errorMsg = string.Format("{0} Privilege Error: {1}", privilegeId, result); Debug.LogErrorFormat(errorMsg); SetProgress(errorMsg); } }
public static async UniTask RequestPrivilege(MLPrivilegeId privilege) { // Don't do privilege if app is running in neither ML device nor ZI mode if (!XRDevice.isPresent) { return; } MLPrivileges.Start().ThrowIfFail(); MLResult?result = null; MLPrivileges.RequestPrivilegeAsync(privilege, (r, _) => { result = r; }).ThrowIfFail(); await UniTask.WaitUntil(() => result.HasValue); result?.ThrowIfFail(); }
public static MLResult RequestPrivilegeAsync(MLPrivilegeId privilegeId, CallbackDelegate callback) { return(MLResult.Create(MLResult.Code.UnspecifiedFailure)); }
public static MLResult CheckPrivilege(MLPrivilegeId privilegeId) { return(MLResult.Create(MLResult.Code.UnspecifiedFailure)); }