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/res/layout/work_list.xml b/app/src/main/res/layout/work_list.xml new file mode 100644 index 0000000..2d34aa6 --- /dev/null +++ b/app/src/main/res/layout/work_list.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file