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); }; }