diff --git a/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java b/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java index c30407e..cef31d5 100644 --- a/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java +++ b/app/src/main/java/com/example/tampopo_client/resources/ActivitiesResource.java @@ -2,6 +2,7 @@ import com.example.tampopo_client.models.Activity; +import java.util.HashMap; import java.util.List; import retrofit2.Call; @@ -15,7 +16,7 @@ public interface ActivitiesResource { @GET("users/{user_id}/activities") - Call> getActivities(@Path("user_id") String userId, @Query("filter") String filter); + Call> getActivities(@Path("user_id") String userId, @Query("filter") String filter); @POST("users/{user_id}/activities") @FormUrlEncoded diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java index 08364f9..dcf1a07 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/ActivityViewModel.java @@ -12,6 +12,8 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -208,23 +210,23 @@ * @param callback アクティビティが取得された後に呼び出されるコールバック */ private void pullLatestActivity(String userId, ActivitiesResource resource, ActivityFetchCallback callback) { - Call> fetchActivityCall = resource.getActivities(userId, "LATEST"); - fetchActivityCall.enqueue(new Callback>() { + Call> fetchActivityCall = resource.getActivities(userId, "LATEST"); + fetchActivityCall.enqueue(new Callback>() { @Override - public void onResponse(@NonNull Call> call, @NonNull Response> response) { + public void onResponse(@NonNull Call> call, @NonNull Response> response) { if (response.isSuccessful()) { - List activities = response.body(); // アクティビティが存在しない場合は空のリスト + Collection activities = response.body().values(); // アクティビティが存在しない場合は空のリスト if (activities == null || activities.isEmpty()) { return; } - Activity latestActivity = activities.get(0); + Activity latestActivity = activities.iterator().next(); callback.onSuccess(latestActivity); } } @Override - public void onFailure(@NonNull Call> call, @NonNull Throwable t) { + public void onFailure(@NonNull Call> call, @NonNull Throwable t) { Log.e(ActivityViewModel.class.getSimpleName(), "An error has occurred while fetching the latest activity.", t); callback.onFailure(t);