mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
feat(message): add overflow menu to message screen (#2540)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
bbaac9e143
commit
26530cbe18
4 changed files with 282 additions and 262 deletions
|
|
@ -321,52 +321,46 @@ constructor(
|
|||
private val showPrecisionCircleOnMap =
|
||||
MutableStateFlow(preferences.getBoolean("show-precision-circle-on-map", true))
|
||||
|
||||
private val showIgnored = MutableStateFlow(preferences.getBoolean("show-ignored", false))
|
||||
private val _showIgnored = MutableStateFlow(preferences.getBoolean("show-ignored", false))
|
||||
val showIgnored: StateFlow<Boolean> = _showIgnored
|
||||
|
||||
fun toggleShowIgnored() {
|
||||
showIgnored.value = !showIgnored.value
|
||||
preferences.edit { putBoolean("show-ignored", showIgnored.value) }
|
||||
private val _showQuickChat = MutableStateFlow(preferences.getBoolean("show-quick-chat", false))
|
||||
val showQuickChat: StateFlow<Boolean> = _showQuickChat
|
||||
|
||||
private fun toggleBooleanPreference(
|
||||
state: MutableStateFlow<Boolean>,
|
||||
key: String,
|
||||
onChanged: (Boolean) -> Unit = {},
|
||||
) {
|
||||
val newValue = !state.value
|
||||
state.value = newValue
|
||||
preferences.edit { putBoolean(key, newValue) }
|
||||
onChanged(newValue)
|
||||
}
|
||||
|
||||
fun toggleShowIgnored() = toggleBooleanPreference(_showIgnored, "show-ignored")
|
||||
|
||||
fun toggleShowQuickChat() = toggleBooleanPreference(_showQuickChat, "show-quick-chat")
|
||||
|
||||
fun setSortOption(sort: NodeSortOption) {
|
||||
nodeSortOption.value = sort
|
||||
preferences.edit { putInt("node-sort-option", sort.ordinal) }
|
||||
}
|
||||
|
||||
fun toggleShowDetails() {
|
||||
showDetails.value = !showDetails.value
|
||||
preferences.edit { putBoolean("show-details", showDetails.value) }
|
||||
}
|
||||
fun toggleShowDetails() = toggleBooleanPreference(showDetails, "show-details")
|
||||
|
||||
fun toggleIncludeUnknown() {
|
||||
includeUnknown.value = !includeUnknown.value
|
||||
preferences.edit { putBoolean("include-unknown", includeUnknown.value) }
|
||||
}
|
||||
fun toggleIncludeUnknown() = toggleBooleanPreference(includeUnknown, "include-unknown")
|
||||
|
||||
fun toggleOnlyOnline() {
|
||||
onlyOnline.value = !onlyOnline.value
|
||||
preferences.edit { putBoolean("only-online", onlyOnline.value) }
|
||||
}
|
||||
fun toggleOnlyOnline() = toggleBooleanPreference(onlyOnline, "only-online")
|
||||
|
||||
fun toggleOnlyDirect() {
|
||||
onlyDirect.value = !onlyDirect.value
|
||||
preferences.edit { putBoolean("only-direct", onlyDirect.value) }
|
||||
}
|
||||
fun toggleOnlyDirect() = toggleBooleanPreference(onlyDirect, "only-direct")
|
||||
|
||||
fun setOnlyFavorites(value: Boolean) {
|
||||
onlyFavorites.value = value
|
||||
preferences.edit { putBoolean("only-favorites", onlyFavorites.value) }
|
||||
}
|
||||
fun toggleOnlyFavorites() = toggleBooleanPreference(onlyFavorites, "only-favorites")
|
||||
|
||||
fun setShowWaypointsOnMap(value: Boolean) {
|
||||
showWaypointsOnMap.value = value
|
||||
preferences.edit { putBoolean("show-waypoints-on-map", value) }
|
||||
}
|
||||
fun toggleShowWaypointsOnMap() = toggleBooleanPreference(showWaypointsOnMap, "show-waypoints-on-map")
|
||||
|
||||
fun setShowPrecisionCircleOnMap(value: Boolean) {
|
||||
showPrecisionCircleOnMap.value = value
|
||||
preferences.edit { putBoolean("show-precision-circle-on-map", value) }
|
||||
}
|
||||
fun toggleShowPrecisionCircleOnMap() =
|
||||
toggleBooleanPreference(showPrecisionCircleOnMap, "show-precision-circle-on-map")
|
||||
|
||||
data class NodeFilterState(
|
||||
val filterText: String,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue