Skip to content

Updates to build against AltBeacon version 2.12.3 #35

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class BeaconTest : TestBase
[SetUp]
public void BeforeEachTest()
{
Beacon.SetHardwareEqualityEnforced(false);
Beacon.HardwareEqualityEnforced =false;
}

[Test]
Expand Down Expand Up @@ -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();
Expand All @@ -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();
Expand Down Expand Up @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class BeaconServiceTest
{
[SetUp]
public void before() {
BeaconManager.SetsManifestCheckingDisabled(true);
BeaconManager.ManifestCheckingDisabled = true;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class RangingDataTest
{
[SetUp]
public void before() {
BeaconManager.SetsManifestCheckingDisabled(true);
BeaconManager.ManifestCheckingDisabled = true;
}

[Test]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand All @@ -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];
Expand All @@ -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];
Expand All @@ -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];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<RootNamespace>AndroidAltBeaconLibrary</RootNamespace>
<AssemblyName>AndroidAltBeaconLibrary</AssemblyName>
<TargetFrameworkVersion>v7.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
Expand Down Expand Up @@ -44,6 +44,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Identifier.cs" />
<Compile Include="ModelSpecificInstanceUpdater.cs" />
<Compile Include="Beacon.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Additions\AboutAdditions.txt" />
Expand All @@ -55,7 +56,7 @@
<TransformFile Include="Transforms\Metadata.xml" />
</ItemGroup>
<ItemGroup>
<LibraryProjectZip Include="Jars\android-beacon-library-2.10.aar" />
<LibraryProjectZip Include="Jars\android-beacon-library-2.12.3.aar" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
</Project>
86 changes: 86 additions & 0 deletions AndroidAltBeaconLibrary/AndroidAltBeaconLibrary/Beacon.cs
Original file line number Diff line number Diff line change
@@ -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<IntPtr, IntPtr, int>)n_DescribeContents);
return cb_describeContents;
}

static int n_DescribeContents(IntPtr jnienv, IntPtr native__this)
{
global::AltBeaconOrg.BoundBeacon.Region __this = global::Java.Lang.Object.GetObject<global::AltBeaconOrg.BoundBeacon.Region>(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<IntPtr, IntPtr, IntPtr, int>)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<global::AltBeaconOrg.BoundBeacon.Region>(jnienv, native__this, JniHandleOwnership.DoNotTransfer);
global::Android.OS.Parcel @out = global::Java.Lang.Object.GetObject<global::Android.OS.Parcel>(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
{
}
}
}
}
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,7 @@
<attr path="/api/package[@name='org.altbeacon.beacon']/class[@name='Beacon']/field[@name='sDistanceCalculator']" name="visibility">public</attr>
<attr path="/api/package[@name='org.altbeacon.beacon']/class[@name='Beacon']/field[@name='sHardwareEqualityEnforced']" name="visibility">public</attr>
<attr path="/api/package[@name='org.altbeacon.beacon']/class[@name='Beacon']/field[@name='mIdentifiers']" name="visibility">public</attr>


<attr path="/api/package[@name='org.altbeacon.beacon']/class[@name='ModelSpecificDistanceUpdater']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='java.lang.Object...']]/parameter[1]" name="managedType">params Java.Lang.Object []</attr>
<attr path="/api/package[@name='org.altbeacon.beacon']/class[@name='ModelSpecificDistanceUpdater']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='java.lang.Object...']]" name="managedReturn">Java.Lang.Object</attr>
</metadata>