/*
 * Android stub implementations for iOS-only native functions.
 *
 * The precompiled DLL (CROSSx.Sdk.Unity.dll) is built with UNITY_IOS defined,
 * so [DllImport("__Internal")] declarations for iOS functions exist in the DLL.
 * IL2CPP on Android tries to resolve these symbols at link time.
 * These empty stubs satisfy the linker — they are never called at runtime
 * because the managed code uses Android-specific (JNI) paths instead.
 */

#include <stddef.h>

void CROSSxKeychain_Save(const char* key, const char* value) { }
const char* CROSSxKeychain_Load(const char* key) { return NULL; }
void CROSSxKeychain_Delete(const char* key) { }
int  CROSSxKeychain_Has(const char* key) { return 0; }

void CROSSxOAuth_StartFlow(const char* authUrl, const char* callbackScheme,
                           int prefersEphemeral, void* onSuccess, void* onError) { }
void CROSSxOAuth_CancelFlow(void) { }
void CROSSxOAuth_HandleDeepLink(const char* url) { }

float CROSSxKeyboard_GetHeight(void) { return 0.0f; }

void HapticIOS(void) { }

int CROSSxTheme_GetSystemDarkMode(void) { return 0; }
