From d9da49915eb7f65cb9b64a8fdab77c6d10f0e7d9 Mon Sep 17 00:00:00 2001 From: Gustave Monce Date: Sat, 12 Oct 2024 19:44:11 +0200 Subject: [PATCH] Some changes --- WPinternals/CommandLine.cs | 12 +++++++++-- WPinternals/HelperClasses/SeekableStream.cs | 7 ++++++- .../Models/Lumia/MSR/LumiaDownloadModel.cs | 8 ++++++- .../Models/Lumia/NCSd/NokiaCareSuiteModel.cs | 17 ++++++++++----- .../UEFI/BootMgr/LumiaBootManagerAppModel.cs | 7 ++++++- .../Lumia/UEFI/Flash/LumiaFlashAppModel.cs | 7 ++++++- WPinternals/Models/Privileges.cs | 8 ++++++- WPinternals/Models/QualcommDownload.cs | 8 ++++++- WPinternals/Models/QualcommFirehose.cs | 7 ++++++- WPinternals/Models/QualcommSahara.cs | 7 ++++++- WPinternals/TestCode.cs | 7 ++++++- WPinternals/ViewModels/ContextViewModel.cs | 7 ++++++- WPinternals/ViewModels/DownloadsViewModel.cs | 21 ++++++++++++++++--- .../ViewModels/LumiaUnlockBootViewModel.cs | 21 ++++++++++++++++--- .../LumiaUnlockBootloaderViewModel.cs | 7 ++++++- .../ViewModels/LumiaV2UnlockBootViewModel.cs | 8 +++++++ WPinternals/ViewModels/NokiaFlashViewModel.cs | 7 ++++++- .../NokiaModeBootloaderViewModel.cs | 7 ++++++- .../ViewModels/NokiaModeFlashViewModel.cs | 7 ++++++- .../ViewModels/NokiaModePhoneInfoViewModel.cs | 7 ++++++- .../ViewModels/NokiaPhoneInfoViewModel.cs | 7 ++++++- .../ViewModels/PhoneNotifierViewModel.cs | 20 ++++++++++++++---- .../ViewModels/RegistrationViewModel.cs | 7 ++++++- WPinternals/ViewModels/SwitchModeViewModel.cs | 7 ++++++- 24 files changed, 193 insertions(+), 35 deletions(-) diff --git a/WPinternals/CommandLine.cs b/WPinternals/CommandLine.cs index b5ef16b..6e26082 100644 --- a/WPinternals/CommandLine.cs +++ b/WPinternals/CommandLine.cs @@ -156,8 +156,12 @@ namespace WPinternals ? Convert.ToUInt64(args[2][2..], 16) : Convert.ToUInt64(args[2], 10); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); LogFile.Log("Bad start sector", LogType.ConsoleOnly); break; } @@ -1674,8 +1678,12 @@ namespace WPinternals }; Console.SetOut(standardOutput); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); } } diff --git a/WPinternals/HelperClasses/SeekableStream.cs b/WPinternals/HelperClasses/SeekableStream.cs index a405a06..8431e9d 100644 --- a/WPinternals/HelperClasses/SeekableStream.cs +++ b/WPinternals/HelperClasses/SeekableStream.cs @@ -48,8 +48,13 @@ namespace WPinternals.HelperClasses { UnderlyingStreamLength = UnderlyingStream.Length; } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + throw new ArgumentException("Unknown stream length"); } } diff --git a/WPinternals/Models/Lumia/MSR/LumiaDownloadModel.cs b/WPinternals/Models/Lumia/MSR/LumiaDownloadModel.cs index b6d0126..af9be37 100644 --- a/WPinternals/Models/Lumia/MSR/LumiaDownloadModel.cs +++ b/WPinternals/Models/Lumia/MSR/LumiaDownloadModel.cs @@ -18,6 +18,7 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. +using System; using System.Collections.Generic; using System.Net; using System.Xml; @@ -53,8 +54,13 @@ namespace WPinternals.Models.Lumia.MSR { Config = Client.DownloadString($"https://repairavoidance.blob.core.windows.net/packages/EmergencyFlash/{ProductType}/emergency_flash_config.xml"); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Emergency files for " + ProductType + " not found", LogType.FileAndConsole); return null; } diff --git a/WPinternals/Models/Lumia/NCSd/NokiaCareSuiteModel.cs b/WPinternals/Models/Lumia/NCSd/NokiaCareSuiteModel.cs index 264edd5..e8e98db 100644 --- a/WPinternals/Models/Lumia/NCSd/NokiaCareSuiteModel.cs +++ b/WPinternals/Models/Lumia/NCSd/NokiaCareSuiteModel.cs @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; +using WPinternals.HelperClasses; namespace WPinternals.Models.Lumia.NCSd { @@ -73,20 +74,26 @@ namespace WPinternals.Models.Lumia.NCSd Length = Device.InputPipe.Read(Buffer); } - JsonDocument ResultMessage = JsonDocument.Parse(System.Text.Encoding.ASCII.GetString(Buffer, 0, Length)); + string ResultString = System.Text.Encoding.ASCII.GetString(Buffer, 0, Length); + JsonDocument ResultMessage = JsonDocument.Parse(ResultString); try { - JsonElement? ResultToken = ResultMessage.RootElement.GetProperty("result"); - if (ResultToken == null || ResultElement == null) + bool result = ResultMessage.RootElement.TryGetProperty("result", out JsonElement ResultToken); + if (!result || ResultElement == null) { return null; } - return ResultToken.Value.GetProperty(ResultElement); + return ResultToken.GetProperty(ResultElement); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + return null; } } diff --git a/WPinternals/Models/Lumia/UEFI/BootMgr/LumiaBootManagerAppModel.cs b/WPinternals/Models/Lumia/UEFI/BootMgr/LumiaBootManagerAppModel.cs index 786ef24..28ce865 100644 --- a/WPinternals/Models/Lumia/UEFI/BootMgr/LumiaBootManagerAppModel.cs +++ b/WPinternals/Models/Lumia/UEFI/BootMgr/LumiaBootManagerAppModel.cs @@ -348,8 +348,13 @@ namespace WPinternals.Models.UEFIApps.BootMgr ByteOperations.WriteAsciiString(Request, 0, RebootSignature); ExecuteRawVoidMethod(Request); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Sending reset-request failed", LogType.FileOnly); LogFile.Log("Assuming automatic reset already in progress", LogType.FileOnly); } diff --git a/WPinternals/Models/Lumia/UEFI/Flash/LumiaFlashAppModel.cs b/WPinternals/Models/Lumia/UEFI/Flash/LumiaFlashAppModel.cs index 0b5fd33..4bec86e 100644 --- a/WPinternals/Models/Lumia/UEFI/Flash/LumiaFlashAppModel.cs +++ b/WPinternals/Models/Lumia/UEFI/Flash/LumiaFlashAppModel.cs @@ -911,8 +911,13 @@ namespace WPinternals.Models.UEFIApps.Flash ByteOperations.WriteAsciiString(Request, 0, RebootSignature); ExecuteRawVoidMethod(Request); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Sending reset-request failed", LogType.FileOnly); LogFile.Log("Assuming automatic reset already in progress", LogType.FileOnly); } diff --git a/WPinternals/Models/Privileges.cs b/WPinternals/Models/Privileges.cs index 6533d73..7c41653 100644 --- a/WPinternals/Models/Privileges.cs +++ b/WPinternals/Models/Privileges.cs @@ -22,6 +22,7 @@ using System; using System.Collections.Specialized; using System.Runtime.InteropServices; using System.Threading; +using WPinternals.HelperClasses; namespace WPinternals { @@ -488,8 +489,13 @@ namespace WPinternals callback(state); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + p.Revert(); throw; } diff --git a/WPinternals/Models/QualcommDownload.cs b/WPinternals/Models/QualcommDownload.cs index 4984bf6..8d908cf 100644 --- a/WPinternals/Models/QualcommDownload.cs +++ b/WPinternals/Models/QualcommDownload.cs @@ -21,6 +21,7 @@ using System; using System.IO; using System.Linq; +using WPinternals.HelperClasses; namespace WPinternals { @@ -40,8 +41,13 @@ namespace WPinternals Serial.SendCommand([0x06], [0x02]); return true; } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + return false; } } diff --git a/WPinternals/Models/QualcommFirehose.cs b/WPinternals/Models/QualcommFirehose.cs index 195aae2..8f90e85 100644 --- a/WPinternals/Models/QualcommFirehose.cs +++ b/WPinternals/Models/QualcommFirehose.cs @@ -67,8 +67,13 @@ namespace WPinternals Serial.SendData(PacketFromPcToProgrammer); LogFile.Log("Hello packet accepted", LogType.FileOnly); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Hello packet not accepted", LogType.FileOnly); } diff --git a/WPinternals/Models/QualcommSahara.cs b/WPinternals/Models/QualcommSahara.cs index fd3e0e3..7a7d9b3 100644 --- a/WPinternals/Models/QualcommSahara.cs +++ b/WPinternals/Models/QualcommSahara.cs @@ -285,8 +285,13 @@ namespace WPinternals byte[] Ready = Serial.SendCommand(HelloResponse, [0x03, 0x00, 0x00, 0x00]); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + Result = false; } diff --git a/WPinternals/TestCode.cs b/WPinternals/TestCode.cs index 3f87e91..7a0b5d1 100644 --- a/WPinternals/TestCode.cs +++ b/WPinternals/TestCode.cs @@ -195,8 +195,13 @@ namespace WPinternals MassStorage.RestorePartition(part, partname, (v, t) => LogFile.Log("Progress: " + v + "%", LogType.ConsoleOnly)); LogFile.Log("", LogType.ConsoleOnly); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("", LogType.ConsoleOnly); LogFile.Log($"Failed writing {partname} to the device.", LogType.ConsoleOnly); } diff --git a/WPinternals/ViewModels/ContextViewModel.cs b/WPinternals/ViewModels/ContextViewModel.cs index f652ee8..28b8888 100644 --- a/WPinternals/ViewModels/ContextViewModel.cs +++ b/WPinternals/ViewModels/ContextViewModel.cs @@ -29,7 +29,12 @@ namespace WPinternals { protected SynchronizationContext UIContext; - public bool IsSwitchingInterface = false; + private bool _IsSwitchingInterface = false; + public bool IsSwitchingInterface + { + get => _IsSwitchingInterface; + set => _IsSwitchingInterface = value; + } public bool IsFlashModeOperation = false; public event PropertyChangedEventHandler PropertyChanged = delegate { }; diff --git a/WPinternals/ViewModels/DownloadsViewModel.cs b/WPinternals/ViewModels/DownloadsViewModel.cs index 33f60d1..b1372a8 100644 --- a/WPinternals/ViewModels/DownloadsViewModel.cs +++ b/WPinternals/ViewModels/DownloadsViewModel.cs @@ -82,8 +82,13 @@ namespace WPinternals { LastFFUStatusText = $"Error: {Ex.Message}. File \"{FFUFile}\" was not added."; } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LastFFUStatusText = $"Error: File \"{FFUFile}\" was not added."; } } @@ -120,8 +125,13 @@ namespace WPinternals { LastSecWIMStatusText = $"Error: {Ex.Message}. File \"{SecWIMFile}\" was not added."; } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LastSecWIMStatusText = $"Error: File \"{SecWIMFile}\" was not added."; } } @@ -1093,8 +1103,13 @@ namespace WPinternals completed?.Invoke(true); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + completed?.Invoke(false); } } diff --git a/WPinternals/ViewModels/LumiaUnlockBootViewModel.cs b/WPinternals/ViewModels/LumiaUnlockBootViewModel.cs index 06a52fe..5188103 100644 --- a/WPinternals/ViewModels/LumiaUnlockBootViewModel.cs +++ b/WPinternals/ViewModels/LumiaUnlockBootViewModel.cs @@ -850,8 +850,13 @@ namespace WPinternals FFU FFU = new(_FFUPath); IsSupportedFfuNeeded = !App.PatchEngine.PatchDefinitions.First(p => p.Name == "SecureBootHack-V1.1-EFIESP").TargetVersions.Any(v => v.Description == FFU.GetOSVersion()); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + IsSupportedFfuNeeded = false; return; } @@ -918,8 +923,13 @@ namespace WPinternals FFU ProfileFFU = new(_ProfileFFUPath); IsSupportedFfuNeeded = !App.PatchEngine.PatchDefinitions.First(p => p.Name == "SecureBootHack-V2-EFIESP").TargetVersions.Any(v => v.Description == ProfileFFU.GetOSVersion()); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + IsSupportedFfuNeeded = false; return; } @@ -1023,8 +1033,13 @@ namespace WPinternals ValidatedSupportedFfuPath = SupportedFFUPath; } } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + IsSupportedFfuValid = false; } } diff --git a/WPinternals/ViewModels/LumiaUnlockBootloaderViewModel.cs b/WPinternals/ViewModels/LumiaUnlockBootloaderViewModel.cs index fa0f7f2..25dedcf 100644 --- a/WPinternals/ViewModels/LumiaUnlockBootloaderViewModel.cs +++ b/WPinternals/ViewModels/LumiaUnlockBootloaderViewModel.cs @@ -1742,8 +1742,13 @@ namespace WPinternals await Notifier.WaitForArrival(); } } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + // If switching to mass storage mode failed, then we just skip that part. This might be a half unlocked phone. LogFile.Log("Skipping Mass Storage mode", LogType.FileAndConsole); } diff --git a/WPinternals/ViewModels/LumiaV2UnlockBootViewModel.cs b/WPinternals/ViewModels/LumiaV2UnlockBootViewModel.cs index 5d7222e..e0903ef 100644 --- a/WPinternals/ViewModels/LumiaV2UnlockBootViewModel.cs +++ b/WPinternals/ViewModels/LumiaV2UnlockBootViewModel.cs @@ -787,6 +787,8 @@ namespace WPinternals { LogFile.Log("An unexpected error happened", LogType.FileAndConsole); LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); FailedToStartProgrammer = true; } } @@ -810,6 +812,8 @@ namespace WPinternals { LogFile.Log("An unexpected error happened", LogType.FileAndConsole); LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); FailedToStartProgrammer = true; } } @@ -1507,6 +1511,8 @@ namespace WPinternals { LogFile.Log("An unexpected error happened", LogType.FileAndConsole); LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); FailedToStartProgrammer = true; } } @@ -1787,6 +1793,8 @@ namespace WPinternals { LogFile.Log("An unexpected error happened", LogType.FileAndConsole); LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); FailedToStartProgrammer = true; } } diff --git a/WPinternals/ViewModels/NokiaFlashViewModel.cs b/WPinternals/ViewModels/NokiaFlashViewModel.cs index 821d3af..e5f417d 100644 --- a/WPinternals/ViewModels/NokiaFlashViewModel.cs +++ b/WPinternals/ViewModels/NokiaFlashViewModel.cs @@ -286,8 +286,13 @@ namespace WPinternals LogFile.Log("Native Debug Status: " + NativeDebugStatus.ToString()); } } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Reading status from Flash interface was aborted."); } DeviceInfoLoaded = true; diff --git a/WPinternals/ViewModels/NokiaModeBootloaderViewModel.cs b/WPinternals/ViewModels/NokiaModeBootloaderViewModel.cs index 611463a..6287eb9 100644 --- a/WPinternals/ViewModels/NokiaModeBootloaderViewModel.cs +++ b/WPinternals/ViewModels/NokiaModeBootloaderViewModel.cs @@ -76,8 +76,13 @@ namespace WPinternals LogFile.Log("Effective Bootloader Security Status: " + EffectiveBootloaderSecurityStatus.ToString()); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Reading status from Flash interface was aborted."); } DeviceInfoLoaded = true; diff --git a/WPinternals/ViewModels/NokiaModeFlashViewModel.cs b/WPinternals/ViewModels/NokiaModeFlashViewModel.cs index fd1c2ed..3d03338 100644 --- a/WPinternals/ViewModels/NokiaModeFlashViewModel.cs +++ b/WPinternals/ViewModels/NokiaModeFlashViewModel.cs @@ -88,8 +88,13 @@ namespace WPinternals LogFile.Log("Effective Bootloader Security Status: " + EffectiveBootloaderSecurityStatus.ToString()); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Reading status from Flash interface was aborted."); } DeviceInfoLoaded = true; diff --git a/WPinternals/ViewModels/NokiaModePhoneInfoViewModel.cs b/WPinternals/ViewModels/NokiaModePhoneInfoViewModel.cs index 9d98c0e..dd901c6 100644 --- a/WPinternals/ViewModels/NokiaModePhoneInfoViewModel.cs +++ b/WPinternals/ViewModels/NokiaModePhoneInfoViewModel.cs @@ -76,8 +76,13 @@ namespace WPinternals LogFile.Log("Effective Bootloader Security Status: " + EffectivePhoneInfoSecurityStatus.ToString()); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Reading status from Flash interface was aborted."); } DeviceInfoLoaded = true; diff --git a/WPinternals/ViewModels/NokiaPhoneInfoViewModel.cs b/WPinternals/ViewModels/NokiaPhoneInfoViewModel.cs index e906004..5a52d04 100644 --- a/WPinternals/ViewModels/NokiaPhoneInfoViewModel.cs +++ b/WPinternals/ViewModels/NokiaPhoneInfoViewModel.cs @@ -108,8 +108,13 @@ namespace WPinternals IMEI = Info.Imei; LogFile.Log("IMEI: " + ProductType); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Reading status from Flash interface was aborted."); } DeviceInfoLoaded = true; diff --git a/WPinternals/ViewModels/PhoneNotifierViewModel.cs b/WPinternals/ViewModels/PhoneNotifierViewModel.cs index 56001a7..9deb8f3 100644 --- a/WPinternals/ViewModels/PhoneNotifierViewModel.cs +++ b/WPinternals/ViewModels/PhoneNotifierViewModel.cs @@ -21,6 +21,7 @@ using MadWizard.WinUSBNet; using System; using System.Diagnostics.Eventing.Reader; +using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using WPinternals.HelperClasses; @@ -152,8 +153,10 @@ namespace WPinternals LogWatcher.Dispose(); } - internal async Task WaitForNextNodeChange() + internal async Task WaitForNextNodeChange([CallerMemberName] string callerName = "") { + LogFile.Log("WaitForNextNodeChange Originating caller: " + callerName, LogType.FileOnly); + // Node change events are on all USBnotifiers, so we just pick one await LumiaEmergencyNotifier.WaitForNextNodeChange(); } @@ -250,8 +253,13 @@ namespace WPinternals tmpModel.Dispose(); LogFile.Log("Flash App Type: " + type.ToString(), LogType.FileOnly); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + LogFile.Log("Flash App Type could not be determined, assuming " + type.ToString(), LogType.FileOnly); } @@ -543,10 +551,12 @@ namespace WPinternals } } - internal async Task WaitForArrival() + internal async Task WaitForArrival([CallerMemberName] string callerName = "") { IDisposable Result = null; + LogFile.Log("WaitForArrival Originating caller: " + callerName, LogType.FileOnly); + if (CurrentInterface == null) { LogFile.Log("Waiting for phone to connect...", LogType.FileOnly); @@ -568,8 +578,10 @@ namespace WPinternals return Result; } - internal async Task WaitForRemoval() + internal async Task WaitForRemoval([CallerMemberName] string callerName = "") { + LogFile.Log("WaitForRemoval Originating caller: " + callerName, LogType.FileOnly); + LogFile.Log("Waiting for phone to disconnect...", LogType.FileOnly); await Task.Run(() => diff --git a/WPinternals/ViewModels/RegistrationViewModel.cs b/WPinternals/ViewModels/RegistrationViewModel.cs index cf765c4..9526671 100644 --- a/WPinternals/ViewModels/RegistrationViewModel.cs +++ b/WPinternals/ViewModels/RegistrationViewModel.cs @@ -68,8 +68,13 @@ namespace WPinternals Completed(); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + Failed(); } }); diff --git a/WPinternals/ViewModels/SwitchModeViewModel.cs b/WPinternals/ViewModels/SwitchModeViewModel.cs index c3d91f6..1fca35f 100644 --- a/WPinternals/ViewModels/SwitchModeViewModel.cs +++ b/WPinternals/ViewModels/SwitchModeViewModel.cs @@ -528,8 +528,13 @@ namespace WPinternals await SwitchToWithStatus(PhoneNotifier, TargetMode, SetWorkingStatus, UpdateWorkingStatus); ModeSwitchSuccessWrapper(); } - catch + catch (Exception ex) { + LogFile.Log("An unexpected error happened", LogType.FileAndConsole); + LogFile.Log(ex.GetType().ToString(), LogType.FileAndConsole); + LogFile.Log(ex.Message, LogType.FileAndConsole); + LogFile.Log(ex.StackTrace, LogType.FileAndConsole); + switch (TargetMode) { case PhoneInterfaces.Lumia_Flash: