From b4394c3a4a09f9e63c3abeeb26f523bd0619dd77 Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Tue, 4 Jul 2023 15:16:08 -0600 Subject: [PATCH] util: fix horrible numeric function naming "nonZeroOrNull" is actuallly more apt as "positiveOrNull". --- .../java/org/oxycblt/auxio/home/list/ArtistListFragment.kt | 4 ++-- .../java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt | 4 ++-- app/src/main/java/org/oxycblt/auxio/music/info/Date.kt | 4 ++-- .../main/java/org/oxycblt/auxio/music/metadata/TagUtil.kt | 4 ++-- .../main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt | 6 +----- app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt | 4 ++-- 6 files changed, 11 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt index c17cef002..878cfc3fe 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt @@ -45,7 +45,7 @@ import org.oxycblt.auxio.music.Song import org.oxycblt.auxio.playback.PlaybackViewModel import org.oxycblt.auxio.playback.formatDurationMs import org.oxycblt.auxio.util.collectImmediately -import org.oxycblt.auxio.util.nonZeroOrNull +import org.oxycblt.auxio.util.positiveOrNull /** * A [ListFragment] that shows a list of [Artist]s. @@ -104,7 +104,7 @@ class ArtistListFragment : is Sort.Mode.ByDuration -> artist.durationMs?.formatDurationMs(false) // Count -> Use song count - is Sort.Mode.ByCount -> artist.songs.size.nonZeroOrNull()?.toString() + is Sort.Mode.ByCount -> artist.songs.size.positiveOrNull()?.toString() // Unsupported sort, error gracefully else -> null diff --git a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt index 354f6520f..2f12b7290 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt @@ -39,7 +39,7 @@ import org.oxycblt.auxio.music.info.ReleaseType import org.oxycblt.auxio.music.metadata.parseId3GenreNames import org.oxycblt.auxio.music.metadata.parseMultiValue import org.oxycblt.auxio.playback.replaygain.ReplayGainAdjustment -import org.oxycblt.auxio.util.nonZeroOrNull +import org.oxycblt.auxio.util.positiveOrNull import org.oxycblt.auxio.util.toUuidOrNull import org.oxycblt.auxio.util.unlikelyToBeNull import org.oxycblt.auxio.util.update @@ -407,7 +407,7 @@ class ArtistImpl(grouping: Grouping, musicSettings: MusicSetti albums = albumMap.keys explicitAlbums = albums.filterTo(mutableSetOf()) { albumMap[it] == true } implicitAlbums = albums.filterNotTo(mutableSetOf()) { albumMap[it] == true } - durationMs = songs.sumOf { it.durationMs }.nonZeroOrNull() + durationMs = songs.sumOf { it.durationMs }.positiveOrNull() hashCode = 31 * hashCode + rawArtist.hashCode() hashCode = 31 * hashCode + songs.hashCode() diff --git a/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt b/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt index 860b3e315..783b1356a 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/info/Date.kt @@ -25,7 +25,7 @@ import kotlin.math.max import org.oxycblt.auxio.R import org.oxycblt.auxio.util.inRangeOrNull import org.oxycblt.auxio.util.logE -import org.oxycblt.auxio.util.nonZeroOrNull +import org.oxycblt.auxio.util.positiveOrNull /** * An ISO-8601/RFC 3339 Date. @@ -247,7 +247,7 @@ class Date private constructor(private val tokens: List) : Comparable * @param dst The destination list to add valid tokens to. */ private fun transformTokens(src: List, dst: MutableList) { - dst.add(src.getOrNull(0)?.nonZeroOrNull() ?: return) + dst.add(src.getOrNull(0)?.positiveOrNull() ?: return) dst.add(src.getOrNull(1)?.inRangeOrNull(1..12) ?: return) dst.add(src.getOrNull(2)?.inRangeOrNull(1..31) ?: return) dst.add(src.getOrNull(3)?.inRangeOrNull(0..23) ?: return) diff --git a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagUtil.kt b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagUtil.kt index c4f20df4a..ebc5b6bc6 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagUtil.kt @@ -19,7 +19,7 @@ package org.oxycblt.auxio.music.metadata import org.oxycblt.auxio.music.MusicSettings -import org.oxycblt.auxio.util.nonZeroOrNull +import org.oxycblt.auxio.util.positiveOrNull /// --- GENERIC PARSING --- @@ -154,7 +154,7 @@ fun parseVorbisPositionField(pos: String?, total: String?) = * - The position was zeroed AND the total value was not present/zeroed */ fun transformPositionField(pos: Int?, total: Int?) = - if (pos != null && (pos > 0 || (total?.nonZeroOrNull() != null))) { + if (pos != null && (pos > 0 || (total?.positiveOrNull() != null))) { pos } else { null diff --git a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt index b37ef122e..fae02585e 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/metadata/TagWorker.kt @@ -314,11 +314,7 @@ private class TagWorkerImpl( * @return A parsed adjustment float, or null if the adjustment had invalid formatting. */ private fun List.parseReplayGainAdjustment() = - first() - .replace(REPLAYGAIN_ADJUSTMENT_FILTER_REGEX, "") - .toFloatOrNull() - ?.nonZeroOrNull() - .also { logD(it) } + first().replace(REPLAYGAIN_ADJUSTMENT_FILTER_REGEX, "").toFloatOrNull()?.nonZeroOrNull() private companion object { val COMPILATION_ALBUM_ARTISTS = listOf("Various Artists") diff --git a/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt b/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt index de542ef9b..d1b0125eb 100644 --- a/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt +++ b/app/src/main/java/org/oxycblt/auxio/util/LangUtil.kt @@ -41,14 +41,14 @@ fun unlikelyToBeNull(value: T?) = * * @return The given number if it's non-zero, null otherwise. */ -fun Int.nonZeroOrNull() = if (this > 0) this else null +fun Int.positiveOrNull() = if (this > 0) this else null /** * Aliases a check to ensure that the given number is non-zero. * * @return The same number if it's non-zero, null otherwise. */ -fun Long.nonZeroOrNull() = if (this > 0) this else null +fun Long.positiveOrNull() = if (this > 0) this else null /** * Aliases a check to ensure that the given number is non-zero.