mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Improve new navigation
This commit is contained in:
parent
eb97b5c3ed
commit
69a539662d
27 changed files with 94 additions and 153 deletions
|
|
@ -14,6 +14,8 @@
|
|||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" tools:node="remove" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" tools:node="remove" />
|
||||
|
||||
|
||||
<application
|
||||
android:name=".HabiticaApplication"
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ android {
|
|||
buildConfigField "String", "STORE", "\"google\""
|
||||
multiDexEnabled true
|
||||
|
||||
versionCode 2040
|
||||
versionCode 2042
|
||||
versionName "1.7"
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
Habitica/res/drawable-xxhdpi/ic_action_filter_list.png
Normal file
BIN
Habitica/res/drawable-xxhdpi/ic_action_filter_list.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 107 B |
Binary file not shown.
|
Before Width: | Height: | Size: 70 B |
|
|
@ -36,6 +36,19 @@
|
|||
android:name="com.habitrpg.android.habitica.ui.fragments.social.party.PartyFragment"
|
||||
android:label="@string/sidebar.party">
|
||||
<deepLink app:uri="habitica.com/party" />
|
||||
<action
|
||||
android:id="@+id/openQuestDetail"
|
||||
app:destination="@id/questDetailFragment" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/questDetailFragment"
|
||||
android:name="com.habitrpg.android.habitica.ui.fragments.social.QuestDetailFragment">
|
||||
<argument
|
||||
android:name="partyID"
|
||||
app:argType="string"/>
|
||||
<argument
|
||||
android:name="questKey"
|
||||
app:argType="string"/>
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/skillsFragment"
|
||||
|
|
@ -67,7 +80,11 @@
|
|||
<fragment
|
||||
android:id="@+id/challengesOverviewFragment"
|
||||
android:name="com.habitrpg.android.habitica.ui.fragments.social.challenges.ChallengesOverviewFragment"
|
||||
android:label="@string/sidebar.challenges" />
|
||||
android:label="@string/sidebar.challenges" >
|
||||
<action
|
||||
android:id="@+id/openChallengeDetail"
|
||||
app:destination="@id/challengeDetailFragment" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/shopsFragment"
|
||||
android:name="com.habitrpg.android.habitica.ui.fragments.inventory.shops.ShopsFragment"
|
||||
|
|
@ -120,7 +137,7 @@
|
|||
android:name="com.habitrpg.android.habitica.ui.fragments.social.InboxFragment"
|
||||
android:label="@string/sidebar.inbox" >
|
||||
<action
|
||||
android:id="@+id/action_inboxFragment_to_inboxMessageListFragment"
|
||||
android:id="@+id/openInboxDetail"
|
||||
app:destination="@id/inboxMessageListFragment" />
|
||||
</fragment>
|
||||
<fragment
|
||||
|
|
@ -173,6 +190,9 @@
|
|||
<argument
|
||||
android:name="userID"
|
||||
app:argType="string" />
|
||||
<argument
|
||||
android:name="username"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/petDetailRecyclerFragment"
|
||||
|
|
@ -196,4 +216,16 @@
|
|||
android:name="group"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/challengeDetailFragment"
|
||||
android:name="com.habitrpg.android.habitica.ui.fragments.social.challenges.ChallengeDetailFragment"
|
||||
android:label="Challenge" >
|
||||
<argument
|
||||
android:name="challengeID"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
<activity
|
||||
android:id="@+id/taskFormActivity"
|
||||
android:name="com.habitrpg.android.habitica.ui.activities.TaskFormActivity"
|
||||
android:label="TaskFormActivity" />
|
||||
</navigation>
|
||||
|
|
@ -106,16 +106,14 @@ abstract class HabiticaBaseApplication : MultiDexApplication() {
|
|||
}
|
||||
|
||||
private fun setupInstabug() {
|
||||
if (BuildConfig.FLAVOR == "beta") {
|
||||
Instabug.Builder(this, getString(R.string.instabug_key))
|
||||
.setInvocationEvents(InstabugInvocationEvent.SHAKE)
|
||||
.setReproStepsState(State.ENABLED_WITH_NO_SCREENSHOTS)
|
||||
.build()
|
||||
Instabug.setWelcomeMessageState(WelcomeMessage.State.DISABLED)
|
||||
Instabug.setUserAttribute("", lazyApiHelper.hostConfig.user)
|
||||
BugReporting.setShakingThreshold(900)
|
||||
BugReporting.setPromptOptionsEnabled(PromptOption.BUG, PromptOption.FEEDBACK)
|
||||
}
|
||||
Instabug.Builder(this, getString(R.string.instabug_key))
|
||||
.setInvocationEvents(InstabugInvocationEvent.SHAKE)
|
||||
.setReproStepsState(State.ENABLED_WITH_NO_SCREENSHOTS)
|
||||
.build()
|
||||
Instabug.setWelcomeMessageState(WelcomeMessage.State.DISABLED)
|
||||
Instabug.setUserAttribute("", lazyApiHelper.hostConfig.user)
|
||||
BugReporting.setShakingThreshold(900)
|
||||
BugReporting.setPromptOptionsEnabled(PromptOption.BUG, PromptOption.FEEDBACK)
|
||||
}
|
||||
|
||||
protected open fun setupRealm() {
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
package com.habitrpg.android.habitica.events;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
|
||||
public class DisplayFragmentEvent {
|
||||
|
||||
public BaseMainFragment fragment;
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
package com.habitrpg.android.habitica.events;
|
||||
|
||||
import com.habitrpg.android.habitica.models.tasks.RemindersItem;
|
||||
|
||||
/**
|
||||
* Created by keithholliday on 7/16/16.
|
||||
*/
|
||||
public class ReminderDeleteEvent {
|
||||
public RemindersItem reminder;
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package com.habitrpg.android.habitica.events;
|
||||
|
||||
import com.habitrpg.android.habitica.models.tasks.Task;
|
||||
|
||||
/**
|
||||
* Created by Negue on 28.09.2015.
|
||||
*/
|
||||
public class TaskUpdatedEvent {
|
||||
public Task task;
|
||||
|
||||
public TaskUpdatedEvent(Task t) {
|
||||
task = t;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package com.habitrpg.android.habitica.events.commands;
|
||||
|
||||
/**
|
||||
* Created by Negue on 11.07.2015.
|
||||
*/
|
||||
public class AddNewTaskCommand {
|
||||
public String taskType;
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
package com.habitrpg.android.habitica.events.commands;
|
||||
|
||||
/**
|
||||
* Created by viirus on 15/01/16.
|
||||
*/
|
||||
public class UnlockPathCommand {
|
||||
|
||||
public String path;
|
||||
public double balanceDiff;
|
||||
|
||||
}
|
||||
|
|
@ -6,11 +6,9 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
import android.provider.Settings.Global.putLong
|
||||
import androidx.core.content.edit
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.habitrpg.android.habitica.data.TaskRepository
|
||||
import com.habitrpg.android.habitica.events.ReminderDeleteEvent
|
||||
import com.habitrpg.android.habitica.models.tasks.RemindersItem
|
||||
import com.habitrpg.android.habitica.models.tasks.Task
|
||||
import com.habitrpg.android.habitica.receivers.NotificationPublisher
|
||||
|
|
@ -18,22 +16,11 @@ import com.habitrpg.android.habitica.receivers.TaskReceiver
|
|||
import io.reactivex.Flowable
|
||||
import io.reactivex.functions.Consumer
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import java.util.*
|
||||
|
||||
class TaskAlarmManager(private var context: Context, private var taskRepository: TaskRepository, private var userId: String) {
|
||||
private val am: AlarmManager? = context.getSystemService(Context.ALARM_SERVICE) as? AlarmManager
|
||||
|
||||
init {
|
||||
EventBus.getDefault().register(this)
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
fun onEvent(event: ReminderDeleteEvent) {
|
||||
val remindersItem = event.reminder
|
||||
this.removeAlarmForRemindersItem(remindersItem)
|
||||
}
|
||||
|
||||
private fun setAlarmsForTask(task: Task) {
|
||||
task.reminders?.let {
|
||||
for (reminder in it) {
|
||||
|
|
@ -45,7 +32,6 @@ class TaskAlarmManager(private var context: Context, private var taskRepository:
|
|||
this.setAlarmForRemindersItem(task, currentReminder)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun removeAlarmsForTask(task: Task) {
|
||||
|
|
|
|||
|
|
@ -379,30 +379,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction {
|
|||
findNavController(R.id.nav_host_fragment).navigate(transitionId)
|
||||
}
|
||||
|
||||
@SuppressLint("ObsoleteSdkInt")
|
||||
fun displayFragment(fragment: BaseMainFragment) {
|
||||
if (fragment.javaClass == this.activeFragment?.get()?.javaClass) {
|
||||
return
|
||||
}
|
||||
if (SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && this.isDestroyed) {
|
||||
return
|
||||
}
|
||||
makeActiveFragment(fragment)
|
||||
|
||||
|
||||
/*if (supportFragmentManager.fragments == null) {
|
||||
supportFragmentManager.beginTransaction().add(R.id.fragment_container, fragment).commitAllowingStateLoss()
|
||||
} else {
|
||||
val transaction = supportFragmentManager.beginTransaction()
|
||||
transaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out, android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
transaction.replace(R.id.fragment_container, fragment)
|
||||
if (fragment.addToBackStack()) {
|
||||
transaction.addToBackStack(null)
|
||||
}
|
||||
transaction.commitAllowingStateLoss()
|
||||
}*/
|
||||
}
|
||||
|
||||
private fun setUserData() {
|
||||
if (user != null) {
|
||||
val preferences = user?.preferences
|
||||
|
|
|
|||
|
|
@ -97,10 +97,6 @@ class StableRecyclerAdapter : androidx.recyclerview.widget.RecyclerView.Adapter<
|
|||
if (animal.numberOwned > 0) {
|
||||
if (itemType == "pets") {
|
||||
MainNavigationController.navigate(StableFragmentDirections.openPetDetail(animal.animal, animal.animalGroup))
|
||||
val fragment = PetDetailRecyclerFragment()
|
||||
fragment.animalType = animal.animal
|
||||
fragment.animalGroup = animal.animalGroup
|
||||
activity?.displayFragment(fragment)
|
||||
} else {
|
||||
MainNavigationController.navigate(StableFragmentDirections.openMountDetail(animal.animal, animal.animalGroup))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import android.widget.Filterable
|
|||
import android.widget.TextView
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.data.ApiClient
|
||||
import com.habitrpg.android.habitica.events.DisplayFragmentEvent
|
||||
import com.habitrpg.android.habitica.extensions.inflate
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
|
|
|
|||
|
|
@ -9,11 +9,13 @@ import android.view.ViewGroup
|
|||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.AppComponent
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.inventory.Equipment
|
||||
import com.habitrpg.android.habitica.models.user.Items
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.EquipmentRecyclerViewAdapter
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarCustomizationFragmentArgs
|
||||
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
|
||||
import io.reactivex.functions.Consumer
|
||||
import io.realm.RealmResults
|
||||
|
|
@ -47,6 +49,13 @@ class EquipmentDetailFragment : BaseMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
arguments.notNull {
|
||||
val args = EquipmentDetailFragmentArgs.fromBundle(it)
|
||||
type = args.type
|
||||
isCostume = args.isCostume
|
||||
equippedGear = args.equippedGear
|
||||
}
|
||||
|
||||
recyclerView.adapter = this.adapter
|
||||
recyclerView.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
|
||||
recyclerView.addItemDecoration(androidx.recyclerview.widget.DividerItemDecoration(getActivity(), androidx.recyclerview.widget.DividerItemDecoration.VERTICAL))
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import com.habitrpg.android.habitica.extensions.notNull
|
|||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.MountDetailRecyclerAdapter
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarCustomizationFragmentArgs
|
||||
import com.habitrpg.android.habitica.ui.helpers.MarginDecoration
|
||||
import com.habitrpg.android.habitica.ui.helpers.SafeDefaultItemAnimator
|
||||
import com.habitrpg.android.habitica.ui.helpers.bindView
|
||||
|
|
@ -49,6 +50,13 @@ class MountDetailRecyclerFragment : BaseMainFragment() {
|
|||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
arguments.notNull {
|
||||
val args = MountDetailRecyclerFragmentArgs.fromBundle(it)
|
||||
animalGroup = args.group
|
||||
animalType = args.type
|
||||
}
|
||||
|
||||
layoutManager = androidx.recyclerview.widget.GridLayoutManager(activity, 2)
|
||||
recyclerView.layoutManager = layoutManager
|
||||
recyclerView.addItemDecoration(MarginDecoration(activity))
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.components.AppComponent
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.events.commands.FeedCommand
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.inventory.Mount
|
||||
import com.habitrpg.android.habitica.models.inventory.Pet
|
||||
|
|
@ -60,6 +61,12 @@ class PetDetailRecyclerFragment : BaseMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
arguments.notNull {
|
||||
val args = MountDetailRecyclerFragmentArgs.fromBundle(it)
|
||||
animalGroup = args.group
|
||||
animalType = args.type
|
||||
}
|
||||
|
||||
resetViews()
|
||||
|
||||
layoutManager = androidx.recyclerview.widget.GridLayoutManager(getActivity(), 2)
|
||||
|
|
|
|||
|
|
@ -163,10 +163,7 @@ class InboxFragment : BaseMainFragment(), androidx.swiperefreshlayout.widget.Swi
|
|||
}
|
||||
|
||||
private fun openInboxMessages(userID: String, username: String) {
|
||||
MainNavigationController.navigate(R.id.prefsActivity)
|
||||
val inboxMessageListFragment = InboxMessageListFragment()
|
||||
inboxMessageListFragment.setReceivingUser(username, userID)
|
||||
this.activity?.displayFragment(inboxMessageListFragment)
|
||||
MainNavigationController.navigate(InboxFragmentDirections.openInboxDetail(userID, username))
|
||||
}
|
||||
|
||||
override fun customTitle(): String {
|
||||
|
|
|
|||
|
|
@ -4,12 +4,10 @@ import android.content.ClipData
|
|||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import com.habitrpg.android.habitica.R
|
||||
import com.habitrpg.android.habitica.components.AppComponent
|
||||
import com.habitrpg.android.habitica.data.SocialRepository
|
||||
|
|
@ -57,6 +55,11 @@ class InboxMessageListFragment : BaseMainFragment(), androidx.swiperefreshlayout
|
|||
super.onViewCreated(view, savedInstanceState)
|
||||
swipeRefreshLayout?.setOnRefreshListener(this)
|
||||
|
||||
arguments.notNull {
|
||||
val args = InboxMessageListFragmentArgs.fromBundle(it)
|
||||
setReceivingUser(args.username, args.userID)
|
||||
}
|
||||
|
||||
val layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this.getActivity())
|
||||
recyclerView.layoutManager = layoutManager
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,12 @@ class QuestDetailFragment : BaseMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
arguments.notNull {
|
||||
val args = QuestDetailFragmentArgs.fromBundle(it)
|
||||
partyId = args.partyID
|
||||
questKey = args.questKey
|
||||
}
|
||||
|
||||
resetViews()
|
||||
|
||||
questAcceptButton?.setOnClickListener { onQuestAccept() }
|
||||
|
|
|
|||
|
|
@ -79,6 +79,11 @@ class ChallengeDetailFragment: BaseMainFragment() {
|
|||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
arguments.notNull {
|
||||
val args = ChallengeDetailFragmentArgs.fromBundle(it)
|
||||
challengeID = args.challengeID
|
||||
}
|
||||
|
||||
gemAmountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfGem_36())
|
||||
memberCountIconView?.setImageBitmap(HabiticaIconsHelper.imageOfParticipantsIcon())
|
||||
challengeDescription?.movementMethod = LinkMovementMethod.getInstance()
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.habitrpg.android.habitica.components.AppComponent
|
|||
import com.habitrpg.android.habitica.data.ChallengeRepository
|
||||
import com.habitrpg.android.habitica.extensions.inflate
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.social.Challenge
|
||||
import com.habitrpg.android.habitica.modules.AppModule
|
||||
|
|
@ -89,9 +90,7 @@ class ChallengeListFragment : BaseMainFragment(), androidx.swiperefreshlayout.wi
|
|||
}
|
||||
|
||||
private fun openDetailFragment(challengeID: String) {
|
||||
val detailFragment = ChallengeDetailFragment()
|
||||
detailFragment.challengeID = challengeID
|
||||
this.activity?.displayFragment(detailFragment)
|
||||
MainNavigationController.navigate(ChallengesOverviewFragmentDirections.openChallengeDetail(challengeID))
|
||||
}
|
||||
|
||||
override fun injectFragment(component: AppComponent) {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.components.AppComponent
|
||||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.MainNavigationController
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestContent
|
||||
import com.habitrpg.android.habitica.models.social.Group
|
||||
|
|
@ -221,13 +222,8 @@ class PartyDetailFragment constructor(private val viewModel: PartyViewModel) : B
|
|||
}
|
||||
|
||||
private fun questDetailButtonClicked() {
|
||||
val fragment = QuestDetailFragment()
|
||||
val party = viewModel.getGroupData().value
|
||||
fragment.partyId = party?.id
|
||||
fragment.questKey = party?.quest?.key
|
||||
if (activity != null) {
|
||||
val activity = activity as? MainActivity
|
||||
activity?.displayFragment(fragment)
|
||||
viewModel.getGroupData().value.notNull { party ->
|
||||
MainNavigationController.navigate(PartyFragmentDirections.openQuestDetail(party.id, party.quest?.key ?: ""))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@ package com.habitrpg.android.habitica.ui.fragments.tasks
|
|||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.ItemTouchHelper
|
||||
import android.util.TypedValue
|
||||
import android.view.LayoutInflater
|
||||
|
|
@ -17,7 +14,6 @@ import com.habitrpg.android.habitica.data.ApiClient
|
|||
import com.habitrpg.android.habitica.data.InventoryRepository
|
||||
import com.habitrpg.android.habitica.data.TaskRepository
|
||||
import com.habitrpg.android.habitica.data.UserRepository
|
||||
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.helpers.TaskFilterHelper
|
||||
|
|
@ -32,13 +28,12 @@ import com.habitrpg.android.habitica.ui.viewHolders.tasks.BaseTaskViewHolder
|
|||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.functions.Consumer
|
||||
import kotlinx.android.synthetic.main.fragment_refresh_recyclerview.*
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Named
|
||||
|
||||
open class TaskRecyclerViewFragment : BaseFragment(), View.OnClickListener, androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener {
|
||||
open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener {
|
||||
var recyclerAdapter: TaskRecyclerViewAdapter? = null
|
||||
@field:[Inject Named(AppModule.NAMED_USER_ID)]
|
||||
lateinit var userID: String
|
||||
|
|
@ -251,13 +246,6 @@ open class TaskRecyclerViewFragment : BaseFragment(), View.OnClickListener, andr
|
|||
outState.putString(CLASS_TYPE_KEY, this.classType)
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val event = AddNewTaskCommand()
|
||||
event.taskType = this.classType
|
||||
|
||||
EventBus.getDefault().post(event)
|
||||
}
|
||||
|
||||
override val displayedClassName: String?
|
||||
get() = this.classType + super.displayedClassName
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@ package com.habitrpg.android.habitica.ui.fragments.tasks
|
|||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentPagerAdapter
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import android.view.*
|
||||
import com.github.clans.fab.FloatingActionButton
|
||||
import com.github.clans.fab.FloatingActionMenu
|
||||
|
|
@ -14,7 +12,6 @@ import com.habitrpg.android.habitica.R
|
|||
import com.habitrpg.android.habitica.components.AppComponent
|
||||
import com.habitrpg.android.habitica.data.TagRepository
|
||||
import com.habitrpg.android.habitica.events.TaskTappedEvent
|
||||
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand
|
||||
import com.habitrpg.android.habitica.extensions.notNull
|
||||
import com.habitrpg.android.habitica.helpers.RxErrorHandler
|
||||
import com.habitrpg.android.habitica.helpers.TaskFilterHelper
|
||||
|
|
@ -324,11 +321,6 @@ class TasksFragment : BaseMainFragment() {
|
|||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
fun onEvent(event: AddNewTaskCommand) {
|
||||
openNewTaskActivity(event.taskType.toLowerCase(Locale.US))
|
||||
}
|
||||
|
||||
//endregion Events
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1 @@
|
|||
This update fixes various bugs and adds support for an upcoming feature.
|
||||
|
||||
This update also reworks a lot of the internals for the party view, to make it more reliable. Please report any new oddities on that screen.
|
||||
|
||||
Daily reminders have also been reworked and should now work better and not notify every day.
|
||||
|
||||
NEW:
|
||||
- Add Cat support (Can you find it?)
|
||||
This update brings a new navigation architecture, which is the groundwork for additional features like in-app linking and deep links. If there are any views that do not open correctly anymore or any new issues that seem releated to navigation, please let us know.
|
||||
|
|
|
|||
Loading…
Reference in a new issue