private void Current_BatteryChanged(object sender, BatteryChangedEventArgs e)
        {
            var fakeNobreakChargePercent = e.RemainingChargePercent + 50;

            NobreakChargePercent = (fakeNobreakChargePercent > 100 || Device.RuntimePlatform == Device.UWP) ? "100%" : $"{fakeNobreakChargePercent}%";
            PhoneChargePercent   = $"{e.RemainingChargePercent}%";
            ImagePhoneBattery    = e.Status.ToString();

            if (e.PowerSource.Equals(PowerSource.Usb))
            {
                ImagePhoneBattery = "PhoneBatteryOnInUSB.png";
                MessageInfo       = "Dispositivo conectado ao Nobreak Online!";
                return;
            }

            if (e.PowerSource.Equals(PowerSource.Ac))
            {
                ImagePhoneBattery = "PhoneBatteryOnInAC.png";
                MessageInfo       = "Rede de energia conectada ao Nobreak Online!";
                return;
            }

            ImagePhoneBattery = "PhoneBatteryOff.png";
            MessageInfo       = "*Dispositivo ou rede de energia desconectado!";
        }
Пример #2
0
 void OnBatteryChanged(BatteryChangedEventArgs e)
 {
     if (BindingContext is BatteryViewModel vm)
     {
         vm.Update(e);
     }
 }
Пример #3
0
 private void Battery_BatteryChanged(object sender, BatteryChangedEventArgs e)
 {
     Debug.WriteLine(e.Status.ToString());
 }
Пример #4
0
 private void BatteryChanged(object sender, BatteryChangedEventArgs e)
 {
     _percentRemaining.Value.Set(e.RemainingChargePercent);
     _status.Value.Set(e.Status.ToString());
     _source.Value.Set(e.PowerSource.ToString());
 }
Пример #5
0
 void Battery_BatteryChanged(BatteryChangedEventArgs e)
 {
 }
Пример #6
0
 // Evento que ocurre cuando el valor de bateria se modifica
 private void Battery_BatteryChanged(object sender, BatteryChangedEventArgs e)
 {
     linearGauge.Value      = 100 - (e.ChargeLevel * 100);
     linearGauge.Marks.Text = (100 - linearGauge.Value).ToString();
 }
Пример #7
0
        /// <summary>
        /// Receiver BR
        /// </summary>
        /// <param name="context"></param>
        /// <param name="intent"></param>
        public override void OnReceive(Context context, Intent intent)
        {
            if (BatteryLevelChanged == null)
            {
                return;
            }

            var args = new BatteryChangedEventArgs();



            var level = intent.GetIntExtra(BatteryManager.ExtraLevel, -1);
            var scale = intent.GetIntExtra(BatteryManager.ExtraScale, -1);


            args.RemainingChargePercent = (int)Math.Floor(level * 100D / scale);

            if (intent.Action == Intent.ActionBatteryLow)
            {
                args.IsLow = true;
            }
            else if (intent.Action == Intent.ActionBatteryOkay)
            {
                args.IsLow = false;
            }
            else
            {
                args.IsLow = args.RemainingChargePercent <= 15;
            }

            // Are we charging / charged? works on phones, not emulators must check how.
            int status     = intent.GetIntExtra(BatteryManager.ExtraStatus, -1);
            var isCharging = status == (int)BatteryStatus.Charging || status == (int)BatteryStatus.Full;

            // How are we charging?
            var  chargePlug     = intent.GetIntExtra(BatteryManager.ExtraPlugged, -1);
            var  usbCharge      = chargePlug == (int)BatteryPlugged.Usb;
            var  acCharge       = chargePlug == (int)BatteryPlugged.Ac;
            bool wirelessCharge = false;

#if __ANDROID_17__
            if ((int)Build.VERSION.SdkInt >= 17)
            {
                wirelessCharge = chargePlug == (int)BatteryPlugged.Wireless;
            }
#endif
            isCharging = (usbCharge || acCharge || wirelessCharge);
            if (!isCharging)
            {
                args.PowerSource = PowerSource.Battery;
            }
            else if (usbCharge)
            {
                args.PowerSource = PowerSource.Usb;
            }
            else if (acCharge)
            {
                args.PowerSource = PowerSource.Ac;
            }
            else if (wirelessCharge)
            {
                args.PowerSource = PowerSource.Wireless;
            }
            else
            {
                args.PowerSource = PowerSource.Other;
            }


            if (isCharging)
            {
                args.Status = Abstractions.BatteryStatus.Charging;
            }
            else
            {
                switch (status)
                {
                case (int)BatteryStatus.Charging:
                    args.Status = Abstractions.BatteryStatus.Charging;
                    break;

                case (int)BatteryStatus.Discharging:
                    args.Status = Abstractions.BatteryStatus.Discharging;
                    break;

                case (int)BatteryStatus.Full:
                    args.Status = Abstractions.BatteryStatus.Full;
                    break;

                case (int)BatteryStatus.NotCharging:
                    args.Status = Abstractions.BatteryStatus.NotCharging;
                    break;

                default:
                    args.Status = Abstractions.BatteryStatus.Unknown;
                    break;
                }
            }
            BatteryLevelChanged(args);
        }
Пример #8
0
 private void XEBatteryInfo_BatteryChanged(object sender, BatteryChangedEventArgs e)
 {
     Initialize();
     ReadingsChanged?.Invoke(this, e);
 }
Пример #9
0
 public void Update(BatteryChangedEventArgs e)
 {
     OnPropertyChanged(nameof(Level));
     OnPropertyChanged(nameof(State));
     OnPropertyChanged(nameof(PowerSource));
 }
Пример #10
0
 void OnBatteryChanged(object sender, BatteryChangedEventArgs e)
 {
     OnPropertyChanged(nameof(Level));
     OnPropertyChanged(nameof(State));
     OnPropertyChanged(nameof(PowerSource));
 }
Пример #11
0
 void Battery_BatteryChanged(object sender, BatteryChangedEventArgs e)
 {
 }