public MainActivity()
        {
            Log.Info("geodan main", "startup");
            BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.DefaultAdapter;

            if (mBluetoothAdapter == null)
            {
                RunOnUiThread(() =>
                {
                    showAlert("Bluetooth", "No bluetooth available");
                });
            }
            else
            {
                if (!mBluetoothAdapter.IsEnabled)
                {
                    RunOnUiThread(() =>
                    {
                        showAlert("Bluetooth", "Please activate bluetooth");
                    });
                }
            }
            beaconMgr = IBeaconManager.GetInstanceForApplication(this);

            monitorNotifier  = new MonitorNotifier();
            monitoringRegion = new Region(BEACON_ID, Settings.UUI, null, null);

            rangeNotifier = new RangeNotifier();
            rangingRegion = new Region(BEACON_ID, Settings.UUI, null, null);
        }
Esempio n. 2
0
        public AccessViewModel(IJobManager jobs,
                               INotificationManager notifications = null,
                               ISpeechRecognizer speech = null,
                               IGeofenceManager geofences = null,
                               IGpsManager gps = null,
                               ICentralManager bluetooth = null,
                               IBeaconManager beacons = null)
        {
            this.Append("Jobs", AccessState.Unknown, () => jobs.RequestAccess());

            if (notifications != null)
                this.Append("Notifications", AccessState.Unknown, () => notifications.RequestAccess());

            if (speech != null)
                this.Append("Speech", AccessState.Unknown, () => speech.RequestAccess().ToTask(CancellationToken.None));

            if (gps != null)
                this.Append("GPS", gps.Status, () => gps.RequestAccess(true));

            if (geofences != null)
                this.Append("Geofences", geofences.Status, () => geofences.RequestAccess());

            if (bluetooth != null)
                this.Append("BluetoothLE Central", bluetooth.Status, () => bluetooth.RequestAccess().ToTask(CancellationToken.None));

            if (beacons != null)
                this.Append("iBeacons", beacons.Status, () => beacons.RequestAccess(true));
        }
Esempio n. 3
0
        public NavigateToActivity()
        {
            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _monitorNotifier = new MonitorNotifier();
            _rangeNotifier   = new RangeNotifier();

            _monitoringRegionsList = new List <Region>()
            {
                new Region("1", "f7826da6-4fa2-4e98-8024-bc5b71e08931", (Java.Lang.Integer) 13138, (Java.Lang.Integer) 34361),
                new Region("2", "f7826da6-4fa2-4e98-8024-bc5b71e08932", (Java.Lang.Integer) 3271, (Java.Lang.Integer) 18626),
                new Region("3", "f7826da6-4fa2-4e98-8024-bc5b71e08933", (Java.Lang.Integer) 4067, (Java.Lang.Integer) 4146),
                new Region("4", "f7826da6-4fa2-4e98-8024-bc5b71e08934", (Java.Lang.Integer) 62074, (Java.Lang.Integer) 10187),
                new Region("5", "f7826da6-4fa2-4e98-8024-bc5b71e08935", (Java.Lang.Integer) 18869, (Java.Lang.Integer) 15746),
                new Region("6", "f7826da6-4fa2-4e98-8024-bc5b71e08936", (Java.Lang.Integer) 56526, (Java.Lang.Integer) 64981),
                new Region("7", "f7826da6-4fa2-4e98-8024-bc5b71e08937", (Java.Lang.Integer) 26265, (Java.Lang.Integer) 32892),
                new Region("8", "f7826da6-4fa2-4e98-8024-bc5b71e08938", (Java.Lang.Integer) 10484, (Java.Lang.Integer) 33855),
                new Region("9", "f7826da6-4fa2-4e98-8024-bc5b71e08939", (Java.Lang.Integer) 42751, (Java.Lang.Integer) 26202),
            };

            _rangingRegionsList = new List <Region>()
            {
                new Region("1", "f7826da6-4fa2-4e98-8024-bc5b71e08931", (Java.Lang.Integer) 13138, (Java.Lang.Integer) 34361),
                new Region("2", "f7826da6-4fa2-4e98-8024-bc5b71e08932", (Java.Lang.Integer) 3271, (Java.Lang.Integer) 18626),
                new Region("3", "f7826da6-4fa2-4e98-8024-bc5b71e08933", (Java.Lang.Integer) 4067, (Java.Lang.Integer) 4146),
                new Region("4", "f7826da6-4fa2-4e98-8024-bc5b71e08934", (Java.Lang.Integer) 62074, (Java.Lang.Integer) 10187),
                new Region("5", "f7826da6-4fa2-4e98-8024-bc5b71e08935", (Java.Lang.Integer) 18869, (Java.Lang.Integer) 15746),
                new Region("6", "f7826da6-4fa2-4e98-8024-bc5b71e08936", (Java.Lang.Integer) 56526, (Java.Lang.Integer) 64981),
                new Region("7", "f7826da6-4fa2-4e98-8024-bc5b71e08937", (Java.Lang.Integer) 26265, (Java.Lang.Integer) 32892),
                new Region("8", "f7826da6-4fa2-4e98-8024-bc5b71e08938", (Java.Lang.Integer) 10484, (Java.Lang.Integer) 33855),
                new Region("9", "f7826da6-4fa2-4e98-8024-bc5b71e08939", (Java.Lang.Integer) 42751, (Java.Lang.Integer) 26202),
            };
        }
