public static Location FromAJO(/*Location*/ AndroidJavaObject locationAJO) { if (locationAJO.IsJavaNull()) { return(null); } using (locationAJO) { var latitude = locationAJO.Call <double>("getLatitude"); var longitude = locationAJO.Call <double>("getLongitude"); var hasAccuracy = locationAJO.Call <bool>("hasAccuracy"); var accuracy = locationAJO.Call <float>("getAccuracy"); long time = locationAJO.Call <long>("getTime"); var hasSpeed = locationAJO.CallBool("hasSpeed"); var speed = locationAJO.Call <float>("getSpeed"); var hasBearing = locationAJO.CallBool("hasBearing"); var bearing = locationAJO.Call <float>("getBearing"); var result = new Location(latitude, longitude, hasAccuracy, accuracy, time); if (hasSpeed) { result.HasSpeed = true; result.Speed = speed; } if (hasBearing) { result.HasBearing = true; result.Bearing = bearing; } bool isFromMockProvider = false; try { isFromMockProvider = locationAJO.CallBool("isFromMockProvider"); } catch (Exception) { // Ignore } result.IsFromMockProvider = isFromMockProvider; return(result); } }
public new ReferralUser ParseFromAJO(AndroidJavaObject ajo) { if (ajo.IsJavaNull()) { return(null); } using (ajo) { base.ParseFromAJO(ajo); EventDate = DateUtils.FromUnixTime(ajo.CallLong("getEventDate")); Event = ajo.CallStr("getEvent"); EventData = ajo.CallAJO("getEventData").FromJavaHashMap(); } return(this); }
void onSuccess(AndroidJavaObject resultAJO) { var retValue = new Dictionary <string, TValue>(); if (resultAJO != null && !resultAJO.IsJavaNull()) { var iterator = resultAJO.CallAJO("keySet").CallAJO("iterator"); while (iterator.CallBool("hasNext")) { var key = iterator.CallStr("next"); var value = new TValue().ParseFromAJO(resultAJO.Call <AndroidJavaObject>("get", key)); retValue.Add(key, value); } } HandleValue(retValue, _onSuccess); }
public static List <T> FromJavaList <T>(this AndroidJavaObject javaList) { if (javaList == null || javaList.IsJavaNull()) { return(new List <T>()); } int size = javaList.CallInt("size"); var list = new List <T>(size); for (int i = 0; i < size; i++) { list.Add(javaList.Call <T>("get", i)); } javaList.Dispose(); return(list); }
public new ReferredUser ParseFromAJO(AndroidJavaObject ajo) { if (ajo.IsJavaNull()) { return(null); } using (ajo) { base.ParseFromAJO(ajo); InstallationDate = DateUtils.FromUnixTime(ajo.CallLong("getInstallationDate")); InstallationChannel = ajo.CallStr("getInstallationChannel"); InstallPlatform = ajo.CallStr("getInstallPlatform"); Reinstall = ajo.CallBool("isReinstall"); InstallSuspicious = ajo.CallBool("isInstallSuspicious"); } return(this); }
public static List <T> FromJavaList <T>(this AndroidJavaObject javaList, Func <AndroidJavaObject, T> converter) { if (javaList.IsJavaNull()) { return(new List <T>()); } int size = javaList.CallInt("size"); var list = new List <T>(size); for (int i = 0; i < size; i++) { var listItem = converter(javaList.CallAJO("get", i)); list.Add(listItem); } javaList.Dispose(); return(list); }
public static List <T> FromJavaIterable <T>(this AndroidJavaObject javaIterable) { if (javaIterable.IsJavaNull()) { return(new List <T>()); } var size = javaIterable.CallInt("size"); var iterator = javaIterable.CallAJO("iterator"); var list = new List <T>(size); while (iterator.CallBool("hasNext")) { list.Add(iterator.Call <T>("next")); } javaIterable.Dispose(); return(list); }
private void InitializeGetSocial() { using (AndroidJavaObject clazz = new AndroidJavaClass("im.getsocial.sdk.core.unity.GetSocialUnityBridge")) { getSocialJavaObject = clazz.CallStatic <AndroidJavaObject>("initBridge"); } if (getSocialJavaObject.IsJavaNull()) { throw new Exception("Failed to instantiate Android GetSocial SDK"); } if (!AndroidUtils.IsUnityBuildOfGetSocialAndroidSDK()) { throw new Exception( "Wrong version of GetSocial Android SDK is included into the build. BuildConfig.TARGET_PLATFORM != \"UNITY\""); } // Call OnResume manually first time OnResume(); MainThreadExecutor.Init(); }
public static Dictionary <string, object> FromJavaMap(this AndroidJavaObject javaMap) { if (javaMap == null || javaMap.IsJavaNull()) { return(new Dictionary <string, object>()); } int size = javaMap.CallInt("size"); var dictionary = new Dictionary <string, object>(size); var iterator = javaMap.CallAJO("keySet").CallAJO("iterator"); while (iterator.CallBool("hasNext")) { string key = iterator.CallStr("next"); var value = javaMap.CallAJO("get", key); dictionary.Add(key, ParseJavaBoxedValue(value)); } javaMap.Dispose(); return(dictionary); }
public SignalStrengths(AndroidJavaObject ajo) { if (AGUtils.IsNotAndroid() || !Check.IsSdkGreaterOrEqual(AGDeviceInfo.VersionCodes.P)) { return; } if (ajo.IsJavaNull()) { return; } cdmaDbm = ajo.CallInt("getCdmaDbm"); cdmaEcio = ajo.CallInt("getCdmaEcio"); evdoDbm = ajo.CallInt("getEvdoDbm"); evdoEcio = ajo.CallInt("getEvdoEcio"); evdoSnr = ajo.CallInt("getEvdoSnr"); gsmBitErrorRate = ajo.CallInt("getGsmBitErrorRate"); gsmSignalStrength = ajo.CallInt("getGsmSignalStrength"); level = ajo.CallInt("getLevel"); isGsm = ajo.CallBool("isGsm"); }
public static BeaconState FromAJO(AndroidJavaObject ajo) { var result = new BeaconState(); if (ajo.IsJavaNull()) { return(result); } var beaconInfoList = ajo.CallAJO("getBeaconInfo"); var ajos = beaconInfoList.FromJavaList <AndroidJavaObject>(); foreach (var beaconInfoAjo in ajos) { var content = beaconInfoAjo.Call <byte[]>("getContent"); var nameSpace = beaconInfoAjo.CallStr("getNamespace"); var type = beaconInfoAjo.CallStr("getType"); result.BeaconInfos.Add(new BeaconInfo(content, nameSpace, type)); } return(result); }
// this is needed to handle null, it won't be called with any other value void onSuccess(AndroidJavaObject value) { HandleValue(value.IsJavaNull() ? null : value.ToString(), _onSuccess); }