diff --git a/.idea/misc.xml b/.idea/misc.xml
index 658b7fd..8de8a6e 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,65 +3,30 @@
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
index dd5cb03..220bc75 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/EditorJson.java
@@ -1,11 +1,12 @@
package org.ntlab.acanthus_client.entities;
import java.util.ArrayList;
+import java.util.Collection;
//-----------------------------------------------------------------
// 作品編集者の一覧
public class EditorJson {
- private ArrayList uidList = new ArrayList<>();
+ private ArrayList uid = new ArrayList<>();
//-----------------------------------------------------------------
public EditorJson() {
@@ -13,13 +14,13 @@
//-----------------------------------------------------------------
// getter
- public ArrayList getUidList() {
- return uidList;
+ public Collection getUid() {
+ return uid;
}
//-----------------------------------------------------------------
// setter
- public void addUid(Integer uid) {
- this.uidList.add(uid);
+ public void setAid(ArrayList uid) {
+ this.uid = uid;
}
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java
index 6e8db8f..7f15a92 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/InvitesJson.java
@@ -1,17 +1,18 @@
package org.ntlab.acanthus_client.entities;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import java.util.ArrayList;
import java.util.Collection;
public class InvitesJson {
- private Collection invites;
+ @JsonProperty("invites")
+ private ArrayList invites = new ArrayList<>();
- public InvitesJson(Collection accounts) {
- for(Account inviter : accounts){
- this.invites.add(inviter.getUid());
- }
+ public InvitesJson() {
}
- public Collection getInvitesJson() {
+ public ArrayList getInvites() {
return invites;
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
index 8aa03ae..ee28858 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/InvitesRest.java
@@ -30,7 +30,7 @@
@FormUrlEncoded
@PUT("gallery/{aid}/invites")
- Call addInvite(
+ Call addInvite(
@Path("aid") Integer aid,
@Field("ownerUid") String ownerUid,
@Field("invitedUid") String invitedUid,
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
index c01a1c9..6e9bee7 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java
@@ -16,7 +16,7 @@
import org.ntlab.acanthus_client.entities.Account;
import org.ntlab.acanthus_client.entities.AccountJson;
import org.ntlab.acanthus_client.entities.EditorJson;
-import org.ntlab.acanthus_client.entities.FollowerUidJson;
+import org.ntlab.acanthus_client.entities.FollowerJson;
import org.ntlab.acanthus_client.entities.InvitesJson;
import org.ntlab.acanthus_client.entities.WorkJson;
import org.ntlab.acanthus_client.views.main_menu_ui.edit.EditViewModel;
@@ -31,14 +31,12 @@
private Integer invitedUid;
private String ownerToken;
private Acanthus acanthus;
- private Collection followersUidList = new ArrayList<>();
+ private ArrayList followersUidList = new ArrayList<>();
+ private ArrayList followersNameList = new ArrayList<>();
private ArrayList collectionAccountUid = new ArrayList<>();
- private Collection collectionAccountName = new ArrayList<>();
private EditorJson editorJson;
private InvitesJson invitedUidList;
- private static final String[] scenes = {
- "UserName",
- };
+ private Integer followersNameIndex;
//-----------------------------------------------------------------
@Override
@@ -57,10 +55,11 @@
//フォロワー情報を取得する
inviteViewModel.startFollowersUidJson(uid, aid, ownerToken);
- inviteViewModel.getFollowerUidJson().observe(this, new Observer() {
+ inviteViewModel.getFollowerUidJson().observe(this, new Observer() {
@Override
- public void onChanged(FollowerUidJson followerUidJson) {
- followersUidList = (ArrayList) inviteViewModel.getFollowerUidJson().getValue().getFollowersUid();
+ public void onChanged(FollowerJson followerUidJson) {
+ followersUidList = inviteViewModel.getFollowerUidJson().getValue().getFollowerUids();
+ followersNameList = inviteViewModel.getFollowerUidJson().getValue().getFollowerNames();
inviteViewModel.startGalleryInvites(aid, ownerToken);
}
});
@@ -80,57 +79,42 @@
public void onChanged(EditorJson collectionAccount) {
editorJson = inviteViewModel.getEditorJson().getValue();
- inviteViewModel.startAccountJson();
- }
- });
-
- //すべてのユーザIDと名前を取得
- inviteViewModel.getCollectionAccountJson().observe(this, new Observer>() {
- @Override
- public void onChanged(Collection collectionAccountJson) {
- collectionAccountJson = (Collection) inviteViewModel.getCollectionAccountJson().getValue();
- if(collectionAccountJson != null){
- if(editorJson != null){
- for(Integer editorUid : editorJson.getUidList()){
- followersUidList.remove(editorUid);
- }
+ if(editorJson != null){
+ for(Integer editorUid : editorJson.getUid()){
+ followersNameIndex = followersUidList.indexOf(editorUid);
+ followersUidList.remove(editorUid);
+ followersNameList.remove(followersNameIndex);
}
-
- if(invitedUidList != null){
- for(Integer invitedUid : invitedUidList.getInvitesJson()){
- followersUidList.remove(invitedUid);
- }
- }
-
-
- for(AccountJson accountJson : collectionAccountJson){
- if(followersUidList.contains(accountJson.getUid())) {
- collectionAccountUid.add(accountJson.getUid());
- collectionAccountName.add(accountJson.getName());
- }
- }
- // BaseAdapter を継承したadapterのインスタンスを生成
- // レイアウトファイル list.xml を activity_main.xml に
- // inflate するためにadapterに引数として渡す
- BaseAdapter adapter = new ListViewAdapter(getApplication(), R.layout.list, (ArrayList) collectionAccountName);
-
- // ListViewにadapterをセット
- listView.setAdapter(adapter);
-
- listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView> adapterView, View view, int position, long id) {
- invitedUid = collectionAccountUid.get(position);
- inviteViewModel.addInvite(aid, uid.toString(), invitedUid.toString(), ownerToken);
- }
- });
}
+
+ if(invitedUidList != null){
+ for(Integer invitedUid : invitedUidList.getInvites()){
+ followersNameList.remove(followersUidList.indexOf(invitedUid));
+ followersUidList.remove(invitedUid);
+ }
+ }
+
+ // BaseAdapter を継承したadapterのインスタンスを生成
+ // レイアウトファイル list.xml を activity_main.xml に
+ // inflate するためにadapterに引数として渡す
+ BaseAdapter adapter = new ListViewAdapter(getApplication(), R.layout.invites_list, followersNameList);
+
+ // ListViewにadapterをセット
+ listView.setAdapter(adapter);
+
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView> adapterView, View view, int position, long id) {
+ invitedUid = followersUidList.get(position);
+ inviteViewModel.addInvite(aid, uid.toString(), invitedUid.toString(), ownerToken);
+ }
+ });
}
});
- inviteViewModel.getMessage().observe(this, new Observer() {
+ inviteViewModel.getMessage().observe(this, new Observer() {
@Override
- public void onChanged(String message) {
+ public void onChanged(Boolean message) {
finish();
}
});
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
index 25b0742..5fda98b 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteViewModel.java
@@ -13,7 +13,7 @@
import org.ntlab.acanthus_client.entities.Animation;
import org.ntlab.acanthus_client.entities.AnimationJson;
import org.ntlab.acanthus_client.entities.EditorJson;
-import org.ntlab.acanthus_client.entities.FollowerUidJson;
+import org.ntlab.acanthus_client.entities.FollowerJson;
import org.ntlab.acanthus_client.entities.InvitesJson;
import org.ntlab.acanthus_client.resources.accounts.AccountsRest;
import org.ntlab.acanthus_client.resources.accounts.FollowersRest;
@@ -34,10 +34,10 @@
public class InviteViewModel extends ViewModel {
- private MutableLiveData followersUidJsonMutableLiveData;
+ private MutableLiveData followersUidJsonMutableLiveData;
private MutableLiveData> collectionAccountJsonMutableLiveData;
private MutableLiveData collectionInvitesJsonMutableLiveData;
- private MutableLiveData messageMutableLiveData;
+ private MutableLiveData messageMutableLiveData;
private MutableLiveData editorJsonMutableLiveData;
@@ -49,7 +49,7 @@
this.editorJsonMutableLiveData = new MutableLiveData<>();
}
- public LiveData getFollowerUidJson() {
+ public LiveData getFollowerUidJson() {
return this.followersUidJsonMutableLiveData;
}
@@ -61,7 +61,7 @@
return this.collectionInvitesJsonMutableLiveData;
}
- public LiveData getMessage() {
+ public LiveData getMessage() {
return this.messageMutableLiveData;
}
@@ -75,10 +75,10 @@
.addConverterFactory(JacksonConverterFactory.create())
.build();
final FollowersRest followersRest = retrofit.create(FollowersRest.class);
- Call call = followersRest.getFollowers(uid);
- call.enqueue(new Callback() {
+ Call call = followersRest.getFollowers(uid);
+ call.enqueue(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call, Response response) {
if(response.isSuccessful()){
if (response.body() != null) {
followersUidJsonMutableLiveData.setValue(response.body());
@@ -87,7 +87,7 @@
}
@Override
- public void onFailure(Call call, Throwable t) {
+ public void onFailure(Call call, Throwable t) {
startGalleryInvites(aid, ownerToken);
}
});
@@ -136,35 +136,11 @@
@Override
public void onFailure(Call call, Throwable t) {
- startAccountJson();
+ editorJsonMutableLiveData.setValue(null);
}
});
}
- public void startAccountJson(){
- Retrofit retrofit = new Retrofit.Builder()
- .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/")
- .addConverterFactory(JacksonConverterFactory.create())
- .build();
- final AccountsRest accountsRest = retrofit.create(AccountsRest.class);
- Call> call = accountsRest.getAccounts(null);
- call.enqueue(new Callback>() {
- @Override
- public void onResponse(Call> call, Response> response) {
- if(response.isSuccessful()){
- if (response.body() != null) {
- collectionAccountJsonMutableLiveData.setValue(response.body());
- }
- }
- }
-
- @Override
- public void onFailure(Call> call, Throwable t) {
- }
- });
- }
-
-
public void addInvite(Integer aid, String ownerUid, String invitedUid, String ownerToken){
Retrofit retrofit = new Retrofit.Builder()
@@ -172,10 +148,10 @@
.addConverterFactory(JacksonConverterFactory.create())
.build();
final InvitesRest invitesRest = retrofit.create(InvitesRest.class);
- Call call = invitesRest.addInvite(aid, ownerUid, invitedUid, ownerToken);
- call.enqueue(new Callback() {
+ Call call = invitesRest.addInvite(aid, ownerUid, invitedUid, ownerToken);
+ call.enqueue(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call, Response response) {
if(response.isSuccessful()){
if (response.body() != null) {
messageMutableLiveData.setValue(response.body());
@@ -184,7 +160,7 @@
}
@Override
- public void onFailure(Call call, Throwable t) {
+ public void onFailure(Call call, Throwable t) {
}
});
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
index 462e862..e3d1bf5 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/ListViewAdapter.java
@@ -41,7 +41,7 @@
convertView = inflater.inflate(itemLayoutId, parent, false);
// ViewHolder を生成
holder = new ViewHolder();
- holder.textView = convertView.findViewById(R.id.textView);
+ holder.textView = convertView.findViewById(R.id.textViewInvitesName);
convertView.setTag(holder);
}
// holder を使って再利用
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
index a014d0c..0fa352e 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
@@ -50,15 +50,15 @@
String token = "abc0";
int dummyAid = 1111;
- Call call = invitesRest.addInvite(dummyAid, owner.toString(), invitedUid.toString(), token);
- call.enqueue(new Callback() {
+ Call call = invitesRest.addInvite(dummyAid, owner.toString(), invitedUid.toString(), token);
+ call.enqueue(new Callback() {
@Override
- public void onResponse(Call call, Response response) {
+ public void onResponse(Call call, Response response) {
if (response.isSuccessful()) ;
}
@Override
- public void onFailure(Call call, Throwable t) {
+ public void onFailure(Call call, Throwable t) {
}
});
diff --git a/app/src/main/res/layout/invites_list.xml b/app/src/main/res/layout/invites_list.xml
new file mode 100644
index 0000000..26edc44
--- /dev/null
+++ b/app/src/main/res/layout/invites_list.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file