diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java index b85f756..4f1a56b 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/FriendViewModel.java @@ -1,22 +1,59 @@ package com.example.tampopo_client.viewmodels; +import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import com.example.tampopo_client.resources.FriendsResource; +import com.example.tampopo_client.resources.UsersResource; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; public class FriendViewModel extends ViewModel { private final Retrofit retrofit; + private final UsersResource usersResource; private final FriendsResource friendsResource; + private final MutableLiveData> friendIdsLiveData; public FriendViewModel(){ this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/tampopo-server/") .addConverterFactory(JacksonConverterFactory.create()) .build(); + this.usersResource = retrofit.create(UsersResource.class); this.friendsResource = retrofit.create(FriendsResource.class); + this.friendIdsLiveData = new MutableLiveData<>(); + } + + public MutableLiveData> getFriendIdsLiveData(){ + return this.friendIdsLiveData; + } + + public void loadFriends(String userId, String token){ + Call> call = usersResource.getFriends(userId, token); + + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if(response.isSuccessful()){ + List friendIds = response.body(); + friendIdsLiveData.setValue(friendIds); + System.out.println(response.code()); + }else{ + System.out.println(response.code()); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + System.out.println("NetWorkError" + t); + } + }); } }