From 04d987e7def809eadbc9be29ad99ff8a4fa2c60a Mon Sep 17 00:00:00 2001 From: "kj7.sung" Date: Thu, 3 Nov 2016 16:11:51 +0900 Subject: [PATCH] Fix exception handling for Satellite Change-Id: I97b6c88e25a53b14e7ba99a9eb1d32e5c68f1906 Signed-off-by: kj7.sung --- src/Tizen.Location/Tizen.Location/GpsSatellite.cs | 29 ++++++++++--- src/Tizen.Location/Tizen.Location/Location.cs | 4 +- src/Tizen.Location/Tizen.Location/LocationError.cs | 35 +++++++-------- src/Tizen.Location/Tizen.Location/Locator.cs | 50 +++++++++++----------- src/Tizen.Location/Tizen.Location/LocatorHelper.cs | 2 +- 5 files changed, 68 insertions(+), 52 deletions(-) diff --git a/src/Tizen.Location/Tizen.Location/GpsSatellite.cs b/src/Tizen.Location/Tizen.Location/GpsSatellite.cs index f3bc18d..4c04081 100755 --- a/src/Tizen.Location/Tizen.Location/GpsSatellite.cs +++ b/src/Tizen.Location/Tizen.Location/GpsSatellite.cs @@ -54,7 +54,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error Setting the Callback Interval"); - LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); } } } @@ -75,7 +75,12 @@ namespace Tizen.Location private string GetNmea() { string value = null; - Interop.GpsSatellite.GetNMEAData(_handle, out value); + int ret = Interop.GpsSatellite.GetNMEAData(_handle, out value); + if (((LocationError)ret != LocationError.None)) + { + Log.Error(Globals.LogTag, "Error getting the NMEAData," + (LocationError)ret); + throw LocationErrorFactory.ThrowLocationException(ret); + } return value; } @@ -98,7 +103,12 @@ namespace Tizen.Location uint numActive = 0; uint numInView; int timestamp; - Interop.GpsSatellite.GetSatelliteStatus(_handle, out numActive, out numInView, out timestamp); + int ret = Interop.GpsSatellite.GetSatelliteStatus(_handle, out numActive, out numInView, out timestamp); + if (((LocationError)ret != LocationError.None)) + { + Log.Error(Globals.LogTag, "Error getting the satellite" + (LocationError)ret); + throw LocationErrorFactory.ThrowLocationException(ret); + } return numActive; } @@ -144,7 +154,12 @@ namespace Tizen.Location satelliteList.Add(satellite); return true; }; - Interop.GpsSatellite.GetForEachSatelliteInView(_handle, callback, IntPtr.Zero); + int ret = Interop.GpsSatellite.GetForEachSatelliteInView(_handle, callback, IntPtr.Zero); + if (((LocationError)ret != LocationError.None)) + { + Log.Error(Globals.LogTag, "Error getting the satellite" + (LocationError)ret); + throw LocationErrorFactory.ThrowLocationException(ret); + } return satelliteList; } @@ -164,7 +179,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error constructing GpsSatellite class"); - LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); } } @@ -204,7 +219,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in setting satellite status changed callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -215,7 +230,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Getting Unsetting satellite status changed callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } diff --git a/src/Tizen.Location/Tizen.Location/Location.cs b/src/Tizen.Location/Tizen.Location/Location.cs index eedd8a7..f57f53d 100755 --- a/src/Tizen.Location/Tizen.Location/Location.cs +++ b/src/Tizen.Location/Tizen.Location/Location.cs @@ -183,7 +183,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error getting single distance information ," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } return result; } @@ -201,7 +201,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error getting distance information to the specifed location," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } return result; } diff --git a/src/Tizen.Location/Tizen.Location/LocationError.cs b/src/Tizen.Location/Tizen.Location/LocationError.cs index d2a55b4..8a85748 100755 --- a/src/Tizen.Location/Tizen.Location/LocationError.cs +++ b/src/Tizen.Location/Tizen.Location/LocationError.cs @@ -60,27 +60,28 @@ namespace Tizen.Location { internal static Exception ThrowLocationException(int errCode) { + Log.Error(Globals.LogTag, "Throw Location Exception : " + errCode); LocationError error = (LocationError)errCode; switch (error) { + case LocationError.OutOfMemoryError: + return new InvalidOperationException("Out of memory error"); + case LocationError.InvalidParameter: + return new ArgumentException("Invalid Parameter passed"); case LocationError.AcessibilityNotallowed: - return new InvalidOperationException("Accesibility not allowed"); - case LocationError.SettingOff: - return new InvalidOperationException("Current locationtype setting is off"); + return new UnauthorizedAccessException("Accesibility not allowed"); + case LocationError.NotSupported: + return new NotSupportedException("Not supported"); case LocationError.IncorrectMethod: return new InvalidOperationException("Incorrect method used"); - case LocationError.InvalidParameter: - return new ArgumentException("Invalid Parameter passed"); case LocationError.NetworkFailed: return new InvalidOperationException("Network failed"); - case LocationError.NotSupported: - return new InvalidOperationException("Operation not supported"); - case LocationError.OutOfMemoryError: - return new InvalidOperationException("Out of memory error"); - case LocationError.SecuirtyRestricted: - return new InvalidOperationException("Security Restricted"); case LocationError.ServiceNotAvailable: return new InvalidOperationException("Service not available"); + case LocationError.SettingOff: + return new InvalidOperationException("Current locationtype setting is off"); + case LocationError.SecuirtyRestricted: + return new InvalidOperationException("Security Restricted"); default: return new InvalidOperationException("Unknown Error"); } @@ -91,16 +92,16 @@ namespace Tizen.Location LocationBoundError error = (LocationBoundError)errCode; switch (error) { - case LocationBoundError.IncorrectType: - return new InvalidOperationException("Incorrect type passed"); + case LocationBoundError.OutOfMemoryError: + return new InvalidOperationException("Out of memory exception"); case LocationBoundError.InvalidParameter: return new ArgumentException("Invalid parameter passed"); + case LocationBoundError.NotSupported: + return new NotSupportedException("Not supported"); + case LocationBoundError.IncorrectType: + return new InvalidOperationException("Incorrect type passed"); case LocationBoundError.IsAdded: return new InvalidOperationException("Boundary is not addded"); - case LocationBoundError.NotSupported: - return new InvalidOperationException("Operation Not supported"); - case LocationBoundError.OutOfMemoryError: - return new InvalidOperationException("Out of memory exception"); default: return new InvalidOperationException("Unknown Error"); } diff --git a/src/Tizen.Location/Tizen.Location/Locator.cs b/src/Tizen.Location/Tizen.Location/Locator.cs index 116e54f..d95f6e3 100755 --- a/src/Tizen.Location/Tizen.Location/Locator.cs +++ b/src/Tizen.Location/Tizen.Location/Locator.cs @@ -64,7 +64,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error creating Location Manager," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } _location = new Location(); _locationType = locationType; @@ -103,7 +103,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error setting Callback Interval"); - LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); } } } @@ -133,7 +133,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error Setting the StayInterval"); - LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); } } } @@ -163,7 +163,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error Setting the Distance"); - LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.InvalidParameter); } } } @@ -220,7 +220,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error Set Enable Mock Type," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -236,7 +236,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error Starting Location Manager," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } Locator.s_locatorReference = this; _isStarted = true; @@ -245,7 +245,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error, previous instance of Locator should be stopped before starting a new one," + LocationError.NotSupported); - LocationErrorFactory.ThrowLocationException((int)LocationError.NotSupported); + throw LocationErrorFactory.ThrowLocationException((int)LocationError.NotSupported); } } @@ -260,7 +260,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error stopping Location Manager," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } Locator.s_locatorReference = null; _isStarted = false; @@ -286,7 +286,7 @@ namespace Tizen.Location else { Log.Error(Globals.LogTag, "Error in setting up location mocking," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -300,7 +300,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in clear up location mocking," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -339,7 +339,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in setting up location mocking," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } return task.Task; } @@ -369,7 +369,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in get current location infomation," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } else @@ -379,7 +379,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in get last location information," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -402,7 +402,7 @@ namespace Tizen.Location if ((LocationBoundError)ret != LocationBoundError.None) { Log.Error(Globals.LogTag, "Error Adding Boundary," + (LocationBoundError)ret); - LocationErrorFactory.ThrowLocationBoundaryException(ret); + throw LocationErrorFactory.ThrowLocationBoundaryException(ret); } } @@ -417,7 +417,7 @@ namespace Tizen.Location if ((LocationBoundError)ret != LocationBoundError.None) { Log.Error(Globals.LogTag, "Error Removing Boundary," + (LocationBoundError)ret); - LocationErrorFactory.ThrowLocationBoundaryException(ret); + throw LocationErrorFactory.ThrowLocationBoundaryException(ret); } } @@ -445,7 +445,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Destroy handle" + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -484,7 +484,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Setting Service State Changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -495,7 +495,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in UnSetting Service State Changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -540,7 +540,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Setting Zone Changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -601,7 +601,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Setting Changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -612,7 +612,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Unsetting Setting's Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -658,7 +658,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Setting Distance based location changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -669,7 +669,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in UnSetting Distance based location changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -716,7 +716,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in Setting location changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } @@ -727,7 +727,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error in UnSetting location changed Callback," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } } diff --git a/src/Tizen.Location/Tizen.Location/LocatorHelper.cs b/src/Tizen.Location/Tizen.Location/LocatorHelper.cs index 61e3104..d3e2479 100755 --- a/src/Tizen.Location/Tizen.Location/LocatorHelper.cs +++ b/src/Tizen.Location/Tizen.Location/LocatorHelper.cs @@ -45,7 +45,7 @@ namespace Tizen.Location if (((LocationError)ret != LocationError.None)) { Log.Error(Globals.LogTag, "Error Checking the Location Manager type is Enabled," + (LocationError)ret); - LocationErrorFactory.ThrowLocationException(ret); + throw LocationErrorFactory.ThrowLocationException(ret); } return initStatus; } -- 2.7.4