diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java index 1ef9fef..6720486 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditViewModel.java @@ -3,6 +3,9 @@ import org.ntlab.acanthus_client.entities.AidJson; import org.ntlab.acanthus_client.entities.WorkJson; import org.ntlab.acanthus_client.resources.accounts.WorkRest; +import org.ntlab.acanthus_client.resources.gallery.InvitesRest; + +import java.util.concurrent.Callable; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; @@ -47,8 +50,8 @@ call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - if (response.isSuccessful()){ - if (response.body()!=null){ + if (response.isSuccessful()) { + if (response.body() != null) { aid[0] = response.body().getAid(); aidJsonMutableLiveData.setValue(response.body()); } @@ -65,7 +68,7 @@ } //ユーザーの作成した作品の表示APIの呼び出し - public void getWorkList(Integer uid, String token){ + public void getWorkList(Integer uid, String token) { Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") .addConverterFactory(JacksonConverterFactory.create()) @@ -77,8 +80,8 @@ call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - if (response.isSuccessful()){ - if (response.body()!=null){ + if (response.isSuccessful()) { + if (response.body() != null) { workJsonMutableLiveData.setValue(response.body()); } } @@ -91,4 +94,28 @@ }); } + //ユーザーの作品へ他ユーザーを招待するAPIの呼び出し + public void invitesEditor(Integer aid, String ownerUid, String invitedUid, String ownerToken) { + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final InvitesRest invitesRest = retrofit.create(InvitesRest.class); + + //作品への招待 + Call call = invitesRest.addInvite(aid, ownerUid, invitedUid, ownerToken); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful() && response.body() != null) { + } + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java new file mode 100644 index 0000000..5dd6392 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/WorkListViewAdapter.java @@ -0,0 +1,73 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.edit; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; +import android.content.Context; + +import org.ntlab.acanthus_client.R; + +public class WorkListViewAdapter extends BaseAdapter { + + private final LayoutInflater inflater; + private final int layoutId; + private final String[] animationName; + private final String[] lastUpdate; + + //参照保存データ + static class ViewHolder{ + TextView textViewName; + TextView textViewDate; + } + + //コンテキスト + public WorkListViewAdapter(Context context, int layoutId, String[] animationName, String[] lastUpdate) { + super(); + this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.layoutId = layoutId; + this.animationName = animationName; + this.lastUpdate = lastUpdate; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder viewHolder; + //Viewのinflate(拡張) + if (convertView == null){ + //fragment_edit.xmlにlistView用のレイアウトを入れ込む + convertView = inflater.inflate(layoutId, parent, false); + //ViewHolderの生成とレイアウト内テキストのセット + viewHolder = new ViewHolder(); + viewHolder.textViewName = convertView.findViewById(R.id.textViewName); + viewHolder.textViewDate = convertView.findViewById(R.id.textViewDate); + convertView.setTag(viewHolder); + }else { + //既に初期セットの処理がされている場合、再利用する + viewHolder = (ViewHolder) convertView.getTag(); + } + + //ViewHolder内のtextViewName,Dateに各ポジションのデータをセット + viewHolder.textViewName.setText(animationName[position]); + viewHolder.textViewDate.setText(lastUpdate[position]); + + return convertView; + } + + @Override + public int getCount() { + return 0; + } + + @Override + public Object getItem(int position) { + return null; + } + + @Override + public long getItemId(int position) { + return 0; + } + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java index d10fa07..f4133e2 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeFragment.java @@ -36,10 +36,10 @@ binding = FragmentHomeBinding.inflate(inflater, container, false); View root = binding.getRoot(); - ListView listView = binding.option; + TextView listView = binding.textHome; Collection animationJsons = null; - BaseAdapter adapter = new ListAnimationViewAdapter(this.getActivity().getApplicationContext(), R.layout.animation_home, animationJsons); - listView.setAdapter(adapter); + // BaseAdapter adapter = new ListAnimationViewAdapter(this.getActivity().getApplicationContext(), R.layout.animation_home, animationJsons); + //listView.setAdapter(adapter); final TextView textView = binding.textHome; homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { diff --git a/app/src/main/res/layout/fragment_edit.xml b/app/src/main/res/layout/fragment_edit.xml index 7b89dbf..7d9ff0b 100644 --- a/app/src/main/res/layout/fragment_edit.xml +++ b/app/src/main/res/layout/fragment_edit.xml @@ -18,8 +18,10 @@ android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.469" />