Пример #1
0
        public override void OnConnectionStateChange(BluetoothGatt gatt, GattStatus status, ProfileState newState)
        {
            base.OnConnectionStateChange(gatt, status, newState);

            switch (newState)
            {
            case ProfileState.Connected:
                IsConnected = true;
                gatt.DiscoverServices();
                BcoreConnectionChanged?.Invoke(this, new BcoreConnectionChangedEventArgs(true));
                break;

            case ProfileState.Connecting:
                break;

            case ProfileState.Disconnecting:
                IsInitialized = false;
                IsConnected   = false;
                break;

            case ProfileState.Disconnected:
                BcoreConnectionChanged?.Invoke(this, new BcoreConnectionChangedEventArgs(false));
                IsConnected   = false;
                IsInitialized = false;
                break;
            }
        }
        public GaganController(Context context)
        {
            Context      = context;
            Pref         = GaganPreference.Load(context);
            BcoreManager = new BcoreManager(Context);
            BcoreManager.BcoreConnectionChanged += (s, e) =>
            {
                if (e.IsConnected)
                {
                    IsTimerRunning = false;
                    TimerHandler   = new Handler(Looper.MainLooper);
                }
                else
                {
                    IsTimerRunning = false;
                    TimerHandler?.RemoveCallbacks(OnTimer);
                    TimerHandler = null;
                }

                BcoreConnectionChanged?.Invoke(this, e.IsConnected);
            };
        }