Esempio n. 4
0
        public RangingViewModel(INavigationService navigationService,
                                IUserDialogs dialogs,
                                IBeaconManager beaconManager)
        {
            this.dialogs       = dialogs;
            this.beaconManager = beaconManager;

            this.Clear     = ReactiveCommand.Create(() => this.Beacons.Clear());
            this.SetRegion = ReactiveCommand.CreateFromTask(_ => navigationService.Navigate(
                                                                nameof(CreatePage),
                                                                (nameof(BeaconRegion), this.region),
                                                                ("IsRanging", true)
                                                                ));
            this.ScanToggle = ReactiveCommand.Create(() =>
            {
                if (this.ScanText == "Scan")
                {
                    this.StartScan();
                }
                else
                {
                    this.StopScan();
                }
            });
        }
Esempio n. 5
0
 public FindR2Activity()
 {
     iBeaconManager   = IBeaconManager.GetInstanceForApplication(this);
     monitorNotifier  = new MonitorNotifier();
     rangeNotifier    = new RangeNotifier();
     monitoringRegion = new Region("r2MonitoringUniqueId", UUID, null, null);
     rangingRegion    = new Region("r2RangingUniqueId", UUID, null, null);
 }
Esempio n. 6
0
 public MainActivity()
 {
     iBeaconManager = IBeaconManager.GetInstanceForApplication (this);
     monitorNotifier = new MonitorNotifier ();
     rangeNotifier = new RangeNotifier ();
     monitoringRegion = new Region ("r2MonitoringUniqueId", UUID, null, null);
     rangingRegion = new Region ("r2RangingUniqueId", UUID, null, null);
 }
        public BeaconManager(Activity activity)
        {
            beaconsToStart = new List<Beacon>();

            this.activity = activity;

            beaconManager = IBeaconManager.GetInstanceForApplication(activity);
            beaconManager.Bind(this);
        }
Esempio n. 8
0
        public AccessViewModel(IJobManager jobs,
                               INotificationManager notifications = null,
                               ISpeechRecognizer speech           = null,
                               IGeofenceManager geofences         = null,
                               IGpsManager gps           = null,
                               ICentralManager bluetooth = null,
                               IBeaconManager beacons    = null,
                               IPushManager push         = null,
                               INfcManager nfc           = null)
        {
            this.Append("Jobs", AccessState.Unknown, () => jobs.RequestAccess());

            if (notifications != null)
            {
                this.Append("Notifications", AccessState.Unknown, () => notifications.RequestAccess());
            }

            if (speech != null)
            {
                this.Append("Speech", AccessState.Unknown, () => speech.RequestAccess());
            }

            if (gps != null)
            {
                this.Append("GPS (Background)", gps.GetCurrentStatus(true), () => gps.RequestAccess(true));
            }

            if (geofences != null)
            {
                this.Append("Geofences", geofences.Status, () => geofences.RequestAccess());
            }

            if (bluetooth != null)
            {
                this.Append("BluetoothLE Central", bluetooth.Status, () => bluetooth.RequestAccess().ToTask(CancellationToken.None));
            }

            if (beacons != null)
            {
                this.Append("iBeacons (Monitoring)", beacons.GetCurrentStatus(true), () => beacons.RequestAccess(true));
            }

            if (push != null)
            {
                this.Append("Push", AccessState.Unknown, async() =>
                {
                    var status = await push.RequestAccess();
                    return(status.Status);
                });
            }

            if (nfc != null)
            {
                this.Append("NFC", AccessState.Unknown, () => nfc.RequestAccess().ToTask(CancellationToken.None));
            }
        }
        public MainActivity()
        {
            beaconMgr = IBeaconManager.GetInstanceForApplication (this);

            monitorNotifier = new MonitorNotifier ();
            monitoringRegion = new Region (BEACON_ID, UUID, null, null);

            rangeNotifier = new RangeNotifier ();
            rangingRegion = new Region (BEACON_ID, UUID, null, null);
        }
        public MainActivity()
        {
            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _monitorNotifier = new MonitorNotifier();
            _rangeNotifier = new RangeNotifier();

            _monitoringRegion = new Region(monkeyId, UUID, null, null);
            _rangingRegion = new Region(monkeyId, UUID, null, null);
        }
        public MainActivity()
        {
            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _monitorNotifier = new MonitorNotifier();
            _rangeNotifier   = new RangeNotifier();

            _monitoringRegion = new Region(monkeyId, UUID, null, null);
            _rangingRegion    = new Region(monkeyId, UUID, null, null);
        }
