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