diff --git a/.idea/misc.xml b/.idea/misc.xml index 846a4e8..f1f4356 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -16,18 +16,20 @@ + + - + diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java index 6f075f9..f0ed17d 100644 --- a/app/src/main/java/com/example/nemophila/RequestedActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java @@ -1,15 +1,125 @@ 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); + } + } + }); + } + + 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(); + } + } + + 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/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" />