public override async void Initialize()
        {
            this.IsBusy      = true;
            this.BusyMessage = ResourcesHelper.GetLocalizedString("HomeMainInitializingMessage");

            this.DeviceName = DeviceManager.DeviceName;

            var newPercentage = await DeviceManager.GetBatteryPercentageAsync();

            var oldPercentage = this.BatteryPercentage;

            this.BatteryPercentage = newPercentage;
            this.BatteryLevel      = BatteryHelper.Parse(newPercentage);

            App.RemoveWelcomePageFromBackStack();

            this.IsBusy      = false;
            this.BusyMessage = string.Empty;

            this.MessengerInstance.Register <DeviceBatteryMessage>(this, OnDeviceBatteryPercentageChanged);
        }
        private async void UpdateBatteryPercentage(int?newPercentage = null)
        {
            await DispatcherHelper.RunAsync(async() =>
            {
                if (!newPercentage.HasValue)
                {
                    newPercentage = await DeviceManager.GetBatteryPercentageAsync();
                }

                if (newPercentage > 0)
                {
                    TilesHelper.UpdateBatteryTile(newPercentage);
                }
                else
                {
                    TilesHelper.ResetBatteryTile();
                }

                var oldPercentage      = this.BatteryPercentage;
                this.BatteryPercentage = newPercentage.Value;
                this.BatteryLevel      = BatteryHelper.Parse(newPercentage.Value);
            });
        }