Remove dead code

Mostly from settings rewrite, but some other things too.
This commit is contained in:
arkon
2022-10-16 12:40:56 -04:00
parent 5c5468f9af
commit 69cdba71eb
56 changed files with 6 additions and 4397 deletions

View File

@@ -1,62 +0,0 @@
package eu.kanade.presentation.more.settings
import androidx.annotation.StringRes
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Search
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.res.stringResource
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
import eu.kanade.presentation.components.PreferenceRow
import eu.kanade.presentation.components.Scaffold
import eu.kanade.presentation.components.ScrollbarLazyColumn
import eu.kanade.tachiyomi.R
@Composable
fun SettingsMainScreen(
navigateUp: () -> Unit,
sections: List<SettingsSection>,
onClickSearch: () -> Unit,
) {
Scaffold(
topBar = { scrollBehavior ->
AppBar(
title = stringResource(R.string.label_settings),
navigateUp = navigateUp,
actions = {
AppBarActions(
listOf(
AppBar.Action(
title = stringResource(R.string.action_search),
icon = Icons.Outlined.Search,
onClick = onClickSearch,
),
),
)
},
scrollBehavior = scrollBehavior,
)
},
) { contentPadding ->
ScrollbarLazyColumn(
contentPadding = contentPadding,
) {
sections.map {
item {
PreferenceRow(
title = stringResource(it.titleRes),
painter = it.painter,
onClick = it.onClick,
)
}
}
}
}
}
data class SettingsSection(
@StringRes val titleRes: Int,
val painter: Painter,
val onClick: () -> Unit,
)

View File

@@ -1,116 +0,0 @@
package eu.kanade.presentation.more.settings
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.unit.dp
import eu.kanade.presentation.components.Scaffold
import eu.kanade.presentation.components.ScrollbarLazyColumn
import eu.kanade.presentation.components.SearchToolbar
import eu.kanade.presentation.util.horizontalPadding
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.setting.SettingsController
import eu.kanade.tachiyomi.ui.setting.search.SettingsSearchHelper
import eu.kanade.tachiyomi.ui.setting.search.SettingsSearchPresenter
import kotlin.reflect.full.createInstance
@Composable
fun SettingsSearchScreen(
navigateUp: () -> Unit,
presenter: SettingsSearchPresenter,
onClickResult: (SettingsController) -> Unit,
) {
val results by presenter.state.collectAsState()
var query by remember { mutableStateOf("") }
val keyboardController = LocalSoftwareKeyboardController.current
val focusManager = LocalFocusManager.current
Scaffold(
topBar = { scrollBehavior ->
SearchToolbar(
searchQuery = query,
onChangeSearchQuery = {
query = it
presenter.searchSettings(it)
},
placeholderText = stringResource(R.string.action_search_settings),
onClickCloseSearch = navigateUp,
onClickResetSearch = { query = "" },
scrollBehavior = scrollBehavior,
keyboardOptions = KeyboardOptions.Default.copy(
imeAction = ImeAction.Search,
),
keyboardActions = KeyboardActions(
onSearch = {
focusManager.clearFocus()
keyboardController?.hide()
},
),
)
},
) { contentPadding ->
ScrollbarLazyColumn(
contentPadding = contentPadding,
) {
items(
items = results,
key = { it.key.toString() },
) { result ->
SearchResult(result, onClickResult)
}
}
}
}
@Composable
private fun SearchResult(
result: SettingsSearchHelper.SettingsSearchResult,
onClickResult: (SettingsController) -> Unit,
) {
Column(
modifier = Modifier
.fillMaxWidth()
.clickable {
// Must pass a new Controller instance to avoid this error
// https://github.com/bluelinelabs/Conductor/issues/446
val controller = result.searchController::class.createInstance()
controller.preferenceKey = result.key
onClickResult(controller)
}
.padding(horizontal = horizontalPadding, vertical = 8.dp),
) {
Text(
text = result.title,
)
Text(
text = result.summary,
style = MaterialTheme.typography.bodySmall.copy(
color = MaterialTheme.colorScheme.outline,
),
)
Text(
text = result.breadcrumb,
style = MaterialTheme.typography.bodySmall,
)
}
}

View File

@@ -1,53 +0,0 @@
package eu.kanade.presentation.more.settings.database
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import eu.kanade.presentation.components.Scaffold
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseContent
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseDeleteDialog
import eu.kanade.presentation.more.settings.database.components.ClearDatabaseToolbar
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.setting.database.ClearDatabasePresenter
import eu.kanade.tachiyomi.util.system.toast
@Composable
fun ClearDatabaseScreen(
presenter: ClearDatabasePresenter,
navigateUp: () -> Unit,
) {
val context = LocalContext.current
Scaffold(
topBar = { scrollBehavior ->
ClearDatabaseToolbar(
state = presenter,
navigateUp = navigateUp,
onClickSelectAll = { presenter.selectAll() },
onClickInvertSelection = { presenter.invertSelection() },
scrollBehavior = scrollBehavior,
)
},
) { paddingValues ->
ClearDatabaseContent(
state = presenter,
contentPadding = paddingValues,
onClickSelection = { source ->
presenter.toggleSelection(source)
},
onClickDelete = {
presenter.dialog = ClearDatabasePresenter.Dialog.Delete(presenter.selection)
},
)
}
val dialog = presenter.dialog
if (dialog is ClearDatabasePresenter.Dialog.Delete) {
ClearDatabaseDeleteDialog(
onDismissRequest = { presenter.dialog = null },
onDelete = {
presenter.removeMangaBySourceId(dialog.sourceIds)
presenter.clearSelection()
presenter.dialog = null
context.toast(R.string.clear_database_completed)
},
)
}
}

View File

@@ -6,14 +6,13 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import eu.kanade.domain.source.model.SourceWithCount
import eu.kanade.tachiyomi.ui.setting.database.ClearDatabasePresenter
@Stable
interface ClearDatabaseState {
val items: List<SourceWithCount>
val selection: List<Long>
val isEmpty: Boolean
var dialog: ClearDatabasePresenter.Dialog?
var dialog: Dialog?
}
fun ClearDatabaseState(): ClearDatabaseState {
@@ -24,5 +23,9 @@ class ClearDatabaseStateImpl : ClearDatabaseState {
override var items: List<SourceWithCount> by mutableStateOf(emptyList())
override var selection: List<Long> by mutableStateOf(emptyList())
override val isEmpty: Boolean by derivedStateOf { items.isEmpty() }
override var dialog: ClearDatabasePresenter.Dialog? by mutableStateOf(null)
override var dialog: Dialog? by mutableStateOf(null)
}
sealed class Dialog {
data class Delete(val sourceIds: List<Long>) : Dialog()
}