AncsNotifier.AncsManager.DataSourceCharacteristicOnValueChanged C# (CSharp) Method

DataSourceCharacteristicOnValueChanged() private method

private DataSourceCharacteristicOnValueChanged ( GattCharacteristic sender, GattValueChangedEventArgs args ) : void
sender GattCharacteristic
args GattValueChangedEventArgs
return void
        private async void DataSourceCharacteristicOnValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)
        {
            var stream = args.CharacteristicValue.AsStream();
            var br = new BinaryReader(stream);

            var cmdId = br.ReadByte();
            var notUid = br.ReadUInt32();
            var attr1 = (NotificationAttribute)br.ReadByte();
            var attr1len = br.ReadUInt16();
            var attr1val = br.ReadChars(attr1len);
            var attr2 = (NotificationAttribute) br.ReadByte();
            var attr2len = br.ReadUInt16();
            var attr2val = br.ReadChars(attr2len);

            EventFlags? flags = null;

            if(FlagCache.ContainsKey(notUid))
            {
                flags = FlagCache[notUid];
            }

            var not = new PlainNotification()
            {
                EventFlags = flags,
                Uid = notUid,
                Title = new string(attr1val),
                Message = new string(attr2val)
            };

            OnNotification?.Invoke(not);
        }