diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java index 6f075f9..7ef5534 100644 --- a/app/src/main/java/com/example/nemophila/RequestedActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java @@ -1,15 +1,126 @@ package com.example.nemophila; +import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.content.Intent; import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import com.example.nemophila.entities.Account; +import com.example.nemophila.entities.AccountNameJson; +import com.example.nemophila.viewmodels.FriendViewModel; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; public class RequestedActivity extends AppCompatActivity { - private RequestedAdapter adapter = null; + + FriendViewModel friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class); + Nemophila nemophila = (Nemophila) this.getApplication(); + List requestedDataSet = new ArrayList<>(); + LinearLayoutManager llm = new LinearLayoutManager(this); + String uid = nemophila.getUid(); + String token = nemophila.getToken(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_requested); + + Button returnButton = (Button)findViewById(R.id.CancelButton); + returnButton.setOnClickListener(new View.OnClickListener(){ + public void onClick(View v){ + Intent intent = new Intent(getApplication(), MyPageActivity.class); + startActivity(intent); + } + }); + + RecyclerView rv = findViewById(R.id.requestedList); + RequestedAdapter adapter = new RequestedAdapter(requestedDataSet); + + rv.setHasFixedSize(true); + rv.setLayoutManager(llm); + rv.setAdapter(adapter); + + friendViewModel.getRequested(uid); + friendViewModel.getRequestedLiveData().observe(this, new Observer>() { + @Override + public void onChanged(Collection accountNameJsons) { + requestedDataSet.clear(); + for (AccountNameJson acj: accountNameJsons) { + RequestedUserModel data = new RequestedUserModel(); + data.setId(acj.getUid()); + data.setName(acj.getName()); + requestedDataSet.add(data); + } + } + }); + } + + //Adapter + public class RequestedAdapter extends RecyclerView.Adapter { + private List list; + public RequestedAdapter(List list) { + this.list = list; + } + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public RequestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requested_activity, parent,false); + RequestedViewHolder vh = new RequestedViewHolder(inflate); + return vh; + } + + @Override + public void onBindViewHolder(@NonNull RequestedViewHolder holder, int position) { + holder.nameView.setText(list.get(position).getName()); + } + + @Override + public int getItemCount() { + return list.size(); + } + } + + //ViewHolder + public class RequestedViewHolder extends RecyclerView.ViewHolder { + public TextView nameView; + + public RequestedViewHolder(@NonNull View view) { + super(view); + nameView = (TextView) view.findViewById(R.id.textView3); + } + } + + // DataModel + public static class RequestedUserModel { + private String name; + private String id; + + public String getName() { + return name; + } + public String getId() { + return id; + } + + public void setName(String name) { + this.name = name; + } + public void setId(String id) { this.id = id;} } } \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/RequestedAdapter.java b/app/src/main/java/com/example/nemophila/RequestedAdapter.java deleted file mode 100644 index be91550..0000000 --- a/app/src/main/java/com/example/nemophila/RequestedAdapter.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.example.nemophila; - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -import com.example.nemophila.entities.Account; -import com.example.nemophila.viewmodels.AccountViewModel; - -import java.util.List; - -public class RequestedAdapter extends RecyclerView.Adapter { - private List list; - public RequestedAdapter(List list) { - this.list = list; - } - public void setList(List list) { - this.list = list; - } - - @NonNull - @Override - public RequestedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_requested_activity, parent,false); - RequestedViewHolder vh = new RequestedViewHolder(inflate); - return vh; - } - - @Override - public void onBindViewHolder(@NonNull RequestedViewHolder holder, int position) { - holder.nameView.setText(list.get(position).getName()); - } - - @Override - public int getItemCount() { - return list.size(); - } -} diff --git a/app/src/main/java/com/example/nemophila/RequestedViewHolder.java b/app/src/main/java/com/example/nemophila/RequestedViewHolder.java deleted file mode 100644 index e4ed3cc..0000000 --- a/app/src/main/java/com/example/nemophila/RequestedViewHolder.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.nemophila; - -import android.view.View; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.recyclerview.widget.RecyclerView; - -public class RequestedViewHolder extends RecyclerView.ViewHolder { - public TextView nameView; - - public RequestedViewHolder(@NonNull View view) { - super(view); - nameView = (TextView) view.findViewById(R.id.textView3); - } -} diff --git a/app/src/main/java/com/example/nemophila/TestActivity.java b/app/src/main/java/com/example/nemophila/TestActivity.java index 0fe08d0..6a9c2e7 100644 --- a/app/src/main/java/com/example/nemophila/TestActivity.java +++ b/app/src/main/java/com/example/nemophila/TestActivity.java @@ -12,11 +12,12 @@ import android.widget.Spinner; import com.example.nemophila.viewmodels.AccountViewModel; +import com.example.nemophila.viewmodels.FriendViewModel; import com.example.nemophila.viewmodels.PostsViewModel; import com.example.nemophila.viewmodels.ShopsViewModel; public class TestActivity extends AppCompatActivity { - int position; //テスト用 + int position; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,10 +31,11 @@ ShopsViewModel shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class); AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class); PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class); + FriendViewModel friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class); //テスト用のspinner Spinner spinner = findViewById(R.id.testspinner); - String[] spinnerItems = {"ShopsViewModel", "AccountViewModel", "PostsViewModel"}; //ここに名前を追加 + String[] spinnerItems = {"ShopsViewModel", "AccountViewModel", "PostsViewModel", "FriendsViewModel"}; //ここに名前を追加 ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, spinnerItems); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); @@ -65,10 +67,11 @@ case 2: postsViewModel.createPost("1114", "dbfd3740-8dcc-4b9c-b3b0-42c908da1c65", "151347fa-2c90-44d7-ba48-f23f475b910d", 1, "和食", "辛いね", "", "", ""); -// postsViewModel.loadShopPost("151347fa-2c90-44d7-ba48-f23f475b910d"); break; + case 3: + friendViewModel.putRequesting("1111", "1112", "a95d68cc-4efb-49e2-8f55-799f768a5c09"); } } }); } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java index 52b4fbf..d590f56 100644 --- a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java +++ b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java @@ -40,7 +40,7 @@ ); @FormUrlEncoded - @PUT("accounts/{uid}/reqesting/{requesting_id}") + @PUT("accounts/{uid}/requesting/{requesting_id}") Call putRequesting( @Path("uid") String uid, @Path("requesting_id") String requesting_id, @@ -48,20 +48,20 @@ ); @FormUrlEncoded - @DELETE("accounts/{uid}/reqesting/{requesting_id}") + @DELETE("accounts/{uid}/requesting/{requesting_id}") Call deleteRequesting( @Path("uid") String uid, @Path("requesting_id") String requesting_id, @Field("token") String token ); - @GET("accounts/{uid}/reqested") + @GET("accounts/{uid}/requested") Call> getRequested( @Path("uid") String uid ); @FormUrlEncoded - @DELETE("accounts/{uid}/reqested/{reqested_id}") + @DELETE("accounts/{uid}/requested/{requested_id}") Call deleteRequested( @Path("uid") String uid, @Path("requested_id") String requested_id, diff --git a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java index 2be6f58..4749334 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java @@ -132,7 +132,7 @@ if (response.isSuccessful()) { System.out.println("Successful"); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError" + response.code()); } } @Override diff --git a/app/src/main/res/layout/activity_requested.xml b/app/src/main/res/layout/activity_requested.xml index 32ff931..67eceed 100644 --- a/app/src/main/res/layout/activity_requested.xml +++ b/app/src/main/res/layout/activity_requested.xml @@ -34,6 +34,7 @@ app:layout_constraintVertical_bias="0.049" />