Esempio n. 12
0
 public MainActivity()
 {
     beaconManager = IBeaconManager.GetInstanceForApplication(this);
     monitorNotifier = new MonitorNotifier();
     rangeNotifier = new RangeNotifier();
     monitorRegion = new Region(TagName, null, null, null);
     rangeRegion = new Region(TagName, null, null, null);
     dbm = new DBManager();
     dbm.SetupDB();
 }
Esempio n. 13
0
        public MainActivity()
        {
            beaconMgr = IBeaconManager.GetInstanceForApplication(this);

            monitorNotifier  = new MonitorNotifier();
            monitoringRegion = new Region(BEACON_ID, UUID, null, null);

            rangeNotifier = new RangeNotifier();
            rangingRegion = new Region(BEACON_ID, UUID, null, null);
        }
Esempio n. 14
0
 public MainActivity()
 {
     beaconManager   = IBeaconManager.GetInstanceForApplication(this);
     monitorNotifier = new MonitorNotifier();
     rangeNotifier   = new RangeNotifier();
     monitorRegion   = new Region(TagName, null, null, null);
     rangeRegion     = new Region(TagName, null, null, null);
     dbm             = new DBManager();
     dbm.SetupDB();
 }
Esempio n. 15
0
 public BackgroundTask(ICentralManager centralManager,
                       IBeaconManager beaconManager,
                       IMessageBus messageBus,
                       IBeaconDelegate beaconDelegate)
 {
     this.centralManager = centralManager;
     this.beaconManager  = beaconManager;
     this.messageBus     = messageBus;
     this.beaconDelegate = beaconDelegate;
     this.states         = new Dictionary <string, BeaconRegionStatus>();
 }
Esempio n. 16
0
 public BackgroundTask(ICentralManager centralManager,
                       IBeaconManager beaconManager,
                       IRepository repository,
                       IBeaconDelegate beaconDelegate)
 {
     this.centralManager = centralManager;
     this.beaconManager  = beaconManager;
     this.repository     = repository;
     this.beaconDelegate = beaconDelegate;
     this.states         = new Dictionary <string, BeaconRegionStatus>();
 }
Esempio n. 17
0
        public void Bind(IBeaconConsumer ibeaconconsumer)
        {
            beaconMgr = IBeaconManager.GetInstanceForApplication((Context)ibeaconconsumer);
            beaconMgr.Bind(ibeaconconsumer);

            monitorNotifier = new MonitorNotifier();
            monitorNotifier.EnterRegionComplete += EnteredRegionHandler;
            monitorNotifier.ExitRegionComplete += ExitedRegionHandler;

            rangeNotifier = new RangeNotifier();
            rangeNotifier.DidRangeBeaconsInRegionComplete += EnteredRangeHandler;
        }
