mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-07 01:28:52 -06:00
Remove BaseMenu
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
package org.isoron.uhabits.activities.habits.list
|
||||
|
||||
import android.os.*
|
||||
import android.view.*
|
||||
import kotlinx.coroutines.*
|
||||
import org.isoron.uhabits.*
|
||||
import org.isoron.uhabits.activities.*
|
||||
@@ -43,6 +44,8 @@ class ListHabitsActivity : HabitsActivity() {
|
||||
lateinit var syncManager: SyncManager
|
||||
private val scope = CoroutineScope(Dispatchers.Main)
|
||||
|
||||
private lateinit var menu: ListHabitsMenu
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
prefs = appComponent.preferences
|
||||
@@ -53,6 +56,7 @@ class ListHabitsActivity : HabitsActivity() {
|
||||
screen = component.listHabitsScreen
|
||||
adapter = component.habitCardListAdapter
|
||||
taskRunner = appComponent.taskRunner
|
||||
menu = component.listHabitsMenu
|
||||
|
||||
setScreen(screen)
|
||||
component.listHabitsBehavior.onStartup()
|
||||
@@ -85,4 +89,13 @@ class ListHabitsActivity : HabitsActivity() {
|
||||
}
|
||||
super.onResume()
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(m: Menu): Boolean {
|
||||
menu.onCreate(menuInflater, m)
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
return menu.onItemSelected(item)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,23 +29,24 @@ import javax.inject.*
|
||||
|
||||
@ActivityScope
|
||||
class ListHabitsMenu @Inject constructor(
|
||||
activity: BaseActivity,
|
||||
private val activity: BaseActivity,
|
||||
private val preferences: Preferences,
|
||||
private val themeSwitcher: ThemeSwitcher,
|
||||
private val behavior: ListHabitsMenuBehavior
|
||||
) : BaseMenu(activity){
|
||||
) {
|
||||
|
||||
override fun onCreate(menu: Menu) {
|
||||
fun onCreate(inflater: MenuInflater, menu: Menu) {
|
||||
menu.clear()
|
||||
inflater.inflate(R.menu.list_habits, menu)
|
||||
val nightModeItem = menu.findItem(R.id.actionToggleNightMode)
|
||||
val hideArchivedItem = menu.findItem(R.id.actionHideArchived)
|
||||
val hideCompletedItem = menu.findItem(R.id.actionHideCompleted)
|
||||
|
||||
nightModeItem.isChecked = themeSwitcher.isNightMode
|
||||
hideArchivedItem.isChecked = !preferences.showArchived
|
||||
hideCompletedItem.isChecked = !preferences.showCompleted
|
||||
}
|
||||
|
||||
override fun onItemSelected(item: MenuItem): Boolean {
|
||||
fun onItemSelected(item: MenuItem): Boolean {
|
||||
when (item.itemId) {
|
||||
R.id.actionToggleNightMode -> {
|
||||
behavior.onToggleNightMode()
|
||||
@@ -74,13 +75,13 @@ class ListHabitsMenu @Inject constructor(
|
||||
|
||||
R.id.actionHideArchived -> {
|
||||
behavior.onToggleShowArchived()
|
||||
invalidate()
|
||||
activity.invalidateOptionsMenu()
|
||||
return true
|
||||
}
|
||||
|
||||
R.id.actionHideCompleted -> {
|
||||
behavior.onToggleShowCompleted()
|
||||
invalidate()
|
||||
activity.invalidateOptionsMenu()
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -112,6 +113,4 @@ class ListHabitsMenu @Inject constructor(
|
||||
else -> return false
|
||||
}
|
||||
}
|
||||
|
||||
override fun getMenuResourceId() = R.menu.list_habits
|
||||
}
|
||||
|
||||
@@ -67,7 +67,6 @@ class ListHabitsScreen
|
||||
private val colorPickerFactory: ColorPickerDialogFactory,
|
||||
private val numberPickerFactory: NumberPickerFactory,
|
||||
private val behavior: Lazy<ListHabitsBehavior>,
|
||||
private val menu: Lazy<ListHabitsMenu>,
|
||||
private val selectionMenu: Lazy<ListHabitsSelectionMenu>
|
||||
) : BaseScreen(activity),
|
||||
CommandRunner.Listener,
|
||||
@@ -80,7 +79,6 @@ class ListHabitsScreen
|
||||
}
|
||||
|
||||
fun onAttached() {
|
||||
setMenu(menu.get())
|
||||
setSelectionMenu(selectionMenu.get())
|
||||
commandRunner.addListener(this)
|
||||
if(activity.intent.action == "android.intent.action.VIEW") {
|
||||
|
||||
Reference in New Issue
Block a user