diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
index 69e56fe..10746e9 100644
--- a/.idea/deploymentTargetDropDown.xml
+++ b/.idea/deploymentTargetDropDown.xml
@@ -7,11 +7,11 @@
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bdd5b80..43cf19a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -39,12 +39,12 @@
android:exported="true"
android:label="@string/title_activity_sign_up">
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
posts = new ArrayList<>();
//Getter
public String getSid() {
@@ -22,9 +21,6 @@
public double getLatitude() {
return latitude;
}
- public ArrayList getPosts() {
- return posts;
- }
//Setter
public void setSid(String id) {
@@ -39,7 +35,16 @@
public void setLatitude(double latitude) {
this.latitude = latitude;
}
- public void setPosts(ArrayList posts) {
- this.posts = posts;
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null || !(other instanceof Shop)) {
+ return false;
+ }
+ Shop shop = (Shop) other;
+ if (!this.id.equals(shop.id)) {
+ return false;
+ }
+ return true;
}
}
diff --git a/app/src/main/java/com/example/nemophila/viewmodels/ShopsViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/ShopsViewModel.java
index 4f0d8d3..738202d 100644
--- a/app/src/main/java/com/example/nemophila/viewmodels/ShopsViewModel.java
+++ b/app/src/main/java/com/example/nemophila/viewmodels/ShopsViewModel.java
@@ -7,6 +7,7 @@
import com.example.nemophila.entities.Shop;
import com.example.nemophila.resources.ShopsRest;
+import java.util.ArrayList;
import java.util.Collection;
import retrofit2.Call;
@@ -24,11 +25,14 @@
private double lx;
private double ly;
+ // 更新比較用
+ private Collection shopsPreData;
+
// ライブデータ
final private MutableLiveData> shopsLiveData;
// コンストラクタ
- public ShopsViewModel(){
+ public ShopsViewModel() {
this.shopsLiveData = new MutableLiveData<>();
this.retrofit = new Retrofit.Builder()
.baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/nemophila/")
@@ -68,7 +72,15 @@
// 通信が正常に動作
if (response.isSuccessful()) {
if (response.body() != null) {
- shopsLiveData.setValue(response.body()); // LiveDataを書き換える
+ // LiveDataとresponse.body()が異なるときは更新する
+ if (shopsPreData == null || !shopsPreData.containsAll(response.body())) {
+ System.out.println(shopsPreData);
+ System.out.println(response.body());
+ shopsLiveData.setValue(response.body()); // LiveDataを書き換える
+ shopsPreData = response.body();
+ } else {
+ System.out.println("LiveDataとresponse.body()が一致");
+ }
} else {
System.out.println("response null : setViewModel");
}