Esempio n. 18
0
        public BeaconsActivity()
        {
            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _monitorNotifier      = new MonitorNotifier();
            _rangeNotifier        = new RangeNotifier();
            meterList             = new List <Meter>();
            BeaconsNearbyList     = new List <IBeacon>();
            BeaconsNearbyFlagList = new List <bool>();
            _monitoringRegion     = new Region("stat", UUID, null, null);
            _rangingRegion        = new Region("stat", UUID, null, null);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ARArt.Android.BeaconLocaterAndroid"/> class.
 /// </summary>
 public BeaconLocaterAndroid()
 {
     beacons          = new List <BeaconItem>();
     context          = Xamarin.Forms.Forms.Context;
     iBeaconManager   = IBeaconManager.GetInstanceForApplication(context);
     monitorNotifier  = new MonitorNotifier();
     rangeNotifier    = new RangeNotifier();
     monitoringRegion = new Region(beaconId, uuid, null, null);
     rangingRegion    = new Region(beaconId, uuid, null, null);
     iBeaconManager.Bind(this);
     rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
 }
        public MainActivity()
        {
            iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            monitorNotifier = new MonitorNotifier();
            rangeNotifier   = new RangeNotifier();

            //monitoringRegion = new Region(tokenId, UUID, null, null);
            //rangingRegion = new Region(tokenId, UUID, null, null);
            monitoringRegion = new Region(tokenId, null, null, null);
            rangingRegion    = new Region(tokenId, null, null, null);
        }
Esempio n. 21
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            SetContentView (Resource.Layout.Play);

            // Create your application here
            beaconManager = IBeaconManager.GetInstanceForApplication (this);
            beaconNotifier = new BeaconNotifier ();
            beaconRegion = new Region (REGION_ID, null, null, null);

            gameManager = new GameManager ();
            beacons = new Dictionary<string, IBeacon> ();
            distances = new Dictionary<string, double[]> ();
            scanning = false;
            gameState = GameState.Off;
            beaconsAdded = false;

            FindViewById (Resource.Id.scanButton).Click += (sender, e) => {
                ScanForBeacons ();
            };

            FindViewById (Resource.Id.addAllBeaconsButton).Click += (sender, e) => {
                AddAllBeacons ();
            };

            FindViewById (Resource.Id.backButton).Click += (sender, e) => {
                OnBackPressed ();
            };

            FindViewById (Resource.Id.startGameButton).Click += (sender, e) => {
                StartGame ();
            };

            console = FindViewById<TextView> (Resource.Id.consoleText);
            beaconInfoText = FindViewById<TextView> (Resource.Id.beaconInfoText);

            beaconNotifier.EnterRegionComplete += HandleEnterRegion;
            beaconNotifier.ExitRegionComplete += HandleExitRegion;
            beaconNotifier.DidRangeBeaconsInRegionComplete += HandleBeaconInfo;

            gameManager.AllTokensFound += (sender, e) => {
                HandleAllTokensFound ();
            };

            gameManager.GameStateChange += HandleGameStateChange;
            gameManager.TokenFound += HandleTokenFound;
        }
