diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/DiffCallback.java b/app/src/main/java/com/example/sprout/refactor/adapter/DiffCallback.java deleted file mode 100644 index aa637c3..0000000 --- a/app/src/main/java/com/example/sprout/refactor/adapter/DiffCallback.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.example.sprout.refactor.adapter; - -import android.support.v7.util.DiffUtil; - -import java.util.List; - -/** - * DiffUtilのCallbackの基底クラス - * - * @param 差分を出すクラス - * @author matsumoto_k - */ -public abstract class DiffCallback extends DiffUtil.Callback { - final protected List oldList; - final protected List newList; - - public DiffCallback(List oldList, List newList) { - this.oldList = oldList; - this.newList = newList; - } - - @Override - public int getOldListSize() { - return oldList.size(); - } - - @Override - public int getNewListSize() { - return newList.size(); - } - - @Override - public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) { - return oldList.get(oldItemPosition) == newList.get(newItemPosition); - } - - public abstract Object getChangePayload(int oldItemPosition, int newItemPosition); -} diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/MemberDiffCallBack.java b/app/src/main/java/com/example/sprout/refactor/adapter/MemberDiffCallBack.java deleted file mode 100644 index 77b1c9d..0000000 --- a/app/src/main/java/com/example/sprout/refactor/adapter/MemberDiffCallBack.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.example.sprout.refactor.adapter; - -import com.example.sprout.refactor.model.entity.Member; - -import java.util.List; - -/** - * userIdからMemberの差分を出す - * - * @author matsumoto_k - */ -public class MemberDiffCallBack extends DiffCallback { - public MemberDiffCallBack(List oldList, List newList) { - super(oldList, newList); - } - - @Override - public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) { - return oldList.get(oldItemPosition).getUserId() == newList.get(newItemPosition).getUserId(); - } - - @Override - public Object getChangePayload(int oldItemPosition, int newItemPosition) { - return null; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/RoomDiffCallBack.java b/app/src/main/java/com/example/sprout/refactor/adapter/RoomDiffCallBack.java deleted file mode 100644 index 47c8450..0000000 --- a/app/src/main/java/com/example/sprout/refactor/adapter/RoomDiffCallBack.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.example.sprout.refactor.adapter; - -import com.example.sprout.refactor.model.entity.Room; - -import java.util.List; - -/** - * roomIdからRoomの差分を出す - * - * @author matsumoto_k - */ -public class RoomDiffCallBack extends DiffCallback { - - public RoomDiffCallBack(List oldList, List newList) { - super(oldList, newList); - } - - @Override - public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) { - return oldList.get(oldItemPosition).getRoomId() == newList.get(newItemPosition).getRoomId(); - } - - @Override - public Object getChangePayload(int oldItemPosition, int newItemPosition) { - return null; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java b/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java index 9318aa0..058ca6d 100644 --- a/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java +++ b/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java @@ -50,10 +50,9 @@ } public void setDataAndRefresh(ArrayList items) { - List oldItems = this.items; - DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new RoomDiffCallBack(oldItems, items)); + this.items.clear(); this.items = items; - diffResult.dispatchUpdatesTo(this); + notifyDataSetChanged(); } @Override diff --git a/app/src/main/java/com/example/sprout/refactor/registration.puml b/app/src/main/java/com/example/sprout/refactor/registration.puml deleted file mode 100644 index 306393a..0000000 --- a/app/src/main/java/com/example/sprout/refactor/registration.puml +++ /dev/null @@ -1,60 +0,0 @@ -@startuml - -class ModelLocator{ - registrationRepository : RegistrationRepository -} -class AppCompatActivity -interface ViewContract{ - void startActivity() - void finishActivity() - void showShortToast(String message) - void showLongToast(String message) -} -interface LifecycleObserver -class Repository -class RegistrationRepository{ - void registration(String userName) - accountObservable : Observable -} -class RegistrationService{ - @POST Call registration(String userName) -} -class RegistrationActivity -class RegistrationViewModel{ - userName : ObservableField - registrationRepository : RegistrationRepository - viewContract : ViewContract - observer: Observer - void onClickRegistration(String userName) - void onResume() - void onPause() -} - -abstract class Observable{ - observers : ArrayList> - void addObserver(Observer observer) - void removeObserver(Observer observer) - void notifyObservers(T t) - void notifyError(Throwable t) -} - -abstract class Observer{ - void notify(T t) - void error(Throwable t) -} - -ModelLocator o-- RegistrationRepository -Repository <|-- RegistrationRepository -Repository o-- OkHttpClient -RegistrationViewModel o-- RegistrationRepository -RegistrationRepository o-- RegistrationService - -AppCompatActivity <|-down- RegistrationActivity -ViewContract <|.down. RegistrationActivity -RegistrationActivity o-down- RegistrationViewModel -LifecycleObserver <|.down. RegistrationViewModel -RegistrationViewModel o-up- ViewContract - -RegistrationViewModel o-- Observer -RegistrationRepository o-- Observable -@enduml \ No newline at end of file