mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
83 lines
4.1 KiB
C#
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;
|
|
}
|
|
}
|