From 548d3fcc35c166e5e5c4ac497530b7ae50ebdc08 Mon Sep 17 00:00:00 2001 From: Listiarso Wastuargo Date: Wed, 16 Dec 2015 20:10:15 -0800 Subject: [PATCH] Use `FromState` instead of `CreateWithoutData` + `HandleFetchResult` --- Parse/Internal/Encoding/ParseDecoder.cs | 5 ++--- .../Controller/ParseCurrentInstallationController.cs | 4 ++-- .../User/Controller/ParseCurrentUserController.cs | 4 ++-- Parse/Public/ParseSession.cs | 6 ++---- Parse/Public/ParseUser.cs | 9 +++------ 5 files changed, 11 insertions(+), 17 deletions(-) diff --git a/Parse/Internal/Encoding/ParseDecoder.cs b/Parse/Internal/Encoding/ParseDecoder.cs index 956e2318..cd24184f 100644 --- a/Parse/Internal/Encoding/ParseDecoder.cs +++ b/Parse/Internal/Encoding/ParseDecoder.cs @@ -64,9 +64,8 @@ public object Decode(object data) { } if (typeString == "Object") { - var output = ParseObject.CreateWithoutData(dict["className"] as string, null); - output.HandleFetchResult(ParseObjectCoder.Instance.Decode(dict, this)); - return output; + var state = ParseObjectCoder.Instance.Decode(dict, this); + return ParseObject.FromState(state, dict["className"] as string); } if (typeString == "Relation") { diff --git a/Parse/Internal/Installation/Controller/ParseCurrentInstallationController.cs b/Parse/Internal/Installation/Controller/ParseCurrentInstallationController.cs index b5391969..db6c01f9 100644 --- a/Parse/Internal/Installation/Controller/ParseCurrentInstallationController.cs +++ b/Parse/Internal/Installation/Controller/ParseCurrentInstallationController.cs @@ -70,8 +70,8 @@ public Task GetAsync(CancellationToken cancellationToken) { ParseInstallation installation = null; if (installationDataString != null) { var installationData = ParseClient.DeserializeJsonString(installationDataString); - installation = ParseObject.CreateWithoutData(null); - installation.HandleFetchResult(ParseObjectCoder.Instance.Decode(installationData, ParseDecoder.Instance)); + var state = ParseObjectCoder.Instance.Decode(installationData, ParseDecoder.Instance); + installation = ParseObject.FromState(state, "_Installation"); } else { installation = ParseObject.Create(); installation.SetIfDifferent("installationId" , installationIdController.Get().ToString()); diff --git a/Parse/Internal/User/Controller/ParseCurrentUserController.cs b/Parse/Internal/User/Controller/ParseCurrentUserController.cs index 8839d2db..f070e4a4 100644 --- a/Parse/Internal/User/Controller/ParseCurrentUserController.cs +++ b/Parse/Internal/User/Controller/ParseCurrentUserController.cs @@ -67,8 +67,8 @@ public Task GetAsync(CancellationToken cancellationToken) { ParseUser user = null; if (userDataString != null) { var userData = Json.Parse(userDataString) as IDictionary; - user = ParseObject.CreateWithoutData(null); - user.HandleFetchResult(ParseObjectCoder.Instance.Decode(userData, ParseDecoder.Instance)); + var state = ParseObjectCoder.Instance.Decode(userData, ParseDecoder.Instance); + user = ParseObject.FromState(state, "_User"); } CurrentUser = user; diff --git a/Parse/Public/ParseSession.cs b/Parse/Public/ParseSession.cs index 12a4bd56..7c413c26 100644 --- a/Parse/Public/ParseSession.cs +++ b/Parse/Public/ParseSession.cs @@ -67,8 +67,7 @@ public static Task GetCurrentSessionAsync(CancellationToken cancel } return SessionController.GetSessionAsync(sessionToken, cancellationToken).OnSuccess(t => { - ParseSession session = (ParseSession)ParseObject.CreateWithoutData(null); - session.HandleFetchResult(t.Result); + ParseSession session = ParseObject.FromState(t.Result, "_Session"); return session; }); }).Unwrap(); @@ -87,8 +86,7 @@ internal static Task UpgradeToRevocableSessionAsync(string sessionToken, } return SessionController.UpgradeToRevocableSessionAsync(sessionToken, cancellationToken).OnSuccess(t => { - var session = (ParseSession)ParseObject.CreateWithoutData(null); - session.HandleFetchResult(t.Result); + ParseSession session = ParseObject.FromState(t.Result, "_Session"); return session.SessionToken; }); } diff --git a/Parse/Public/ParseUser.cs b/Parse/Public/ParseUser.cs index babc79a2..3273f2a6 100644 --- a/Parse/Public/ParseUser.cs +++ b/Parse/Public/ParseUser.cs @@ -213,8 +213,7 @@ public static Task LogInAsync(string username, string password, CancellationToken cancellationToken) { return UserController.LogInAsync(username, password, cancellationToken).OnSuccess(t => { - var user = (ParseUser)ParseObject.CreateWithoutData(null); - user.HandleFetchResult(t.Result); + ParseUser user = ParseObject.FromState(t.Result, "_User"); return SaveCurrentUserAsync(user).OnSuccess(_ => user); }).Unwrap(); } @@ -238,8 +237,7 @@ public static Task BecomeAsync(string sessionToken) { /// The user if authorization was successful public static Task BecomeAsync(string sessionToken, CancellationToken cancellationToken) { return UserController.GetUserAsync(sessionToken, cancellationToken).OnSuccess(t => { - var user = (ParseUser)ParseObject.CreateWithoutData(null); - user.HandleFetchResult(t.Result); + ParseUser user = ParseObject.FromState(t.Result, "_User"); return SaveCurrentUserAsync(user).OnSuccess(_ => user); }).Unwrap(); } @@ -592,8 +590,7 @@ internal static Task LogInWithAsync(string authType, ParseUser user = null; return UserController.LogInAsync(authType, data, cancellationToken).OnSuccess(t => { - user = (ParseUser)ParseObject.CreateWithoutData(null); - user.HandleFetchResult(t.Result); + user = ParseObject.FromState(t.Result, "_User"); lock (user.mutex) { if (user.AuthData == null) {