Esempio n. 22
0
        public override void OnCreate()
        {
            base.OnCreate ();

            _iBeaconManager = IBeaconManager.GetInstanceForApplication (this);

            _iBeaconManager.SetForegroundScanPeriod (2000);
            _iBeaconManager.SetForegroundBetweenScanPeriod (2500);

            _rangeNotifier = new RangeNotifier ();

            _rangingRegion = new Region (monkeyId, UUID, null, null);
            _iBeaconManager.Bind (this);

            _rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
Esempio n. 23
0
        public override void OnCreate()
        {
            base.OnCreate();

            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _iBeaconManager.SetForegroundScanPeriod(2000);
            _iBeaconManager.SetForegroundBetweenScanPeriod(2500);

            _rangeNotifier = new RangeNotifier();

            _rangingRegion = new Region(monkeyId, UUID, null, null);
            _iBeaconManager.Bind(this);

            _rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
Esempio n. 24
0
        public BeaconLocater()
        {
            beacons = new List <BeaconItem>();
            context = Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity;

            iBeaconManager  = IBeaconManager.GetInstanceForApplication(context);
            monitorNotifier = new MonitorNotifier();
            rangeNotifier   = new RangeNotifier();
            //DMI beacon UUId - b9407f30-f5f8-466e-aff9-25556b57fe6d
            monitoringRegion = new Region("ID", "6A1A7B3B-2B8C-6A4C-9A7C-0D1403107060", null, null);
            rangingRegion    = new Region("ID", "6A1A7B3B-2B8C-6A4C-9A7C-0D1403107060", null, null);

            iBeaconManager.Bind(this);

            rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
Esempio n. 25
0
        public LogsViewModel(IBeaconManager beaconManager,
                             IUserDialogs dialogs,
                             LogSqliteConnection conn)
        {
            this.beaconManager = beaconManager;
            this.conn          = conn;

            this.Purge = ReactiveCommand.CreateFromTask(async() =>
            {
                var result = await dialogs.ConfirmAsync("Are you sure you wish to purge all logs?");
                if (result)
                {
                    this.conn.DeleteAll <DbBeaconPing>();
                    this.LoadData();
                }
            });
        }
Esempio n. 26
0
		public MainActivity()
		{
            temp.Add("R1");
            temp.Add("R2");
            temp.Add("R3");
            temp.Add("R4");
            temp.Add("R5");
            temp.Add("R6");
            temp.Add("R7");
            temp.Add("R8");
            temp.Add("R9");
            temp.Add("R10");


            for (int k = 0; k < numberBLE; k++)
            {
                beaconActive.Add("0");
            }

            for (int k = 0; k < numberBLE; k++)
            {
                beaconTime.Add(0);
            }

            for (int k = 0; k < numberBLE; k++)
            {
                beaconDist.Add(0.0);
            }
            


            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);


            _monitorNotifier = new MonitorNotifier();
			_rangeNotifier = new RangeNotifier();

			_monitoringRegion = new Region(monkeyId, UUID2, null, null);
			_rangingRegion = new Region(monkeyId, UUID2, null, null);

            //_monitoringRegion2 = new Region(monkeyId, UUID[2], null, null);
            //_rangingRegion2 = new Region(monkeyId, UUID[2], null, null);

        }
Esempio n. 27
0
        public void SetBeaconsManager()
        {
            BeaconsRegionsList = new List <Region>();
            beaconMgr          = IBeaconManager.GetInstanceForApplication(this);

            if (BeaconCreds.BeaconMonitoring == BeaconMonitoring.Ranging)
            {
                foreach (Beacon beacon in Beacons.BeaconList)
                {
                    Region tempRegion = new Region(beacon.RegionId, beaconUUID, (Java.Lang.Integer)beacon.Major, (Java.Lang.Integer)beacon.Minor);
                    BeaconsRegionsList.Add(tempRegion);
                }
            }
            else
            {
                _regionForProximity  = new Region(BeaconCreds.BeaconsRegion, beaconUUID, null, null);
                BeaconsRangeNotifier = new RangeNotifier();
            }
        }
Esempio n. 28
0
        public MainActivity()
        {
            temp.Add("R1");
            temp.Add("R2");
            temp.Add("R3");
            temp.Add("R4");
            temp.Add("R5");
            temp.Add("R6");
            temp.Add("R7");
            temp.Add("R8");
            temp.Add("R9");
            temp.Add("R10");


            for (int k = 0; k < numberBLE; k++)
            {
                beaconActive.Add("0");
            }

            for (int k = 0; k < numberBLE; k++)
            {
                beaconTime.Add(0);
            }

            for (int k = 0; k < numberBLE; k++)
            {
                beaconDist.Add(0.0);
            }



            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);


            _monitorNotifier = new MonitorNotifier();
            _rangeNotifier   = new RangeNotifier();

            _monitoringRegion = new Region(monkeyId, UUID2, null, null);
            _rangingRegion    = new Region(monkeyId, UUID2, null, null);

            //_monitoringRegion2 = new Region(monkeyId, UUID[2], null, null);
            //_rangingRegion2 = new Region(monkeyId, UUID[2], null, null);
        }
Esempio n. 29
0
        public MonitoringViewModel(INavigationService navigationService,
                                   IUserDialogs dialogs,
                                   IBeaconManager beaconManager)
        {
            this.beaconManager = beaconManager;

            this.Add = ReactiveCommand.CreateFromTask(() => navigationService.Navigate(
                                                          nameof(CreatePage),
                                                          ("Monitoring", true)
                                                          ));

            this.StopAllMonitoring = ReactiveCommand.CreateFromTask(async() =>
            {
                var result = await dialogs.ConfirmAsync("Are you sure you wish to stop all monitoring");
                if (result)
                {
                    await this.beaconManager.StopAllMonitoring();
                    await this.LoadData();
                }
            });
        }
Esempio n. 30
0
        public MonitoringViewModel(INavigationService navigator,
                                   IUserDialogs dialogs,
                                   IBeaconManager beaconManager)
        {
            this.dialogs       = dialogs;
            this.beaconManager = beaconManager;

            this.Add = navigator.NavigateCommand(
                "CreateBeacon",
                p => p.Add("Monitoring", true)
                );

            this.Load = ReactiveCommand.CreateFromTask(async() =>
            {
                var regions = await this.beaconManager.GetMonitoredRegions();

                this.Regions = regions
                               .Select(x => new CommandItem
                {
                    Text           = $"{x.Identifier}",
                    Detail         = $"{x.Uuid}/{x.Major ?? 0}/{x.Minor ?? 0}",
                    PrimaryCommand = ReactiveCommand.CreateFromTask(async() =>
                    {
                        await this.beaconManager.StopMonitoring(x);
                        this.Load.Execute(null);
                    })
                })
                               .ToList();
            });

            this.StopAllMonitoring = ReactiveCommand.CreateFromTask(async() =>
            {
                var result = await dialogs.ConfirmAsync("Are you sure you wish to stop all monitoring");
                if (result)
                {
                    await this.beaconManager.StopAllMonitoring();
                    this.Load.Execute(null);
                }
            });
        }
Esempio n. 31
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            _view = FindViewById <RelativeLayout>(Resource.Id.findTheMonkeyView);
            _text = FindViewById <TextView>(Resource.Id.monkeyStatusLabel);

            //////
            _iBeaconManager = IBeaconManager.GetInstanceForApplication(this);

            _iBeaconManager.SetForegroundScanPeriod(2000);
            _iBeaconManager.SetForegroundBetweenScanPeriod(2500);

            _rangeNotifier = new RangeNotifier();

            _rangingRegion = new Region(monkeyId, UUID, null, null);
            _iBeaconManager.Bind(this);

            _rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
        public RangingViewModel(INavigationService navigator,
                                IUserDialogs dialogs,
                                IBeaconManager beaconManager)
        {
            this.dialogs       = dialogs;
            this.beaconManager = beaconManager;

            this.WhenAnyValue(x => x.Uuid)
            .Select(x => !x.IsEmpty())
            .ToPropertyEx(this, x => x.IsRegionSet);

            this.WhenAnyValue(x => x.Major)
            .Select(x => !x.IsEmpty())
            .ToPropertyEx(this, x => x.IsMajorSet);

            this.WhenAnyValue(x => x.Minor)
            .Select(x => !x.IsEmpty())
            .ToPropertyEx(this, x => x.IsMinorSet);

            this.SetRegion = navigator.NavigateCommand(
                "CreateBeacon",
                p => p
                .Set(nameof(BeaconRegion), this.region)
                .Set("IsRanging", true)
                );
            this.ScanToggle = ReactiveCommand.Create(() =>
            {
                if (this.scanner == null)
                {
                    this.StartScan();
                }
                else
                {
                    this.StopScan();
                }
            });
        }
        public BeaconLocaterAndroid()
        {
            beacons = new List <BeaconItem> ();

            //for testing
//			beacons = new List<BeaconItem> {
//				new BeaconItem { Name = "Android1", Minor = "1233", CurrentDistance = 0.5 },
//				new BeaconItem { Name = "Android2", Minor = "1234", CurrentDistance = 0.2 },
//				new BeaconItem { Name = "Android3", Minor = "1235", CurrentDistance = 12.5 },
//			};

            context = Application.Context;

            _iBeaconManager  = IBeaconManager.GetInstanceForApplication(context);
            _monitorNotifier = new MonitorNotifier();
            _rangeNotifier   = new RangeNotifier();

            _monitoringRegion = new Region(beaconId, uuid, null, null);
            _rangingRegion    = new Region(beaconId, uuid, null, null);

            _iBeaconManager.Bind(this);

            _rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
        public BeaconLocaterAndroid()
        {
            beacons = new List<BeaconItem> ();

            //for testing
            //			beacons = new List<BeaconItem> {
            //				new BeaconItem { Name = "Android1", Minor = "1233", CurrentDistance = 0.5 },
            //				new BeaconItem { Name = "Android2", Minor = "1234", CurrentDistance = 0.2 },
            //				new BeaconItem { Name = "Android3", Minor = "1235", CurrentDistance = 12.5 },
            //			};

            context = Android.App.Application.Context;

            _iBeaconManager = IBeaconManager.GetInstanceForApplication (context);
            _monitorNotifier = new MonitorNotifier ();
            _rangeNotifier = new RangeNotifier ();

            _monitoringRegion = new Region (beaconId, uuid, null, null);
            _rangingRegion = new Region(beaconId, uuid, null, null);

            _iBeaconManager.Bind (this);

            _rangeNotifier.DidRangeBeaconsInRegionComplete += RangingBeaconsInRegion;
        }
Esempio n. 35
0
        public static void Initialize(ILocationManager locationManager, IBeaconManager beaconManager, ICompass compass)
        {
            // This code bootstraps the Motive script engine. First, give the script engine
            // a path that it can use for storing state.
            var smPath = StorageManager.GetGameStorageManager().GetManager("scriptManager");

            ScriptEngine.Instance.Initialize(smPath);

            // This initializes the Alternate Reality and Location Based features.
            ARComponents.Instance.Initialize(smPath, locationManager, beaconManager, compass, null);

            // This tells the JSON reader how to deserialize various object types based on
            // the "type" field.
            JsonTypeRegistry.Instance.RegisterType("motive.core.scriptDirectoryItem", typeof(ScriptDirectoryItem));
            JsonTypeRegistry.Instance.RegisterType("motive.core.appVersionCondition", typeof(AppVersionCondition));

            JsonTypeRegistry.Instance.RegisterType("motive.ui.notification", typeof(Notification));

            JsonTypeRegistry.Instance.RegisterType("motive.ui.interfaceUpdate", typeof(InterfaceUpdate));
            JsonTypeRegistry.Instance.RegisterType("motive.ui.interfaceDirector", typeof(InterfaceDirector));
            JsonTypeRegistry.Instance.RegisterType("motive.ui.objectInspector", typeof(ObjectInspector));
            JsonTypeRegistry.Instance.RegisterType("motive.ui.uiModeSwitchCommand", typeof(UIModeSwitchCommand));

            JsonTypeRegistry.Instance.RegisterType("motive.3d.worldObjectEffectPlayer", typeof(WorldObjectEffectPlayer));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.relativeWorldPosition", typeof(RelativeWorldPosition));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.fixedWorldPosition", typeof(FixedWorldPosition));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.worldObjectProximityCondition", typeof(WorldObjectProximityCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.binaryAsset", typeof(BinaryAsset));

            JsonTypeRegistry.Instance.RegisterType("motive.3d.scriptedKeyframe", typeof(ScriptedKeyframe));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.scriptedAnimation", typeof(ScriptedAnimation));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.scriptedParticleEffect", typeof(ScriptedParticleEffect));
            JsonTypeRegistry.Instance.RegisterType("motive.3d.transform", typeof(MotiveTransform));

            JsonTypeRegistry.Instance.RegisterType("motive.unity.animation", typeof(UnityAnimation));

            JsonTypeRegistry.Instance.RegisterType("motive.gaming.character", typeof(Character));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.collectible", typeof(Collectible));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.assignment", typeof(Assignment));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.taskObjectiveCompleteCondition", typeof(TaskObjectiveCompleteCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.objectiveActivator", typeof(ObjectiveActivator));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.objectiveCompleter", typeof(ObjectiveCompleter));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.playerTask", typeof(PlayerTask));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.characterTask", typeof(CharacterTask));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.playableContent", typeof(PlayableContent));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.playableContentBatch", typeof(PlayableContentBatch));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.characterMessage", typeof(CharacterMessage));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.screenMessage", typeof(ScreenMessage));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.inventoryCollectibles", typeof(InventoryCollectibles));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.inventoryCollectibleLimit", typeof(InventoryCollectibleLimit));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.playerReward", typeof(PlayerReward));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.walletCurrency", typeof(WalletCurrency));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.walletCurrencyLimit", typeof(WalletCurrencyLimit));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.savePoint", typeof(SavePoint));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.interfaceAction", typeof(InterfaceAction));

            JsonTypeRegistry.Instance.RegisterType("motive.gaming.recipe", typeof(Recipe));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.recipeActivator", typeof(RecipeActivator));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.recipeDeactivator", typeof(RecipeDeactivator));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.recipeActivatedCondition", typeof(RecipeActivatedCondition));

            JsonTypeRegistry.Instance.RegisterType("motive.gaming.inventoryCondition", typeof(InventoryCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.walletCondition", typeof(WalletCondition));

            JsonTypeRegistry.Instance.RegisterType("motive.gaming.canCraftCollectibleCondition", typeof(CanCraftCollectibleCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.canExecuteRecipeCondition", typeof(CanExecuteRecipeCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.canCompleteTaskCondition", typeof(CanCompleteTaskCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.canCompleteObjectiveTaskCondition", typeof(CanCompleteObjectiveTaskCondition));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.quizBase", typeof(QuizBase));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.multipleChoiceQuiz", typeof(MultipleChoiceQuiz));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.freeResponseQuiz", typeof(FreeResponseQuiz));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.quizResponseBase", typeof(QuizResponseBase));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.multipleChoiceResponse", typeof(MultipleChoiceQuizResponse));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.freeResponseAnswerBase", typeof(FreeResponseAnswerBase));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.strictMatchAnswer", typeof(StrictMatchAnswer));
            JsonTypeRegistry.Instance.RegisterType("motive.gaming.textMustContainAnswer", typeof(TextMustContainAnswer));

            JsonTypeRegistry.Instance.RegisterType("motive.ar.beaconTask", typeof(BeaconTask));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.locationTask", typeof(LocationTask));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.visualMarkerTask", typeof(VisualMarkerTask));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.locationMarker", typeof(LocationMarker));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.location3dAsset", typeof(Location3DAsset));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.mapOverlay", typeof(MapOverlay));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.layeredMapOverlay", typeof(LayeredMapOverlay));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.arCatcherMinigame", typeof(ARCatcherMinigame));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.mapZoomCommand", typeof(MapZoomCommand));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.storyTagLocationTypes", typeof(StoryTagLocationType));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.mapZoomCommand", typeof(MapZoomCommand));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.rawImageMarker", typeof(RawImageMarker));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.pedometerCondition", typeof(PedometerCondition));

            JsonTypeRegistry.Instance.RegisterType("motive.ar.arLocationCollectionMechanic", typeof(ARLocationCollectionMechanic));
            JsonTypeRegistry.Instance.RegisterType("motive.ar.mapLocationCollectionMechanic", typeof(MapLocationCollectionMechanic));

            JsonTypeRegistry.Instance.RegisterType("motive.attractions.locationAttraction", typeof(LocationAttraction));
            JsonTypeRegistry.Instance.RegisterType("motive.attractions.locationAttractionActivator", typeof(LocationAttractionActivator));
            JsonTypeRegistry.Instance.RegisterType("motive.attractions.locationAttractionInteractible", typeof(LocationAttractionInteractible));
            JsonTypeRegistry.Instance.RegisterType("motive.attractions.locationAttractionContent", typeof(LocationAttractionContent));

            JsonTypeRegistry.Instance.RegisterType("motive.google.polyAsset", typeof(PolyAsset));

            // The Script Resource Processors take the resources from the script processor and
            // direct them to the game components that know what to do with them.
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.core.scriptLauncher", new ScriptLauncherProcessor());

            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ui.objectInspector", new ObjectInspectorProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ui.interfaceUpdate", new InterfaceUpdateProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ui.interfaceDirector", new InterfaceDirectorProcessor());

            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.assignment", new AssignmentProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.objectiveActivator", new ObjectiveActivatorProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.objectiveCompleter", new ObjectiveCompleterProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.playerTask", new PlayerTaskProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.characterTask", new CharacterTaskProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.inventoryCollectibles", new InventoryCollectiblesProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.inventoryCollectibleLimit", new InventoryCollectibleLimitProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.walletCurrency", new WalletCurrencyProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.walletCurrencyLimit", new WalletCurrencyLimitProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.playableContent", new PlayableContentProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.playableContentBatch", new PlayableContentBatchProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.playerReward", new PlayerRewardProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.savePoint", new SavePointProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.recipeActivator", new RecipeActivatorProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.recipeDeactivator", new RecipeDeactivatorProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.gaming.interfaceAction", new InterfaceActionProcessor());

            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.locationTask", new LocationTaskProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.locationMarker", new LocationMarkerProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.location3dAsset", new Location3DAssetProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.locativeAudioContent", new LocativeAudioContentProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.mapOverlay", new MapOverlayProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.ar.layeredMapOverlay", new LayeredMapOverlayProcessor());

            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.3d.worldObjectEffectPlayer", new WorldObjectEffectPlayerProcessor());

            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.attractions.locationAttractionActivator", new LocationAttractionActivatorProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.attractions.locationAttractionInteractible", new LocationAttractionInteractibleProcessor());
            ScriptEngine.Instance.RegisterScriptResourceProcessor("motive.attractions.locationAttractionContent", new LocationAttractionContentProcessor());

            // Condition monitors track system state and can be used by conditions in the Motive
            // authoring tool.
            ScriptEngine.Instance.RegisterConditionMonitor(new RecipeActivatedConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new AppVersionConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new TaskObjectiveCompleteConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new InventoryConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new WalletConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new CanCraftCollectibleConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new CanExecuteRecipeConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new CanCompleteTaskConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new CanCompleteObjectiveTaskConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(new PedometerConditionMonitor());
            ScriptEngine.Instance.RegisterConditionMonitor(WorldObjectProximityConditionMonitor.Instance);
        }
Esempio n. 36
0
 public MonitoringTask(IBeaconManager beaconManager, LogSqliteConnection conn)
 {
     this.beaconManager = beaconManager;
     this.conn          = conn;
 }
Esempio n. 37
0
 public void BindIBeaconManager(Activity mainActivity)
 {
     IBeaconManager = IBeaconManager.GetInstanceForApplication(mainActivity);
     IBeaconManager.Bind(mainActivity as IBeaconConsumer);
 }
Esempio n. 38
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="beaconManager"></param>
 public BeaconController(IBeaconManager beaconManager)
 {
     _beaconManager = beaconManager;
 }