diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/BeaconTest.cs b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/BeaconTest.cs index 048390c..f056742 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/BeaconTest.cs +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/BeaconTest.cs @@ -12,7 +12,7 @@ public class BeaconTest : TestBase [SetUp] public void BeforeEachTest() { - Beacon.SetHardwareEqualityEnforced(false); + Beacon.HardwareEqualityEnforced =false; } [Test] @@ -76,7 +76,7 @@ public void TestBeaconsWithDifferentId3AreNotEqual() { [Test] public void TestBeaconsWithSameMacsAreEqual() { - Beacon.SetHardwareEqualityEnforced(true); + Beacon.HardwareEqualityEnforced = true; Beacon beacon1 = new AltBeacon.Builder().SetMfgReserved(7).SetId1("1").SetId2("2").SetId3("3").SetRssi(4) .SetBeaconTypeCode(5).SetTxPower(6) .SetBluetoothAddress("1:2:3:4:5:6").Build(); @@ -88,7 +88,7 @@ public void TestBeaconsWithSameMacsAreEqual() { [Test] public void TestBeaconsWithDifferentMacsAreNotEqual() { - Beacon.SetHardwareEqualityEnforced(true); + Beacon.HardwareEqualityEnforced = true; Beacon beacon1 = new AltBeacon.Builder().SetMfgReserved(7).SetId1("1").SetId2("2").SetId3("3").SetRssi(4) .SetBeaconTypeCode(5).SetTxPower(6) .SetBluetoothAddress("1:2:3:4:5:6").Build(); @@ -131,7 +131,7 @@ public void TestCalculateAccuracyWithRssiEqualsPowerOnInternalProperties() { [Test] public void TestCalculateAccuracyWithRssiEqualsPowerOnInternalPropertiesAndRunningAverage() { var beacon = new Beacon.Builder().SetTxPower(-55).SetRssi(0).Build(); - beacon.SetRunningAverageRssi(-55); + beacon.RunningAverageRssi = -55; double distance = beacon.Distance; AssertEx.AreEqual("Distance should be one meter if mRssi is the same as power", 1.0, distance, 0.1); } diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/BeaconServiceTest.cs b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/BeaconServiceTest.cs index 6eee290..31644d2 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/BeaconServiceTest.cs +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/BeaconServiceTest.cs @@ -9,7 +9,7 @@ public class BeaconServiceTest { [SetUp] public void before() { - BeaconManager.SetsManifestCheckingDisabled(true); + BeaconManager.ManifestCheckingDisabled = true; } /** diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/RangingDataTest.cs b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/RangingDataTest.cs index da449cc..9fd101c 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/RangingDataTest.cs +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/RangingDataTest.cs @@ -13,7 +13,7 @@ public class RangingDataTest { [SetUp] public void before() { - BeaconManager.SetsManifestCheckingDisabled(true); + BeaconManager.ManifestCheckingDisabled = true; } [Test] diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/Scanner/ScanFilterUtilsTest.cs b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/Scanner/ScanFilterUtilsTest.cs index 154cc7f..870f554 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/Scanner/ScanFilterUtilsTest.cs +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.UnitTests/Tests/Beacon/Service/Scanner/ScanFilterUtilsTest.cs @@ -13,7 +13,7 @@ public class ScanFilterUtilsTest [Test] public void testGetAltBeaconScanFilter() { BeaconParser parser = new AltBeaconParser(); - BeaconManager.SetsManifestCheckingDisabled(true); // no manifest available in robolectric + BeaconManager.ManifestCheckingDisabled = true; // no manifest available in robolectric var scanFilterDatas = new ScanFilterUtils().CreateScanFilterDataForBeaconParser(parser); AssertEx.AreEqual("scanFilters should be of correct size", 1, scanFilterDatas.Count); ScanFilterUtils.ScanFilterData sfd = scanFilterDatas[0]; @@ -26,7 +26,7 @@ public void testGetAltBeaconScanFilter() { public void testGenericScanFilter() { BeaconParser parser = new BeaconParser(); parser.SetBeaconLayout("m:2-3=1111,i:4-6,p:24-24"); - BeaconManager.SetsManifestCheckingDisabled(true); // no manifest available in robolectric + BeaconManager.ManifestCheckingDisabled = true; // no manifest available in robolectric var scanFilterDatas = new ScanFilterUtils().CreateScanFilterDataForBeaconParser(parser); AssertEx.AreEqual("scanFilters should be of correct size", 1, scanFilterDatas.Count); ScanFilterUtils.ScanFilterData sfd = scanFilterDatas[0]; @@ -40,7 +40,7 @@ public void testGenericScanFilter() { public void testEddystoneScanFilterData() { BeaconParser parser = new BeaconParser(); parser.SetBeaconLayout(BeaconParser.EddystoneUidLayout); - BeaconManager.SetsManifestCheckingDisabled(true); // no manifest available in robolectric + BeaconManager.ManifestCheckingDisabled = true; // no manifest available in robolectric var scanFilterDatas = new ScanFilterUtils().CreateScanFilterDataForBeaconParser(parser); AssertEx.AreEqual("scanFilters should be of correct size", 1, scanFilterDatas.Count); ScanFilterUtils.ScanFilterData sfd = scanFilterDatas[0]; @@ -51,7 +51,7 @@ public void testEddystoneScanFilterData() { public void testZeroOffsetScanFilter() { BeaconParser parser = new BeaconParser(); parser.SetBeaconLayout("m:0-3=11223344,i:4-6,p:24-24"); - BeaconManager.SetsManifestCheckingDisabled(true); // no manifest available in robolectric + BeaconManager.ManifestCheckingDisabled = true; // no manifest available in robolectric var scanFilterDatas = new ScanFilterUtils().CreateScanFilterDataForBeaconParser(parser); AssertEx.AreEqual("scanFilters should be of correct size", 1, scanFilterDatas.Count); ScanFilterUtils.ScanFilterData sfd = scanFilterDatas[0]; diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.csproj b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.csproj index 95a1932..61e501f 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.csproj +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary.csproj @@ -8,7 +8,7 @@ Library AndroidAltBeaconLibrary AndroidAltBeaconLibrary - v7.1 + v8.0 Resources Assets true @@ -44,6 +44,7 @@ + @@ -55,7 +56,7 @@ - + \ No newline at end of file diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Beacon.cs b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Beacon.cs new file mode 100644 index 0000000..b2c61c8 --- /dev/null +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Beacon.cs @@ -0,0 +1,86 @@ +using System; +using Android.Runtime; + +namespace AltBeaconOrg.BoundBeacon +{ + public partial class Beacon + { + static Delegate cb_describeContents; +#pragma warning disable 0169 + static Delegate GetDescribeContentsHandler() + { + if (cb_describeContents == null) + cb_describeContents = JNINativeWrapper.CreateDelegate((Func)n_DescribeContents); + return cb_describeContents; + } + + static int n_DescribeContents(IntPtr jnienv, IntPtr native__this) + { + global::AltBeaconOrg.BoundBeacon.Region __this = global::Java.Lang.Object.GetObject(jnienv, native__this, JniHandleOwnership.DoNotTransfer); + return __this.DescribeContents(); + } +#pragma warning restore 0169 + + static IntPtr id_describeContents; + // Metadata.xml XPath method reference: path="/api/package[@name='org.altbeacon.beacon']/class[@name='Region']/method[@name='describeContents' and count(parameter)=0]" + [Register("describeContents", "()I", "GetDescribeContentsHandler")] + public virtual unsafe int DescribeContents() + { + if (id_describeContents == IntPtr.Zero) + id_describeContents = JNIEnv.GetMethodID(class_ref, "describeContents", "()I"); + try + { + + if (((object)this).GetType() == ThresholdType) + return JNIEnv.CallIntMethod(((global::Java.Lang.Object)this).Handle, id_describeContents); + else + return JNIEnv.CallNonvirtualIntMethod(((global::Java.Lang.Object)this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "describeContents", "()I")); + } + finally + { + } + } + + + static Delegate cb_writeToParcel_Landroid_os_Parcel_I; +#pragma warning disable 0169 + static Delegate GetWriteToParcel_Landroid_os_Parcel_IHandler() + { + if (cb_writeToParcel_Landroid_os_Parcel_I == null) + cb_writeToParcel_Landroid_os_Parcel_I = JNINativeWrapper.CreateDelegate((Action)n_WriteToParcel_Landroid_os_Parcel_I); + return cb_writeToParcel_Landroid_os_Parcel_I; + } + + static void n_WriteToParcel_Landroid_os_Parcel_I(IntPtr jnienv, IntPtr native__this, IntPtr native__out, int native_flags) + { + global::AltBeaconOrg.BoundBeacon.Region __this = global::Java.Lang.Object.GetObject(jnienv, native__this, JniHandleOwnership.DoNotTransfer); + global::Android.OS.Parcel @out = global::Java.Lang.Object.GetObject(native__out, JniHandleOwnership.DoNotTransfer); + global::Android.OS.ParcelableWriteFlags flags = (global::Android.OS.ParcelableWriteFlags)native_flags; + __this.WriteToParcel(@out, flags); + } +#pragma warning restore 0169 + + static IntPtr id_writeToParcel_Landroid_os_Parcel_I; + // Metadata.xml XPath method reference: path="/api/package[@name='org.altbeacon.beacon']/class[@name='Region']/method[@name='writeToParcel' and count(parameter)=2 and parameter[1][@type='android.os.Parcel'] and parameter[2][@type='int']]" + [Register("writeToParcel", "(Landroid/os/Parcel;I)V", "GetWriteToParcel_Landroid_os_Parcel_IHandler")] + public virtual unsafe void WriteToParcel(global::Android.OS.Parcel @out, [global::Android.Runtime.GeneratedEnum] global::Android.OS.ParcelableWriteFlags flags) + { + if (id_writeToParcel_Landroid_os_Parcel_I == IntPtr.Zero) + id_writeToParcel_Landroid_os_Parcel_I = JNIEnv.GetMethodID(class_ref, "writeToParcel", "(Landroid/os/Parcel;I)V"); + try + { + JValue* __args = stackalloc JValue[2]; + __args[0] = new JValue(@out); + __args[1] = new JValue((int)flags); + + if (((object)this).GetType() == ThresholdType) + JNIEnv.CallVoidMethod(((global::Java.Lang.Object)this).Handle, id_writeToParcel_Landroid_os_Parcel_I, __args); + else + JNIEnv.CallNonvirtualVoidMethod(((global::Java.Lang.Object)this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "writeToParcel", "(Landroid/os/Parcel;I)V"), __args); + } + finally + { + } + } + } +} diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.10.aar b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.10.aar deleted file mode 100644 index 3a91a11..0000000 Binary files a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.10.aar and /dev/null differ diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.12.3.aar b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.12.3.aar new file mode 100644 index 0000000..32c4426 Binary files /dev/null and b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Jars/android-beacon-library-2.12.3.aar differ diff --git a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Transforms/Metadata.xml b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Transforms/Metadata.xml index bd46b4c..410473d 100644 --- a/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Transforms/Metadata.xml +++ b/AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Transforms/Metadata.xml @@ -122,5 +122,7 @@ public public public - + + params Java.Lang.Object [] + Java.Lang.Object \ No newline at end of file