Beispiel #1
0
        public IObservable <PowerStatus> WhenPowerStatusChanged()
        {
            return(AndroidObservables
                   .WhenIntentReceived(Intent.ActionBatteryChanged)
                   //.WhenIntentReceived(Intent.ActionPowerConnected, Intent.ActionPowerDisconnected)
                   .Select(intent =>
            {
                var status = (BatteryStatus)intent.GetIntExtra(BatteryManager.ExtraStatus, -1);
                switch (status)
                {
                case BatteryStatus.Discharging:
                case BatteryStatus.NotCharging:
                    return PowerStatus.Discharging;

                case BatteryStatus.Charging:
                    return PowerStatus.Charging;

                case BatteryStatus.Full:
                    return PowerStatus.Charged;

                default:
                    return PowerStatus.Unknown;
                }
            }));
        }
Beispiel #2
0
 public IObservable <int> WhenBatteryPercentageChanged() => AndroidObservables
 .WhenIntentReceived(Intent.ActionBatteryChanged)
 .Select(intent =>
 {
     var level = intent.GetIntExtra(BatteryManager.ExtraLevel, -1);
     var scale = intent.GetIntExtra(BatteryManager.ExtraScale, -1);
     var value = (int)Math.Floor(level * 100D / scale);
     return(value);
 });
Beispiel #3
0
 public static IObservable <BluetoothDevice> WhenDeviceEventReceived(string action)
 {
     return(AndroidObservables
            .WhenIntentReceived(action)
            .Select(intent =>
     {
         var device = (BluetoothDevice)intent.GetParcelableExtra(BluetoothDevice.ExtraDevice);
         return device;
     }));
 }
Beispiel #4
0
 public IObservable <CultureInfo> WhenCultureChanged()
 {
     return(AndroidObservables
            .WhenIntentReceived(Intent.ActionLocaleChanged)
            .Select(x => this.GetCurrentCulture()));
 }
 public IObservable <NetworkReachability> WhenStatusChanged()
 {
     return(AndroidObservables
            .WhenIntentReceived(ConnectivityManager.ConnectivityAction)
            .Select(intent => this.InternetReachability));
 }
Beispiel #6
0
 public IObservable <NetworkType> WhenNetworkTypeChanged() => AndroidObservables
 .WhenIntentReceived(ConnectivityManager.ConnectivityAction)
 .Select(intent => this.InternetNetworkType);
Beispiel #7
0
 public static IObservable <object> WhenAdapterDiscoveryFinished()
 {
     return(AndroidObservables.WhenIntentReceived(BluetoothAdapter.ActionDiscoveryFinished));
 }
Beispiel #8
0
 public static IObservable <object> WhenAdapterStatusChanged()
 {
     return(AndroidObservables.WhenIntentReceived(BluetoothAdapter.ActionStateChanged));
 }