#if UNITY_ANDROID //&& !UNITY_EDITOR using Azerion.BlueStack.API; using Azerion.BlueStack.Internal; using UnityEngine; namespace Azerion.BlueStack.Platforms.Android { public class PreferenceClient : IPreferenceClient { private readonly AndroidJavaObject _MNGPreference; public PreferenceClient() { AndroidJavaClass playerClass = new AndroidJavaClass(BlueStackNativeClassNames.UnityActivityClassName); AndroidJavaObject activity = playerClass.GetStatic("currentActivity"); _MNGPreference = new AndroidJavaObject(BlueStackNativeClassNames.UnityRequestOptions, activity); } public void SetAge(int age) { _MNGPreference.Call("setAge", age); } public void SetLocation(Location location, int consentFlag) { AndroidJavaObject androidLocationJavaObject; androidLocationJavaObject = new AndroidJavaObject(BlueStackNativeClassNames.location, location.getProvider()); androidLocationJavaObject.Call("setLatitude", location.Latitude); androidLocationJavaObject.Call("setLongitude", location.Longitude); _MNGPreference.Call("setLocation", androidLocationJavaObject, consentFlag); } public void SetLanguage(string language) { _MNGPreference.Call("setLanguage", language); } public void SetGender(Gender gender) { AndroidJavaObject mngGenderObject; AndroidJavaClass genderJavaClass = new AndroidJavaClass(BlueStackNativeClassNames.MNGGender); switch (gender) { case Gender.Female: mngGenderObject = genderJavaClass.GetStatic("MNGGenderFemale"); break; case Gender.Male: mngGenderObject = genderJavaClass.GetStatic("MNGGenderMale"); break; default: mngGenderObject = genderJavaClass.GetStatic("MNGGenderUnknown"); break; } _MNGPreference.Call("setGender", mngGenderObject); } public void SetKeyword(string keyword) { _MNGPreference.Call("setKeyword", keyword); } public void SetContentUrl(string contentUrl) { _MNGPreference.Call("setContentUrl", contentUrl); } public void Destroy() { _MNGPreference.Dispose(); } public AndroidJavaObject getRequestOptions() { return _MNGPreference.Call("getRequestOptions"); } public AndroidJavaObject getMNGPreference() { return _MNGPreference.Call("getMNGPreference"); } } } #endif