From 03ec2e40d74c54dd8d0b023d6e6487ee6be79c8a Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 2 Nov 2018 22:51:53 +0200 Subject: [PATCH 1/2] Move the `Power` members into `Battery` Closes #583 --- .../DeviceTests.Shared/Battery_Tests.cs | 6 ++ DeviceTests/DeviceTests.Shared/Power_Tests.cs | 14 ---- README.md | 1 - Samples/Samples/ViewModel/BatteryViewModel.cs | 6 +- Xamarin.Essentials/Battery/Battery.android.cs | 58 +++++++++++++++- Xamarin.Essentials/Battery/Battery.ios.cs | 18 +++++ .../Battery/Battery.netstandard.cs | 9 +++ Xamarin.Essentials/Battery/Battery.shared.cs | 56 ++++++++++++++++ Xamarin.Essentials/Battery/Battery.uwp.cs | 24 +++++-- Xamarin.Essentials/Power/Power.android.cs | 66 ------------------- Xamarin.Essentials/Power/Power.ios.cs | 27 -------- Xamarin.Essentials/Power/Power.netstandard.cs | 14 ---- Xamarin.Essentials/Power/Power.shared.cs | 60 ----------------- Xamarin.Essentials/Power/Power.uwp.cs | 23 ------- .../xamarin-essentials-android.xml | 20 +++--- .../xamarin-essentials-ios.xml | 20 +++--- .../xamarin-essentials-uwp.xml | 20 +++--- .../en/FrameworksIndex/xamarin-essentials.xml | 20 +++--- docs/en/Xamarin.Essentials/AppInfo.xml | 36 +++++----- docs/en/Xamarin.Essentials/Battery.xml | 39 +++++++++++ .../EnergySaverStatusChangedEventArgs.xml | 19 ++++++ docs/en/Xamarin.Essentials/Power.xml | 60 ----------------- docs/en/index.xml | 9 ++- 23 files changed, 291 insertions(+), 334 deletions(-) delete mode 100644 DeviceTests/DeviceTests.Shared/Power_Tests.cs delete mode 100644 Xamarin.Essentials/Power/Power.android.cs delete mode 100644 Xamarin.Essentials/Power/Power.ios.cs delete mode 100644 Xamarin.Essentials/Power/Power.netstandard.cs delete mode 100644 Xamarin.Essentials/Power/Power.shared.cs delete mode 100644 Xamarin.Essentials/Power/Power.uwp.cs delete mode 100644 docs/en/Xamarin.Essentials/Power.xml diff --git a/DeviceTests/DeviceTests.Shared/Battery_Tests.cs b/DeviceTests/DeviceTests.Shared/Battery_Tests.cs index 592a75178..ca11c6c78 100644 --- a/DeviceTests/DeviceTests.Shared/Battery_Tests.cs +++ b/DeviceTests/DeviceTests.Shared/Battery_Tests.cs @@ -42,5 +42,11 @@ public void Charge_Power() Assert.NotEqual(BatteryPowerSource.Unknown, Battery.PowerSource); } + + [Fact] + public void App_Is_Not_Lower_Power_mode() + { + Assert.Equal(EnergySaverStatus.Off, Battery.EnergySaverStatus); + } } } diff --git a/DeviceTests/DeviceTests.Shared/Power_Tests.cs b/DeviceTests/DeviceTests.Shared/Power_Tests.cs deleted file mode 100644 index b1c7164b7..000000000 --- a/DeviceTests/DeviceTests.Shared/Power_Tests.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Xamarin.Essentials; -using Xunit; - -namespace DeviceTests -{ - public class Power_Tests - { - [Fact] - public void App_Is_Not_Lower_Power_mode() - { - Assert.Equal(EnergySaverStatus.Off, Power.EnergySaverStatus); - } - } -} diff --git a/README.md b/README.md index 300ec98ef..fe2bc3d4b 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,6 @@ The following cross-platform APIs are available in Xamarin.Essentials: * [Open Browser](https://docs.microsoft.com/xamarin/essentials/open-browser) * [Orientation Sensor](https://docs.microsoft.com/en-us/xamarin/essentials/orientation-sensor) * [Phone Dialer](https://docs.microsoft.com/xamarin/essentials/phone-dialer) -* [Power](https://docs.microsoft.com/en-us/xamarin/essentials/power) * [Preferences](https://docs.microsoft.com/xamarin/essentials/preferences) * [Screen Lock](https://docs.microsoft.com/xamarin/essentials/screen-lock) * [Secure Storage](https://docs.microsoft.com/xamarin/essentials/secure-storage) diff --git a/Samples/Samples/ViewModel/BatteryViewModel.cs b/Samples/Samples/ViewModel/BatteryViewModel.cs index eb93dc6d5..0cd492bf2 100644 --- a/Samples/Samples/ViewModel/BatteryViewModel.cs +++ b/Samples/Samples/ViewModel/BatteryViewModel.cs @@ -14,20 +14,20 @@ public BatteryViewModel() public BatteryPowerSource PowerSource => Battery.PowerSource; - public EnergySaverStatus EnergySaverStatus => Power.EnergySaverStatus; + public EnergySaverStatus EnergySaverStatus => Battery.EnergySaverStatus; public override void OnAppearing() { base.OnAppearing(); Battery.BatteryChanged += OnBatteryChanged; - Power.EnergySaverStatusChanged += OnEnergySaverStatusChanged; + Battery.EnergySaverStatusChanged += OnEnergySaverStatusChanged; } public override void OnDisappearing() { Battery.BatteryChanged -= OnBatteryChanged; - Power.EnergySaverStatusChanged -= OnEnergySaverStatusChanged; + Battery.EnergySaverStatusChanged -= OnEnergySaverStatusChanged; base.OnDisappearing(); } diff --git a/Xamarin.Essentials/Battery/Battery.android.cs b/Xamarin.Essentials/Battery/Battery.android.cs index 041c147c2..fd370e91a 100644 --- a/Xamarin.Essentials/Battery/Battery.android.cs +++ b/Xamarin.Essentials/Battery/Battery.android.cs @@ -1,13 +1,51 @@ using System; using Android.Content; using Android.OS; -using Debug = System.Diagnostics.Debug; namespace Xamarin.Essentials { public static partial class Battery { static BatteryBroadcastReceiver batteryReceiver; + static EnergySaverBroadcastReceiver powerReceiver; + + static void StartEnergySaverListeners() + { + if (!Platform.HasApiLevel(BuildVersionCodes.Lollipop)) + return; + + powerReceiver = new EnergySaverBroadcastReceiver(OnEnergySaverChanged); + Platform.AppContext.RegisterReceiver(powerReceiver, new IntentFilter(PowerManager.ActionPowerSaveModeChanged)); + } + + static void StopEnergySaverListeners() + { + if (!Platform.HasApiLevel(BuildVersionCodes.Lollipop)) + return; + + try + { + Platform.AppContext.UnregisterReceiver(powerReceiver); + } + catch (Java.Lang.IllegalArgumentException) + { + System.Diagnostics.Debug.WriteLine("Energy saver receiver already unregistered. Disposing of it."); + } + powerReceiver.Dispose(); + powerReceiver = null; + } + + static EnergySaverStatus PlatformEnergySaverStatus + { + get + { + var status = false; + if (Platform.HasApiLevel(BuildVersionCodes.Lollipop)) + status = Platform.PowerManager?.IsPowerSaveMode ?? false; + + return status ? EnergySaverStatus.On : EnergySaverStatus.Off; + } + } static void StartBatteryListeners() { @@ -25,7 +63,7 @@ static void StopBatteryListeners() } catch (Java.Lang.IllegalArgumentException) { - Debug.WriteLine("Battery receiver already unregistered. Disposing of it."); + System.Diagnostics.Debug.WriteLine("Battery receiver already unregistered. Disposing of it."); } batteryReceiver.Dispose(); batteryReceiver = null; @@ -119,4 +157,20 @@ public BatteryBroadcastReceiver(Action onChanged) => public override void OnReceive(Context context, Intent intent) => onChanged?.Invoke(); } + + [BroadcastReceiver(Enabled = true, Exported = false, Label = "Essentials Energy Saver Broadcast Receiver")] + class EnergySaverBroadcastReceiver : BroadcastReceiver + { + Action onChanged; + + public EnergySaverBroadcastReceiver() + { + } + + public EnergySaverBroadcastReceiver(Action onChanged) => + this.onChanged = onChanged; + + public override void OnReceive(Context context, Intent intent) => + onChanged?.Invoke(); + } } diff --git a/Xamarin.Essentials/Battery/Battery.ios.cs b/Xamarin.Essentials/Battery/Battery.ios.cs index 5945b0cd6..2296ae98d 100644 --- a/Xamarin.Essentials/Battery/Battery.ios.cs +++ b/Xamarin.Essentials/Battery/Battery.ios.cs @@ -7,6 +7,24 @@ public static partial class Battery { static NSObject levelObserver; static NSObject stateObserver; + static NSObject saverStatusObserver; + + static void StartEnergySaverListeners() + { + saverStatusObserver = NSNotificationCenter.DefaultCenter.AddObserver(NSProcessInfo.PowerStateDidChangeNotification, PowerChangedNotification); + } + + static void StopEnergySaverListeners() + { + saverStatusObserver?.Dispose(); + saverStatusObserver = null; + } + + static void PowerChangedNotification(NSNotification notification) + => MainThread.BeginInvokeOnMainThread(OnEnergySaverChanged); + + static EnergySaverStatus PlatformEnergySaverStatus => + NSProcessInfo.ProcessInfo?.LowPowerModeEnabled == true ? EnergySaverStatus.On : EnergySaverStatus.Off; static void StartBatteryListeners() { diff --git a/Xamarin.Essentials/Battery/Battery.netstandard.cs b/Xamarin.Essentials/Battery/Battery.netstandard.cs index 1b6c7b2bf..f4021e715 100644 --- a/Xamarin.Essentials/Battery/Battery.netstandard.cs +++ b/Xamarin.Essentials/Battery/Battery.netstandard.cs @@ -16,5 +16,14 @@ static void StopBatteryListeners() => static BatteryPowerSource PlatformPowerSource => throw new NotImplementedInReferenceAssemblyException(); + + static void StartEnergySaverListeners() => + throw new NotImplementedInReferenceAssemblyException(); + + static void StopEnergySaverListeners() => + throw new NotImplementedInReferenceAssemblyException(); + + static EnergySaverStatus PlatformEnergySaverStatus => + throw new NotImplementedInReferenceAssemblyException(); } } diff --git a/Xamarin.Essentials/Battery/Battery.shared.cs b/Xamarin.Essentials/Battery/Battery.shared.cs index 6d117b0ca..a4e980fc0 100644 --- a/Xamarin.Essentials/Battery/Battery.shared.cs +++ b/Xamarin.Essentials/Battery/Battery.shared.cs @@ -6,6 +6,8 @@ public static partial class Battery { static event EventHandler BatteryChangedInternal; + static event EventHandler EnergySaverStatusChangedInternal; + // a cache so that events aren't fired unnecessarily // this is mainly an issue on Android, but we can stiil do this everywhere static double currentLevel; @@ -18,6 +20,8 @@ public static partial class Battery public static BatteryPowerSource PowerSource => PlatformPowerSource; + public static EnergySaverStatus EnergySaverStatus => PlatformEnergySaverStatus; + public static event EventHandler BatteryChanged { add @@ -44,6 +48,29 @@ public static event EventHandler BatteryChanged } } + public static event EventHandler EnergySaverStatusChanged + { + add + { + var wasRunning = EnergySaverStatusChangedInternal != null; + + EnergySaverStatusChangedInternal += value; + + if (!wasRunning && EnergySaverStatusChangedInternal != null) + StartEnergySaverListeners(); + } + + remove + { + var wasRunning = EnergySaverStatusChangedInternal != null; + + EnergySaverStatusChangedInternal -= value; + + if (wasRunning && EnergySaverStatusChangedInternal == null) + StopEnergySaverListeners(); + } + } + static void SetCurrent() { currentLevel = Battery.ChargeLevel; @@ -65,6 +92,15 @@ static void OnBatteryChanged(BatteryChangedEventArgs e) BatteryChangedInternal?.Invoke(null, e); } } + + static void OnEnergySaverChanged() + => OnEnergySaverChanged(EnergySaverStatus); + + static void OnEnergySaverChanged(EnergySaverStatus saverStatus) + => OnEnergySaverChanged(new EnergySaverStatusChangedEventArgs(saverStatus)); + + static void OnEnergySaverChanged(EnergySaverStatusChangedEventArgs e) + => EnergySaverStatusChangedInternal?.Invoke(null, e); } public enum BatteryState @@ -86,6 +122,13 @@ public enum BatteryPowerSource Wireless } + public enum EnergySaverStatus + { + Unknown, + On, + Off + } + public class BatteryChangedEventArgs : EventArgs { internal BatteryChangedEventArgs(double level, BatteryState state, BatteryPowerSource source) @@ -106,4 +149,17 @@ public override string ToString() => $"{nameof(State)}: {State}, " + $"{nameof(PowerSource)}: {PowerSource}"; } + + public class EnergySaverStatusChangedEventArgs : EventArgs + { + internal EnergySaverStatusChangedEventArgs(EnergySaverStatus saverStatus) + { + EnergySaverStatus = saverStatus; + } + + public EnergySaverStatus EnergySaverStatus { get; } + + public override string ToString() => + $"{nameof(EnergySaverStatus)}: {EnergySaverStatus}"; + } } diff --git a/Xamarin.Essentials/Battery/Battery.uwp.cs b/Xamarin.Essentials/Battery/Battery.uwp.cs index 24a80d858..683dfd2a0 100644 --- a/Xamarin.Essentials/Battery/Battery.uwp.cs +++ b/Xamarin.Essentials/Battery/Battery.uwp.cs @@ -1,7 +1,18 @@ -namespace Xamarin.Essentials +using Windows.System.Power; + +namespace Xamarin.Essentials { public static partial class Battery { + static void StartEnergySaverListeners() => + PowerManager.EnergySaverStatusChanged += ReportEnergySaverUpdated; + + static void StopEnergySaverListeners() => + PowerManager.EnergySaverStatusChanged -= ReportEnergySaverUpdated; + + static void ReportEnergySaverUpdated(object sender, object e) + => MainThread.BeginInvokeOnMainThread(OnEnergySaverChanged); + static void StartBatteryListeners() => DefaultBattery.ReportUpdated += ReportUpdated; @@ -39,15 +50,15 @@ static BatteryState PlatformState switch (report.Status) { - case Windows.System.Power.BatteryStatus.Charging: + case BatteryStatus.Charging: return BatteryState.Charging; - case Windows.System.Power.BatteryStatus.Discharging: + case BatteryStatus.Discharging: return BatteryState.Discharging; - case Windows.System.Power.BatteryStatus.Idle: + case BatteryStatus.Idle: if (ChargeLevel >= 1.0) return BatteryState.Full; return BatteryState.NotCharging; - case Windows.System.Power.BatteryStatus.NotPresent: + case BatteryStatus.NotPresent: return BatteryState.NotPresent; } @@ -75,5 +86,8 @@ static BatteryPowerSource PlatformPowerSource } } } + + static EnergySaverStatus PlatformEnergySaverStatus => + PowerManager.EnergySaverStatus == Windows.System.Power.EnergySaverStatus.On ? EnergySaverStatus.On : EnergySaverStatus.Off; } } diff --git a/Xamarin.Essentials/Power/Power.android.cs b/Xamarin.Essentials/Power/Power.android.cs deleted file mode 100644 index 2c5e8c0db..000000000 --- a/Xamarin.Essentials/Power/Power.android.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using Android.Content; -using Android.OS; -using Debug = System.Diagnostics.Debug; - -namespace Xamarin.Essentials -{ - public static partial class Power - { - static PowerBroadcastReceiver powerReceiver; - - static void StartPowerListeners() - { - if (!Platform.HasApiLevel(BuildVersionCodes.Lollipop)) - return; - - powerReceiver = new PowerBroadcastReceiver(OnPowerChanged); - Platform.AppContext.RegisterReceiver(powerReceiver, new IntentFilter(PowerManager.ActionPowerSaveModeChanged)); - } - - static void StopPowerListeners() - { - if (!Platform.HasApiLevel(BuildVersionCodes.Lollipop)) - return; - - try - { - Platform.AppContext.UnregisterReceiver(powerReceiver); - } - catch (Java.Lang.IllegalArgumentException) - { - Debug.WriteLine("Power receiver already unregistered. Disposing of it."); - } - powerReceiver.Dispose(); - powerReceiver = null; - } - - static EnergySaverStatus PlatformEnergySaverStatus - { - get - { - var status = false; - if (Platform.HasApiLevel(BuildVersionCodes.Lollipop)) - status = Platform.PowerManager?.IsPowerSaveMode ?? false; - - return status ? EnergySaverStatus.On : EnergySaverStatus.Off; - } - } - } - - [BroadcastReceiver(Enabled = true, Exported = false, Label = "Essentials Power Broadcast Receiver")] - class PowerBroadcastReceiver : BroadcastReceiver - { - Action onChanged; - - public PowerBroadcastReceiver() - { - } - - public PowerBroadcastReceiver(Action onChanged) => - this.onChanged = onChanged; - - public override void OnReceive(Context context, Intent intent) => - onChanged?.Invoke(); - } -} diff --git a/Xamarin.Essentials/Power/Power.ios.cs b/Xamarin.Essentials/Power/Power.ios.cs deleted file mode 100644 index 8901e992d..000000000 --- a/Xamarin.Essentials/Power/Power.ios.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Foundation; -using UIKit; - -namespace Xamarin.Essentials -{ - public static partial class Power - { - static NSObject saverStatusObserver; - - static void StartPowerListeners() - { - saverStatusObserver = NSNotificationCenter.DefaultCenter.AddObserver(NSProcessInfo.PowerStateDidChangeNotification, PowerChangedNotification); - } - - static void StopPowerListeners() - { - saverStatusObserver?.Dispose(); - saverStatusObserver = null; - } - - static void PowerChangedNotification(NSNotification notification) - => MainThread.BeginInvokeOnMainThread(OnPowerChanged); - - static EnergySaverStatus PlatformEnergySaverStatus => - NSProcessInfo.ProcessInfo?.LowPowerModeEnabled == true ? EnergySaverStatus.On : EnergySaverStatus.Off; - } -} diff --git a/Xamarin.Essentials/Power/Power.netstandard.cs b/Xamarin.Essentials/Power/Power.netstandard.cs deleted file mode 100644 index 3d36439a2..000000000 --- a/Xamarin.Essentials/Power/Power.netstandard.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Xamarin.Essentials -{ - public static partial class Power - { - static void StartPowerListeners() => - throw new NotImplementedInReferenceAssemblyException(); - - static void StopPowerListeners() => - throw new NotImplementedInReferenceAssemblyException(); - - static EnergySaverStatus PlatformEnergySaverStatus => - throw new NotImplementedInReferenceAssemblyException(); - } -} diff --git a/Xamarin.Essentials/Power/Power.shared.cs b/Xamarin.Essentials/Power/Power.shared.cs deleted file mode 100644 index f22a93ec3..000000000 --- a/Xamarin.Essentials/Power/Power.shared.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; - -namespace Xamarin.Essentials -{ - public static partial class Power - { - static event EventHandler EnergySaverStatusChangedInternal; - - public static EnergySaverStatus EnergySaverStatus => PlatformEnergySaverStatus; - - public static event EventHandler EnergySaverStatusChanged - { - add - { - var wasRunning = EnergySaverStatusChangedInternal != null; - - EnergySaverStatusChangedInternal += value; - - if (!wasRunning && EnergySaverStatusChangedInternal != null) - StartPowerListeners(); - } - - remove - { - var wasRunning = EnergySaverStatusChangedInternal != null; - - EnergySaverStatusChangedInternal -= value; - - if (wasRunning && EnergySaverStatusChangedInternal == null) - StopPowerListeners(); - } - } - - static void OnPowerChanged() - => OnPowerChanged(EnergySaverStatus); - - static void OnPowerChanged(EnergySaverStatus saverStatus) - => OnPowerChanged(new EnergySaverStatusChangedEventArgs(saverStatus)); - - static void OnPowerChanged(EnergySaverStatusChangedEventArgs e) - => EnergySaverStatusChangedInternal?.Invoke(null, e); - } - - public enum EnergySaverStatus - { - Unknown, - On, - Off - } - - public class EnergySaverStatusChangedEventArgs : EventArgs - { - internal EnergySaverStatusChangedEventArgs(EnergySaverStatus saverStatus) - { - EnergySaverStatus = saverStatus; - } - - public EnergySaverStatus EnergySaverStatus { get; } - } -} diff --git a/Xamarin.Essentials/Power/Power.uwp.cs b/Xamarin.Essentials/Power/Power.uwp.cs deleted file mode 100644 index 1f921e484..000000000 --- a/Xamarin.Essentials/Power/Power.uwp.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Windows.System.Power; - -namespace Xamarin.Essentials -{ - public static partial class Power - { - static void StartPowerListeners() - { - PowerManager.EnergySaverStatusChanged += ReportUpdated; - } - - static void StopPowerListeners() - { - PowerManager.EnergySaverStatusChanged -= ReportUpdated; - } - - static void ReportUpdated(object sender, object e) - => MainThread.BeginInvokeOnMainThread(OnPowerChanged); - - static EnergySaverStatus PlatformEnergySaverStatus => - PowerManager.EnergySaverStatus == Windows.System.Power.EnergySaverStatus.On ? EnergySaverStatus.On : EnergySaverStatus.Off; - } -} diff --git a/docs/en/FrameworksIndex/xamarin-essentials-android.xml b/docs/en/FrameworksIndex/xamarin-essentials-android.xml index cf33dd2da..0bce6a53b 100644 --- a/docs/en/FrameworksIndex/xamarin-essentials-android.xml +++ b/docs/en/FrameworksIndex/xamarin-essentials-android.xml @@ -1,4 +1,7 @@ + + + @@ -46,7 +49,9 @@ + + @@ -123,11 +128,6 @@ - - - - - @@ -188,6 +188,7 @@ + @@ -394,10 +395,6 @@ - - - - @@ -479,6 +476,11 @@ + + + + + diff --git a/docs/en/FrameworksIndex/xamarin-essentials-ios.xml b/docs/en/FrameworksIndex/xamarin-essentials-ios.xml index 2412c1c85..b5a9d3d44 100644 --- a/docs/en/FrameworksIndex/xamarin-essentials-ios.xml +++ b/docs/en/FrameworksIndex/xamarin-essentials-ios.xml @@ -1,4 +1,7 @@ + + + @@ -46,7 +49,9 @@ + + @@ -124,11 +129,6 @@ - - - - - @@ -189,6 +189,7 @@ + @@ -391,10 +392,6 @@ - - - - @@ -478,6 +475,11 @@ + + + + + diff --git a/docs/en/FrameworksIndex/xamarin-essentials-uwp.xml b/docs/en/FrameworksIndex/xamarin-essentials-uwp.xml index 09dcad344..3c9a3eb34 100644 --- a/docs/en/FrameworksIndex/xamarin-essentials-uwp.xml +++ b/docs/en/FrameworksIndex/xamarin-essentials-uwp.xml @@ -1,4 +1,7 @@ + + + @@ -46,7 +49,9 @@ + + @@ -123,11 +128,6 @@ - - - - - @@ -188,6 +188,7 @@ + @@ -390,10 +391,6 @@ - - - - @@ -475,6 +472,11 @@ + + + + + diff --git a/docs/en/FrameworksIndex/xamarin-essentials.xml b/docs/en/FrameworksIndex/xamarin-essentials.xml index 49195f6de..f426caca6 100644 --- a/docs/en/FrameworksIndex/xamarin-essentials.xml +++ b/docs/en/FrameworksIndex/xamarin-essentials.xml @@ -1,4 +1,7 @@ + + + @@ -46,7 +49,9 @@ + + @@ -123,11 +128,6 @@ - - - - - @@ -188,6 +188,7 @@ + @@ -390,10 +391,6 @@ - - - - @@ -475,6 +472,11 @@ + + + + + diff --git a/docs/en/Xamarin.Essentials/AppInfo.xml b/docs/en/Xamarin.Essentials/AppInfo.xml index 51e0c89da..a51c02f10 100644 --- a/docs/en/Xamarin.Essentials/AppInfo.xml +++ b/docs/en/Xamarin.Essentials/AppInfo.xml @@ -53,6 +53,24 @@ + + + + + Property + + 1.0.0.0 + Xamarin.Essentials + + + System.String + + + Gets the application package name or identifier. + The package name or identifier. + On android and iOS, this is the application package name. On UWP, this is the application GUID. + + @@ -73,24 +91,6 @@ - - - - - Property - - 1.0.0.0 - Xamarin.Essentials - - - System.String - - - Gets the application package name or identifier. - The package name or identifier. - On android and iOS, this is the application package name. On UWP, this is the application GUID. - - diff --git a/docs/en/Xamarin.Essentials/Battery.xml b/docs/en/Xamarin.Essentials/Battery.xml index 404c1521e..ff0c1579f 100644 --- a/docs/en/Xamarin.Essentials/Battery.xml +++ b/docs/en/Xamarin.Essentials/Battery.xml @@ -62,6 +62,45 @@ + + + + + Property + + Xamarin.Essentials + 1.0.0.0 + + + Xamarin.Essentials.EnergySaverStatus + + + Gets the current energy saver status of the device. + The current status of energy saver mode. + + + + + + + + + + Event + + Xamarin.Essentials + 1.0.0.0 + + + System.EventHandler<Xamarin.Essentials.EnergySaverStatusChangedEventArgs> + + + Event that is triggered when energy saver status changes. + + + + + diff --git a/docs/en/Xamarin.Essentials/EnergySaverStatusChangedEventArgs.xml b/docs/en/Xamarin.Essentials/EnergySaverStatusChangedEventArgs.xml index 08b3e468d..2ac6b4b32 100644 --- a/docs/en/Xamarin.Essentials/EnergySaverStatusChangedEventArgs.xml +++ b/docs/en/Xamarin.Essentials/EnergySaverStatusChangedEventArgs.xml @@ -33,5 +33,24 @@ To be added. + + + + + Method + + Xamarin.Essentials + 1.0.0.0 + + + System.String + + + + To be added. + To be added. + To be added. + + diff --git a/docs/en/Xamarin.Essentials/Power.xml b/docs/en/Xamarin.Essentials/Power.xml deleted file mode 100644 index 1b742eacf..000000000 --- a/docs/en/Xamarin.Essentials/Power.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - Xamarin.Essentials - 1.0.0.0 - - - System.Object - - - - Access to device specific power settings. - - - - - - - - - - Property - - Xamarin.Essentials - 1.0.0.0 - - - Xamarin.Essentials.EnergySaverStatus - - - Gets the current energy saver status of the device. - The current status of energy saver mode. - - - - - - - - - - Event - - Xamarin.Essentials - 1.0.0.0 - - - System.EventHandler<Xamarin.Essentials.EnergySaverStatusChangedEventArgs> - - - Event that is triggered when energy saver status changes. - - - - - - - diff --git a/docs/en/index.xml b/docs/en/index.xml index d379781fd..c7688d010 100644 --- a/docs/en/index.xml +++ b/docs/en/index.xml @@ -50,9 +50,6 @@ System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName="") - - System.Reflection.AssemblyInformationalVersion("1.0.0+8db259fd337f910db5b9158f8ab6b5cdbb783499") - System.Runtime.CompilerServices.InternalsVisibleTo("XamarinEssentialsDeviceTestsShared") @@ -80,6 +77,9 @@ System.Runtime.Versioning.TargetFramework(".NETCore,Version=v5.0", FrameworkDisplayName=".NET for Windows Universal") + + System.Reflection.AssemblyInformationalVersion("1.0.0+0a46328512c7c36632ae7f308e482d47d7466833") + @@ -107,7 +107,6 @@ - @@ -151,7 +150,6 @@ - @@ -160,6 +158,7 @@ + From 5197b3b32c3772f07c1c4c589423b4f8731373cf Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 2 Nov 2018 22:56:20 +0200 Subject: [PATCH 2/2] [Battery] If the charge can be determined, return 1.0 - if the device is on, then it must have some charge - chances are, the issue is that there is no battery at all (on power) - closes #583 --- Xamarin.Essentials/Battery/Battery.android.cs | 2 +- Xamarin.Essentials/Battery/Battery.uwp.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Xamarin.Essentials/Battery/Battery.android.cs b/Xamarin.Essentials/Battery/Battery.android.cs index fd370e91a..66eab560b 100644 --- a/Xamarin.Essentials/Battery/Battery.android.cs +++ b/Xamarin.Essentials/Battery/Battery.android.cs @@ -82,7 +82,7 @@ static double PlatformChargeLevel var scale = battery.GetIntExtra(BatteryManager.ExtraScale, -1); if (scale <= 0) - return -1; + return 1.0; return (double)level / (double)scale; } diff --git a/Xamarin.Essentials/Battery/Battery.uwp.cs b/Xamarin.Essentials/Battery/Battery.uwp.cs index 683dfd2a0..93c5856a5 100644 --- a/Xamarin.Essentials/Battery/Battery.uwp.cs +++ b/Xamarin.Essentials/Battery/Battery.uwp.cs @@ -30,7 +30,7 @@ static double PlatformChargeLevel get { var finalReport = DefaultBattery.GetReport(); - var finalPercent = -1.0; + var finalPercent = 1.0; var remaining = finalReport.RemainingCapacityInMilliwattHours; var full = finalReport.FullChargeCapacityInMilliwattHours;