diff --git a/app/src/main/java/com/example/nemophila/MapsActivity.java b/app/src/main/java/com/example/nemophila/MapsActivity.java index aede3f0..1256256 100644 --- a/app/src/main/java/com/example/nemophila/MapsActivity.java +++ b/app/src/main/java/com/example/nemophila/MapsActivity.java @@ -269,7 +269,12 @@ textView.setText(item.text); CheckBox checkBox = convertView.findViewById(R.id.filter_checkbox); checkBox.setOnCheckedChangeListener(null); - checkBox.setChecked(item.isChecked); + //チェック済みの項目をチェックにしておく + if(isGenre) { + checkBox.setChecked(nemophila.getSelectGenres().contains(item.getText())); + } else { + checkBox.setChecked(nemophila.getSelectFriends().contains(item.getText())); + } // チェックボックスを押したときの処理 checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { diff --git a/app/src/main/java/com/example/nemophila/MapsFragment.java b/app/src/main/java/com/example/nemophila/MapsFragment.java index 212503d..0ed3186 100644 --- a/app/src/main/java/com/example/nemophila/MapsFragment.java +++ b/app/src/main/java/com/example/nemophila/MapsFragment.java @@ -266,29 +266,6 @@ //2回目移行 currentMarker.setPosition(current_location); } -// -// // マップに貼り付ける BitmapDescriptor生成 -// BitmapDescriptor descriptor = BitmapDescriptorFactory.fromResource(R.drawable.icon_current); -// //Drawable ic_current = ResourcesCompat.getDrawable(getResources(),R.drawable.ic_current_location,null); -// -// // 貼り付設定 -// GroundOverlayOptions overlayOptions = new GroundOverlayOptions(); -// overlayOptions.image(descriptor); -// -// //public GroundOverlayOptions anchor (float u, float v) -// // (0,0):top-left, (0,1):bottom-left, (1,0):top-right, (1,1):bottom-right -// overlayOptions.anchor(0.5f, 0.5f); -// -// // 張り付け画像の大きさ メートル単位 -// // public GroundOverlayOptions position(LatLng location, float width, float height) -// overlayOptions.position(current_location, 200f, 200f); -// -// // マップに貼り付け・アルファを設定 -// currentOverlay = mMap.addGroundOverlay(overlayOptions); -// -// // 透明度 -// assert currentOverlay != null; -// currentOverlay.setTransparency(0.8F); } diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java index 8b4b2ad..19e1515 100644 --- a/app/src/main/java/com/example/nemophila/RequestedActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java @@ -61,7 +61,7 @@ public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(RequestedActivity.this, userModel.getName(), Toast.LENGTH_SHORT).show(); System.out.println("承諾ボタンが押されました: " + userModel.getName()); -// friendViewModel.putFriend(uid, userModel.getId(), token); + friendViewModel.putFriend(uid, userModel.getName() ,userModel.getId(), token); } }) .setNegativeButton("Cancel", null) @@ -79,7 +79,7 @@ public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(RequestedActivity.this, userModel.getName(), Toast.LENGTH_SHORT).show(); System.out.println("拒否ボタンが押されました: " + userModel.getName()); -// friendViewModel.deleteRequested(uid, userModel.getId(), token); + friendViewModel.deleteRequested(uid, userModel.getId(), token); } }) .setNegativeButton("Cancel", null) diff --git a/app/src/main/java/com/example/nemophila/TestActivity.java b/app/src/main/java/com/example/nemophila/TestActivity.java index 6a9c2e7..3ff993a 100644 --- a/app/src/main/java/com/example/nemophila/TestActivity.java +++ b/app/src/main/java/com/example/nemophila/TestActivity.java @@ -69,7 +69,7 @@ "和食", "辛いね", "", "", ""); break; case 3: - friendViewModel.putRequesting("1111", "1112", "a95d68cc-4efb-49e2-8f55-799f768a5c09"); +// friendViewModel.putRequesting("1111", "1112", "a95d68cc-4efb-49e2-8f55-799f768a5c09"); } } }); 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 3676d3f..a7493ca 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java @@ -9,6 +9,7 @@ import com.example.nemophila.resources.AccountsRest; import com.example.nemophila.resources.FriendsRest; +import java.util.ArrayList; import java.util.Collection; import retrofit2.Call; @@ -56,34 +57,34 @@ public void onResponse(Call> call, Response> response) { if (response.isSuccessful()) { System.out.println("Successful"); - Collection accountNameJson = response.body(); - friendsLiveData.setValue(accountNameJson); - + friendsLiveData.setValue(response.body()); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call> call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } - public void putFriend(String uid,String fid, String token) { + public void putFriend(String uid, String fid, String name, String token) { Call call = friendsRest.putFriend(uid,fid,token); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { + addFriendLiveData(fid, name); + removeRequestedLiveData(fid); System.out.println("Successful"); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } @@ -94,14 +95,15 @@ @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { + removeFriendLiveData(fid); System.out.println("Successful"); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } @@ -112,34 +114,34 @@ @Override public void onResponse(Call> call, Response> response) { if (response.isSuccessful()) { + requestingLiveData.setValue(response.body()); System.out.println("Successful"); - Collection accountNameJson = response.body(); - requestingLiveData.setValue(accountNameJson); } else { - System.out.println("ResponseError" + response.code()); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call> call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } - public void putRequesting(String uid,String requesting_id, String token) { + public void putRequesting(String uid, String requesting_id, String name, String token) { Call call = friendsRest.putRequesting(uid,requesting_id,token); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { System.out.println("Successful"); + addRequestingLiveData(requesting_id, name); } else { - System.out.println("ResponseError" + response.code()); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } @@ -150,14 +152,15 @@ @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { + removeRequestingLiveData(requesting_id); System.out.println("Successful"); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } @@ -172,12 +175,12 @@ Collection accountNameJson = response.body(); requestedLiveData.setValue(accountNameJson); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call> call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } @@ -189,14 +192,73 @@ public void onResponse(Call call, Response response) { if (response.isSuccessful()) { System.out.println("Successful"); + removeRequestedLiveData(fid); } else { - System.out.println("ResponseError"); + System.out.println("ResponseError: " + response.code()); } } @Override public void onFailure(Call call, Throwable t) { - System.out.println(" NetworkError" + t); + System.out.println(" NetworkError: " + t); } }); } + + private AccountNameJson createAccountNameJson(String uid, String name) { + AccountNameJson anj = new AccountNameJson(); + anj.setUid(uid); + anj.setName(name); + return anj; + } + + private void addFriendLiveData(String uid, String name) { + ArrayList preData = new ArrayList<>(); + for (AccountNameJson anj: friendsLiveData.getValue()) { + preData.add(anj); + } + preData.add(createAccountNameJson(uid, name)); + friendsLiveData.setValue(preData); + } + + private void addRequestingLiveData(String uid, String name) { + ArrayList preData = new ArrayList<>(); + for (AccountNameJson anj: requestingLiveData.getValue()) { + preData.add(anj); + } + preData.add(createAccountNameJson(uid, name)); + requestedLiveData.setValue(preData); + } + + private void removeFriendLiveData(String id) { + ArrayList preData = new ArrayList<>(); + for (AccountNameJson anj: friendsLiveData.getValue()) { + if (anj.getUid().equals(id)) { + continue; + } + preData.add(anj); + friendsLiveData.setValue(preData); + } + } + + private void removeRequestingLiveData(String id) { + ArrayList preData = new ArrayList<>(); + for (AccountNameJson anj: requestingLiveData.getValue()) { + if (anj.getUid().equals(id)) { + continue; + } + preData.add(anj); + requestingLiveData.setValue(preData); + } + } + + private void removeRequestedLiveData(String id) { + ArrayList preData = new ArrayList<>(); + for (AccountNameJson anj: requestedLiveData.getValue()) { + if (anj.getUid().equals(id)) { + continue; + } + preData.add(anj); + requestedLiveData.setValue(preData); + } + } }