Files
ZuneShell.dll/ZuneShell/ZuneUI/FirstLaunchForPhoneWizard.cs
T

83 lines
4.1 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneUI.FirstLaunchForPhoneWizard
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using Microsoft.Zune.Configuration;
namespace ZuneUI
{
public class FirstLaunchForPhoneWizard : DeviceUpdateWizard
{
private bool _isSoftwareSettingsEnabled = true;
private bool _wasPreviouslyNotPaired;
public FirstLaunchForPhoneWizard()
{
this._wasPreviouslyNotPaired = ZuneShell.DefaultInstance.Management.DeviceManagement.DevicePartnership == DeviceRelationship.None;
ZuneShell.DefaultInstance.Management.DeviceManagement.DevicePartnership = DeviceRelationship.Permanent;
}
protected override void AddPages()
{
this.AddPage(new FirstConnectPhoneIntroPage(this), Shell.LoadString(StringId.IDS_BREADCRUMB_INTRODUCTION));
this.AddPage(new FirstLaunchForPhoneWelcomePage(this), Shell.LoadString(StringId.IDS_BREADCRUMB_SOFTWARE_SETTINGS));
this.AddPage(new FirstLaunchMonitoredFoldersPage(this));
this.AddPage(new FirstLaunchDownloadFoldersPage(this));
this.AddPage(new FirstLaunchFileTypesPage(this));
this.AddPage(new FirstLaunchPrivacyPage(this));
this.AddPage(new FirstConnectDeviceNamePage(this), Shell.LoadString(StringId.IDS_BREADCRUMB_PHONE_NAME));
this.AddPage(new DeviceUpdateCheckingPage(this), Shell.LoadString(StringId.IDS_BREADCRUMB_PHONE_UPDATE));
this.AddPage(new DeviceUpdateEULAPage(this));
this.AddPage(new DeviceUpdateBatteryPowerPage(this));
this.AddPage(new DeviceUpdateGuestWarningPage(this));
this.AddPage(new DeviceUpdateSyncingPage(this));
this.AddPage(new DeviceUpdateDiskSpaceErrorPage(this));
this.AddPage(new DeviceUpdateProgressPage(this));
this.AddPage(new DeviceUpdateSummaryPage(this));
this.AddPage(new DeviceUpdateErrorPage(this));
}
public bool IsSoftwareSettingsEnabled
{
get => this._isSoftwareSettingsEnabled;
set
{
if (this._isSoftwareSettingsEnabled == value)
return;
this._isSoftwareSettingsEnabled = value;
this.FirePropertyChanged(nameof(IsSoftwareSettingsEnabled));
}
}
public override bool CanCommitChanges => this.IsValid && (this.CurrentPage is DeviceUpdateCheckingPage && this.ActiveDevice.UIFirmwareUpdater != null && !this.ActiveDevice.UIFirmwareUpdater.IsUpdateAvailable || (!this.CanAdvancePageIndex || this.CurrentPage is FirstLaunchWelcomePage || this.CurrentPage is FirstConnectDeviceNamePage));
protected override bool OnCommitChanges()
{
bool navigateToLandingPage = this._wasPreviouslyNotPaired && !(this.CurrentPage is FirstConnectDeviceNamePage);
if (!this.IsSoftwareSettingsEnabled)
ClientConfiguration.FUE.AcceptedPrivacyStatement = true;
ZuneShell.DefaultInstance.Management.CommitListSave();
ZuneShell.DefaultInstance.Management.DeviceManagement.SetupComplete(navigateToLandingPage);
if (navigateToLandingPage || this.CurrentPage is DeviceUpdatePage || this.CurrentPage is DeviceUpdateErrorPage)
{
Fue.Instance.MigrateLegacyConfiguration();
Fue.Instance.CompleteFUE();
if (!this.ActiveDevice.AllowChainedUpdates)
{
Shell.MainFrame.Device.Invoke();
}
else
{
this.ActiveDevice.NavigateToDeviceSummaryAfterUpdate = true;
this.ActiveDevice.UIFirmwareUpdater.StartCheckForUpdates(false, true);
}
}
return base.OnCommitChanges();
}
public bool RequiredStepsComplete => this.CurrentPage is DeviceUpdatePage || this.CurrentPage is DeviceUpdateErrorPage;
}
}