From a9105242a6e1b76db54314bf2672f99bd255b823 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Wed, 21 Sep 2016 15:30:06 +0200 Subject: [PATCH 1/3] Add Ride.Status --- .../com/uber/sdk/rides/client/model/Ride.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java b/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java index f9decca..68b5873 100644 --- a/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java +++ b/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java @@ -31,8 +31,33 @@ */ public class Ride { + /** + * Represents all possible Ride statuses + */ + public enum Status { + PROCESSING("processing"), + NO_DRIVERS_AVAILABLE("no_drivers_available"), + ACCEPTED("accepted"), + ARRIVING("arriving"), + IN_PROGRESS("in_progress"), + DRIVER_CANCELED("driver_canceled"), + RIDER_CANCELED("rider_canceled"), + COMPLETED("completed"); + + private String value; + + Status(String value) { + this.value = value; + } + + @Override + public String toString() { + return this.value; + } + } + private String request_id; - private String status; + private Status status; private Driver driver; @Nullable private Integer eta; @@ -52,7 +77,7 @@ public String getRideId() { /** * The status of the ride indicating state. */ - public String getStatus() { + public Status getStatus() { return status; } From 001ded19c6c2527ed1189f1cde54129396cdcbed Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Wed, 21 Sep 2016 15:32:57 +0200 Subject: [PATCH 2/3] Fix RidesServiceTest --- .../com/uber/sdk/rides/client/services/RidesServiceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/src/test/java/com/uber/sdk/rides/client/services/RidesServiceTest.java b/sdk/src/test/java/com/uber/sdk/rides/client/services/RidesServiceTest.java index e539a0e..4716604 100644 --- a/sdk/src/test/java/com/uber/sdk/rides/client/services/RidesServiceTest.java +++ b/sdk/src/test/java/com/uber/sdk/rides/client/services/RidesServiceTest.java @@ -135,7 +135,7 @@ public void testRequestRide_withoutProductId() throws Exception { final Ride ride = service.requestRide(createRideRequest()).execute().body(); - assertThat(ride.getStatus()).isEqualTo("processing"); + assertThat(ride.getStatus()).isEqualTo(Ride.Status.PROCESSING); assertThat(ride.getProductId()).isEqualTo(UBER_X_PRODUCT_ID); assertThat(ride.getRideId()).isNotEmpty(); assertThat(ride.isShared()).isFalse(); @@ -149,7 +149,7 @@ public void testRequestRide_withUberPoolProductId() throws Exception { .willReturn(aResponse().withBodyFile("requests_current_UberPool.json"))); final Ride ride = service.requestRide(createUberPoolRideRequest()).execute().body(); - assertThat(ride.getStatus()).isEqualTo("processing"); + assertThat(ride.getStatus()).isEqualTo(Ride.Status.PROCESSING); assertThat(ride.getProductId()).isEqualTo(UBER_POOL_PRODUCT_ID); assertThat(ride.getRideId()).isNotEmpty(); From d5a7ad0176226bab7fc8a16871b4f9fad3731d26 Mon Sep 17 00:00:00 2001 From: Grzegorz Piwowarek Date: Wed, 21 Sep 2016 18:13:31 +0200 Subject: [PATCH 3/3] Add @Json annotations to Ride.Status values --- .../com/uber/sdk/rides/client/model/Ride.java | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java b/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java index 68b5873..33df8dc 100644 --- a/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java +++ b/sdk/src/main/java/com/uber/sdk/rides/client/model/Ride.java @@ -22,6 +22,8 @@ package com.uber.sdk.rides.client.model; +import com.squareup.moshi.Json; + import javax.annotation.Nullable; /** @@ -35,25 +37,20 @@ public class Ride { * Represents all possible Ride statuses */ public enum Status { - PROCESSING("processing"), - NO_DRIVERS_AVAILABLE("no_drivers_available"), - ACCEPTED("accepted"), - ARRIVING("arriving"), - IN_PROGRESS("in_progress"), - DRIVER_CANCELED("driver_canceled"), - RIDER_CANCELED("rider_canceled"), - COMPLETED("completed"); + @Json(name = "processing") PROCESSING("processing"), + @Json(name = "no_drivers_available") NO_DRIVERS_AVAILABLE("no_drivers_available"), + @Json(name = "accepted") ACCEPTED("accepted"), + @Json(name = "arriving") ARRIVING("arriving"), + @Json(name = "in_progress") IN_PROGRESS("in_progress"), + @Json(name = "driver_canceled") DRIVER_CANCELED("driver_canceled"), + @Json(name = "rider_canceled") RIDER_CANCELED("rider_canceled"), + @Json(name = "completed") COMPLETED("completed"); private String value; Status(String value) { this.value = value; } - - @Override - public String toString() { - return this.value; - } } private String request_id;