diff --git a/Habitica/res/layout/dialog_choose_message_recipient.xml b/Habitica/res/layout/dialog_choose_message_recipient.xml
index 5c3e394c9..3aa7e2aaf 100644
--- a/Habitica/res/layout/dialog_choose_message_recipient.xml
+++ b/Habitica/res/layout/dialog_choose_message_recipient.xml
@@ -13,13 +13,15 @@
android:layout_height="wrap_content"
android:text="@string/enter_recipient_username"
android:textSize="12sp"
- android:textColor="@color/text_ternary"/>
+ android:textColor="@color/text_ternary"
+ android:labelFor="@id/uuidEditText"/>
+ android:maxLines="1"
+ android:inputType="textNoSuggestions" />
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
-
-
+
+
+
+
+
+
+
+
+
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.java b/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.java
new file mode 100644
index 000000000..68871196b
--- /dev/null
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.java
@@ -0,0 +1,124 @@
+package com.habitrpg.android.habitica.api;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
+import com.habitrpg.android.habitica.models.Achievement;
+import com.habitrpg.android.habitica.models.ContentResult;
+import com.habitrpg.android.habitica.models.FAQArticle;
+import com.habitrpg.android.habitica.models.Notification;
+import com.habitrpg.android.habitica.models.Skill;
+import com.habitrpg.android.habitica.models.Tag;
+import com.habitrpg.android.habitica.models.TutorialStep;
+import com.habitrpg.android.habitica.models.WorldState;
+import com.habitrpg.android.habitica.models.inventory.Customization;
+import com.habitrpg.android.habitica.models.inventory.Equipment;
+import com.habitrpg.android.habitica.models.inventory.Quest;
+import com.habitrpg.android.habitica.models.inventory.QuestCollect;
+import com.habitrpg.android.habitica.models.inventory.QuestDropItem;
+import com.habitrpg.android.habitica.models.members.Member;
+import com.habitrpg.android.habitica.models.responses.FeedResponse;
+import com.habitrpg.android.habitica.models.social.Challenge;
+import com.habitrpg.android.habitica.models.social.ChatMessage;
+import com.habitrpg.android.habitica.models.social.FindUsernameResult;
+import com.habitrpg.android.habitica.models.social.Group;
+import com.habitrpg.android.habitica.models.tasks.Task;
+import com.habitrpg.android.habitica.models.tasks.TaskList;
+import com.habitrpg.android.habitica.models.user.OwnedItem;
+import com.habitrpg.android.habitica.models.user.OwnedMount;
+import com.habitrpg.android.habitica.models.user.OwnedPet;
+import com.habitrpg.android.habitica.models.user.Purchases;
+import com.habitrpg.android.habitica.models.user.User;
+import com.habitrpg.android.habitica.utils.AchievementListDeserializer;
+import com.habitrpg.android.habitica.utils.BooleanAsIntAdapter;
+import com.habitrpg.android.habitica.utils.ChallengeDeserializer;
+import com.habitrpg.android.habitica.utils.ChallengeListDeserializer;
+import com.habitrpg.android.habitica.utils.ChatMessageDeserializer;
+import com.habitrpg.android.habitica.utils.ContentDeserializer;
+import com.habitrpg.android.habitica.utils.CustomizationDeserializer;
+import com.habitrpg.android.habitica.utils.DateDeserializer;
+import com.habitrpg.android.habitica.utils.EquipmentListDeserializer;
+import com.habitrpg.android.habitica.utils.FAQArticleListDeserilializer;
+import com.habitrpg.android.habitica.utils.FeedResponseDeserializer;
+import com.habitrpg.android.habitica.utils.FindUsernameResultDeserializer;
+import com.habitrpg.android.habitica.utils.GroupSerialization;
+import com.habitrpg.android.habitica.utils.MemberSerialization;
+import com.habitrpg.android.habitica.utils.OwnedItemListDeserializer;
+import com.habitrpg.android.habitica.utils.OwnedMountListDeserializer;
+import com.habitrpg.android.habitica.utils.NotificationDeserializer;
+import com.habitrpg.android.habitica.utils.OwnedPetListDeserializer;
+import com.habitrpg.android.habitica.utils.PurchasedDeserializer;
+import com.habitrpg.android.habitica.utils.QuestCollectDeserializer;
+import com.habitrpg.android.habitica.utils.QuestDeserializer;
+import com.habitrpg.android.habitica.utils.QuestDropItemsListSerialization;
+import com.habitrpg.android.habitica.utils.SkillDeserializer;
+import com.habitrpg.android.habitica.utils.TaskListDeserializer;
+import com.habitrpg.android.habitica.utils.TaskSerializer;
+import com.habitrpg.android.habitica.utils.TaskTagDeserializer;
+import com.habitrpg.android.habitica.utils.TutorialStepListDeserializer;
+import com.habitrpg.android.habitica.utils.UserDeserializer;
+import com.habitrpg.android.habitica.utils.WorldStateSerialization;
+
+import java.lang.reflect.Type;
+import java.util.Date;
+import java.util.List;
+
+import io.realm.RealmList;
+import retrofit2.converter.gson.GsonConverterFactory;
+
+public class GSonFactoryCreator {
+
+ public static GsonConverterFactory create() {
+ Type skillListType = new TypeToken>() {}.getType();
+ Type taskTagClassListType = new TypeToken>() {}.getType();
+ Type customizationListType = new TypeToken>() {}.getType();
+ Type tutorialStepListType = new TypeToken>() {}.getType();
+ Type faqArticleListType = new TypeToken>() {}.getType();
+ Type itemDataListType = new TypeToken>() {}.getType();
+ Type questCollectListType = new TypeToken>() {}.getType();
+ Type chatMessageListType = new TypeToken>() {}.getType();
+ Type challengeListType = new TypeToken>() {}.getType();
+ Type challengeRealmListType = new TypeToken>() {}.getType();
+ Type questDropItemListType = new TypeToken>() {}.getType();
+ Type ownedItemListType = new TypeToken>() {}.getType();
+ Type ownedPetListType = new TypeToken>() {}.getType();
+ Type ownedMountListType = new TypeToken>() {}.getType();
+ Type achievementsListType = new TypeToken>() {}.getType();
+
+
+ Gson gson = new GsonBuilder()
+ .registerTypeAdapter(taskTagClassListType, new TaskTagDeserializer())
+ .registerTypeAdapter(Boolean.class, new BooleanAsIntAdapter())
+ .registerTypeAdapter(boolean.class, new BooleanAsIntAdapter())
+ .registerTypeAdapter(skillListType, new SkillDeserializer())
+ .registerTypeAdapter(TaskList.class, new TaskListDeserializer())
+ .registerTypeAdapter(Purchases.class, new PurchasedDeserializer())
+ .registerTypeAdapter(customizationListType, new CustomizationDeserializer())
+ .registerTypeAdapter(tutorialStepListType, new TutorialStepListDeserializer())
+ .registerTypeAdapter(faqArticleListType, new FAQArticleListDeserilializer())
+ .registerTypeAdapter(Group.class, new GroupSerialization())
+ .registerTypeAdapter(Date.class, new DateDeserializer())
+ .registerTypeAdapter(itemDataListType, new EquipmentListDeserializer())
+ .registerTypeAdapter(ChatMessage.class, new ChatMessageDeserializer())
+ .registerTypeAdapter(Task.class, new TaskSerializer())
+ .registerTypeAdapter(ContentResult.class, new ContentDeserializer())
+ .registerTypeAdapter(FeedResponse.class, new FeedResponseDeserializer())
+ .registerTypeAdapter(Challenge.class, new ChallengeDeserializer())
+ .registerTypeAdapter(User.class, new UserDeserializer())
+ .registerTypeAdapter(questCollectListType, new QuestCollectDeserializer())
+ .registerTypeAdapter(challengeListType, new ChallengeListDeserializer())
+ .registerTypeAdapter(challengeRealmListType, new ChallengeListDeserializer())
+ .registerTypeAdapter(questDropItemListType, new QuestDropItemsListSerialization())
+ .registerTypeAdapter(ownedItemListType, new OwnedItemListDeserializer())
+ .registerTypeAdapter(ownedPetListType, new OwnedPetListDeserializer())
+ .registerTypeAdapter(ownedMountListType, new OwnedMountListDeserializer())
+ .registerTypeAdapter(achievementsListType, new AchievementListDeserializer())
+ .registerTypeAdapter(Quest.class, new QuestDeserializer())
+ .registerTypeAdapter(Member.class, new MemberSerialization())
+ .registerTypeAdapter(WorldState.class, new WorldStateSerialization())
+ .registerTypeAdapter(FindUsernameResult.class, new FindUsernameResultDeserializer())
+ .registerTypeAdapter(Notification.class, new NotificationDeserializer())
+ .setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
+ .create();
+ return GsonConverterFactory.create(gson);
+ }
+}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.kt
deleted file mode 100644
index 4cafaa967..000000000
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/api/GSonFactoryCreator.kt
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.habitrpg.android.habitica.api
-
-import com.google.gson.GsonBuilder
-import com.google.gson.reflect.TypeToken
-import com.habitrpg.android.habitica.models.*
-import com.habitrpg.android.habitica.models.inventory.*
-import com.habitrpg.android.habitica.models.members.Member
-import com.habitrpg.android.habitica.models.responses.FeedResponse
-import com.habitrpg.android.habitica.models.social.Challenge
-import com.habitrpg.android.habitica.models.social.ChatMessage
-import com.habitrpg.android.habitica.models.social.FindUsernameResult
-import com.habitrpg.android.habitica.models.social.Group
-import com.habitrpg.android.habitica.models.tasks.Task
-import com.habitrpg.android.habitica.models.tasks.TaskList
-import com.habitrpg.android.habitica.models.user.*
-import com.habitrpg.android.habitica.utils.*
-import io.realm.RealmList
-import retrofit2.converter.gson.GsonConverterFactory
-import java.util.*
-
-object GSonFactoryCreator {
- fun create(): GsonConverterFactory {
- val skillListType = object : TypeToken?>() {}.type
- val taskTagClassListType = object : TypeToken?>() {}.type
- val customizationListType = object : TypeToken?>() {}.type
- val tutorialStepListType = object : TypeToken?>() {}.type
- val faqArticleListType = object : TypeToken?>() {}.type
- val itemDataListType = object : TypeToken?>() {}.type
- val questCollectListType = object : TypeToken?>() {}.type
- val chatMessageListType = object : TypeToken?>() {}.type
- val challengeListType = object : TypeToken?>() {}.type
- val challengeRealmListType = object : TypeToken?>() {}.type
- val questDropItemListType = object : TypeToken?>() {}.type
- val ownedItemListType = object : TypeToken?>() {}.type
- val ownedPetListType = object : TypeToken?>() {}.type
- val ownedMountListType = object : TypeToken?>() {}.type
- val achievementsListType = object : TypeToken?>() {}.type
-
- val gson = GsonBuilder()
- .registerTypeAdapter(taskTagClassListType, TaskTagDeserializer())
- .registerTypeAdapter(Boolean::class.java, BooleanAsIntAdapter())
- .registerTypeAdapter(Boolean::class.javaPrimitiveType, BooleanAsIntAdapter())
- .registerTypeAdapter(skillListType, SkillDeserializer())
- .registerTypeAdapter(TaskList::class.java, TaskListDeserializer())
- .registerTypeAdapter(Task::class.java, TaskSerializer())
- .registerTypeAdapter(Purchases::class.java, PurchasedDeserializer())
- .registerTypeAdapter(customizationListType, CustomizationDeserializer())
- .registerTypeAdapter(tutorialStepListType, TutorialStepListDeserializer())
- .registerTypeAdapter(faqArticleListType, FAQArticleListDeserilializer())
- .registerTypeAdapter(Group::class.java, GroupSerialization())
- .registerTypeAdapter(Date::class.java, DateDeserializer())
- .registerTypeAdapter(itemDataListType, EquipmentListDeserializer())
- .registerTypeAdapter(ChatMessage::class.java, ChatMessageDeserializer())
- .registerTypeAdapter(Task::class.java, TaskSerializer())
- .registerTypeAdapter(ContentResult::class.java, ContentDeserializer())
- .registerTypeAdapter(FeedResponse::class.java, FeedResponseDeserializer())
- .registerTypeAdapter(Challenge::class.java, ChallengeDeserializer())
- .registerTypeAdapter(User::class.java, UserDeserializer())
- .registerTypeAdapter(questCollectListType, QuestCollectDeserializer())
- .registerTypeAdapter(challengeListType, ChallengeListDeserializer())
- .registerTypeAdapter(challengeRealmListType, ChallengeListDeserializer())
- .registerTypeAdapter(questDropItemListType, QuestDropItemsListSerialization())
- .registerTypeAdapter(ownedItemListType, OwnedItemListDeserializer())
- .registerTypeAdapter(ownedPetListType, OwnedPetListDeserializer())
- .registerTypeAdapter(ownedMountListType, OwnedMountListDeserializer())
- .registerTypeAdapter(achievementsListType, AchievementListDeserializer())
- .registerTypeAdapter(Quest::class.java, QuestDeserializer())
- .registerTypeAdapter(Member::class.java, MemberSerialization())
- .registerTypeAdapter(WorldState::class.java, WorldStateSerialization())
- .registerTypeAdapter(FindUsernameResult::class.java, FindUsernameResultDeserializer())
- .registerTypeAdapter(Notification::class.java, NotificationDeserializer())
- .setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
- .create()
- return GsonConverterFactory.create(gson)
- }
-}
\ No newline at end of file
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt
index eadd3dd74..64a3bb4e3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.kt
@@ -175,7 +175,6 @@ class TaskRepositoryImpl(localRepository: TaskLocalRepository, apiClient: ApiCli
stats?.lvl = res.lvl
bgUser.party?.quest?.progress?.up = (bgUser.party?.quest?.progress?.up
?: 0F) + (res._tmp?.quest?.progressDelta?.toFloat() ?: 0F)
- bgUser.stats = stats
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/GroupMembership.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/GroupMembership.kt
index 4d0961642..5b92d9c33 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/GroupMembership.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/GroupMembership.kt
@@ -5,10 +5,20 @@ import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
import io.realm.annotations.RealmClass
-@RealmClass(embedded = true)
open class GroupMembership : RealmObject, BaseObject {
+ @PrimaryKey
+ var combinedID: String = ""
+
var userID: String = ""
+ set(value) {
+ field = value
+ combinedID = userID + groupID
+ }
var groupID: String = ""
+ set(value) {
+ field = value
+ combinedID = userID + groupID
+ }
constructor(userID: String, groupID: String) : super() {
this.userID = userID
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt
index 2cb86dd6d..9c370c77f 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/challenges/ChallengeTasksRecyclerViewAdapter.kt
@@ -32,10 +32,6 @@ class ChallengeTasksRecyclerViewAdapter(taskFilterHelper: TaskFilterHelper?, lay
component.inject(this)
}
- override fun loadFromDatabase(): Boolean {
- return false
- }
-
override fun getItemViewType(position: Int): Int {
val task = this.filteredContent?.get(position)
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.kt
index 50e5e7ab8..19677ccb7 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.kt
@@ -32,10 +32,6 @@ abstract class BaseTasksRecyclerViewAdapter>(var t
init {
this.filteredContent = ArrayList()
HabiticaBaseApplication.userComponent?.let { injectThis(it) }
-
- if (loadFromDatabase()) {
- this.loadContent(true)
- }
}
protected abstract fun injectThis(component: UserComponent)
@@ -88,26 +84,9 @@ abstract class BaseTasksRecyclerViewAdapter>(var t
this.notifyDataSetChanged()
}
- private fun loadContent(forced: Boolean) {
- if (this.content == null || forced) {
- taskRepository.getTasks(this.taskType)
- .flatMap { Flowable.fromIterable(it) }
- .map { task ->
- task.parseMarkdown()
- task
- }
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .toList()
- .subscribe({ this.setTasks(it) }, RxErrorHandler.handleEmptyError())
- }
- }
-
fun setTasks(tasks: List) {
this.content = ArrayList()
this.content?.addAll(tasks)
filter()
}
-
- open fun loadFromDatabase(): Boolean = true
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt
index 517ec6ef7..953d36b4a 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/DailiesRecyclerViewHolder.kt
@@ -6,7 +6,7 @@ import com.habitrpg.android.habitica.helpers.TaskFilterHelper
import com.habitrpg.android.habitica.models.tasks.Task
import com.habitrpg.android.habitica.ui.viewHolders.tasks.DailyViewHolder
-class DailiesRecyclerViewHolder(data: List?, autoUpdate: Boolean, layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(data, autoUpdate, layoutResource, taskFilterHelper) {
+class DailiesRecyclerViewHolder(layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(layoutResource, taskFilterHelper) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DailyViewHolder =
DailyViewHolder(getContentView(parent), { task, direction -> taskScoreEventsSubject.onNext(Pair(task, direction)) },
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt
index acdfeccc4..3a83a8f2a 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/HabitsRecyclerViewAdapter.kt
@@ -5,7 +5,7 @@ import com.habitrpg.android.habitica.helpers.TaskFilterHelper
import com.habitrpg.android.habitica.models.tasks.Task
import com.habitrpg.android.habitica.ui.viewHolders.tasks.HabitViewHolder
-class HabitsRecyclerViewAdapter(data: List?, autoUpdate: Boolean, layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(data, autoUpdate, layoutResource, taskFilterHelper) {
+class HabitsRecyclerViewAdapter(layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(layoutResource, taskFilterHelper) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HabitViewHolder =
HabitViewHolder(getContentView(parent), { task, direction -> taskScoreEventsSubject.onNext(Pair(task, direction)) }, {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RealmBaseTasksRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RealmBaseTasksRecyclerViewAdapter.kt
index 5e6e97990..5b98e4485 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RealmBaseTasksRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RealmBaseTasksRecyclerViewAdapter.kt
@@ -16,15 +16,11 @@ import io.reactivex.rxjava3.subjects.PublishSubject
import io.realm.OrderedRealmCollection
abstract class RealmBaseTasksRecyclerViewAdapter(
- private var unfilteredData: List?,
- private val hasAutoUpdates: Boolean,
private val layoutResource: Int,
private val taskFilterHelper: TaskFilterHelper?
) : BaseRecyclerViewAdapter(), TaskRecyclerViewAdapter {
override var canScoreTasks = true
-
- private var updateOnModification: Boolean = false
- override var ignoreUpdates: Boolean = false
+ private var unfilteredData: List? = null
override var taskDisplayMode: String = "standard"
set(value) {
@@ -45,16 +41,12 @@ abstract class RealmBaseTasksRecyclerViewAdapter(
protected var brokenTaskEventsSubject: PublishSubject = PublishSubject.create()
override val brokenTaskEvents: Flowable = brokenTaskEventsSubject.toFlowable(BackpressureStrategy.DROP)
- init {
- this.updateOnModification = true
- filter()
- }
-
override fun getItemId(index: Int): Long = index.toLong()
override fun updateUnfilteredData(data: List?) {
unfilteredData = data
this.data = data ?: emptyList()
+ filter()
}
override fun onBindViewHolder(holder: VH, position: Int) {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt
index 71a08584b..7b350c6b9 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/RewardsRecyclerViewAdapter.kt
@@ -61,10 +61,6 @@ class RewardsRecyclerViewAdapter(private var customRewards: List?, private
return customRewards?.size ?: 0
}
- override var ignoreUpdates: Boolean
- get() = false
- set(_) {}
-
private fun getContentView(parent: ViewGroup): View {
return LayoutInflater.from(parent.context).inflate(layoutResource, parent, false)
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TaskRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TaskRecyclerViewAdapter.kt
index ebd1b8cfe..b2808b50c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TaskRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TaskRecyclerViewAdapter.kt
@@ -8,7 +8,6 @@ import io.reactivex.rxjava3.core.Flowable
interface TaskRecyclerViewAdapter {
var canScoreTasks: Boolean
var data: List
- var ignoreUpdates: Boolean
val errorButtonEvents: Flowable
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt
index 84a8fa2be..840bb02a2 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/TodosRecyclerViewAdapter.kt
@@ -6,7 +6,7 @@ import com.habitrpg.android.habitica.helpers.TaskFilterHelper
import com.habitrpg.android.habitica.models.tasks.Task
import com.habitrpg.android.habitica.ui.viewHolders.tasks.TodoViewHolder
-class TodosRecyclerViewAdapter(data: List?, autoUpdate: Boolean, layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(data, autoUpdate, layoutResource, taskFilterHelper) {
+class TodosRecyclerViewAdapter(layoutResource: Int, taskFilterHelper: TaskFilterHelper) : RealmBaseTasksRecyclerViewAdapter(layoutResource, taskFilterHelper) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TodoViewHolder =
TodoViewHolder(getContentView(parent), { task, direction -> taskScoreEventsSubject.onNext(Pair(task, direction)) },
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
index 98ee4bf79..ad046884e 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt
@@ -86,9 +86,9 @@ open class TaskRecyclerViewFragment : BaseFragment? = when (this.taskType) {
- Task.TYPE_HABIT -> HabitsRecyclerViewAdapter(null, true, R.layout.habit_item_card, taskFilterHelper)
- Task.TYPE_DAILY -> DailiesRecyclerViewHolder(null, true, R.layout.daily_item_card, taskFilterHelper)
- Task.TYPE_TODO -> TodosRecyclerViewAdapter(null, true, R.layout.todo_item_card, taskFilterHelper)
+ Task.TYPE_HABIT -> HabitsRecyclerViewAdapter(R.layout.habit_item_card, taskFilterHelper)
+ Task.TYPE_DAILY -> DailiesRecyclerViewHolder(R.layout.daily_item_card, taskFilterHelper)
+ Task.TYPE_TODO -> TodosRecyclerViewAdapter(R.layout.todo_item_card, taskFilterHelper)
Task.TYPE_REWARD -> RewardsRecyclerViewAdapter(null, R.layout.reward_item_card)
else -> null
}
@@ -115,7 +115,6 @@ open class TaskRecyclerViewFragment : BaseFragment