Add per-event logging settings pages
This commit is contained in:
@@ -18,6 +18,7 @@ import androidx.drawerlayout.widget.DrawerLayout
|
||||
import androidx.fragment.app.commit
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import se.ajpanton.notificationlog.databinding.ActivityMainBinding
|
||||
import se.ajpanton.notificationlog.settings.LoggingType
|
||||
|
||||
class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
|
||||
private lateinit var binding: ActivityMainBinding
|
||||
@@ -92,7 +93,11 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
||||
syncDrawerSelection(itemId)
|
||||
val page = Page.fromMenuItem(itemId)
|
||||
supportFragmentManager.commit {
|
||||
replace(R.id.content_frame, PageFragment.newInstance(page.titleRes))
|
||||
replace(
|
||||
R.id.content_frame,
|
||||
page.loggingType?.let { EventSettingsFragment.newInstance(page.titleRes, it) }
|
||||
?: PageFragment.newInstance(page.titleRes),
|
||||
)
|
||||
runOnCommit(::applyPageTitleVisibility)
|
||||
}
|
||||
title = getString(page.titleRes)
|
||||
@@ -240,14 +245,18 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
|
||||
drawerToggle.drawerArrowDrawable.color = getColor(R.color.on_primary)
|
||||
}
|
||||
|
||||
private enum class Page(val menuId: Int, val titleRes: Int) {
|
||||
private enum class Page(
|
||||
val menuId: Int,
|
||||
val titleRes: Int,
|
||||
val loggingType: LoggingType? = null,
|
||||
) {
|
||||
VIEW_LOGS(R.id.nav_view_logs, R.string.page_view_logs),
|
||||
SETTINGS(R.id.nav_settings, R.string.page_settings),
|
||||
APPEARING(R.id.nav_appearing, R.string.page_appearing),
|
||||
DISAPPEARING(R.id.nav_disappearing, R.string.page_disappearing),
|
||||
TEXT_CONTENT(R.id.nav_text_content, R.string.page_text_content),
|
||||
IMAGE_CONTENT(R.id.nav_image_content, R.string.page_image_content),
|
||||
EDITS(R.id.nav_edits, R.string.page_edits),
|
||||
APPEARING(R.id.nav_appearing, R.string.page_appearing, LoggingType.APPEARING),
|
||||
DISAPPEARING(R.id.nav_disappearing, R.string.page_disappearing, LoggingType.DISAPPEARING),
|
||||
TEXT_CONTENT(R.id.nav_text_content, R.string.page_text_content, LoggingType.TEXT_CONTENT),
|
||||
IMAGE_CONTENT(R.id.nav_image_content, R.string.page_image_content, LoggingType.IMAGE_CONTENT),
|
||||
EDITS(R.id.nav_edits, R.string.page_edits, LoggingType.EDITS),
|
||||
;
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user