diff --git a/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt b/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt index 4cb13d6d2..07a3d069a 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/cache/CacheDatabase.kt @@ -36,8 +36,8 @@ import org.oxycblt.musikr.metadata.Properties import org.oxycblt.musikr.pipeline.RawSong import org.oxycblt.musikr.tag.Date import org.oxycblt.musikr.tag.parse.ParsedTags -import org.oxycblt.musikr.tag.util.correctWhitespace -import org.oxycblt.musikr.tag.util.splitEscaped +import org.oxycblt.musikr.util.correctWhitespace +import org.oxycblt.musikr.util.splitEscaped @Database(entities = [CachedSong::class], version = 50, exportSchema = false) abstract class CacheDatabase : RoomDatabase() { diff --git a/musikr/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt b/musikr/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt index 559ed64ea..d1e5e6235 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/fs/MusicLocation.kt @@ -24,7 +24,7 @@ import android.net.Uri import android.provider.DocumentsContract import org.oxycblt.musikr.fs.path.DocumentPathFactory import org.oxycblt.musikr.fs.query.contentResolverSafe -import org.oxycblt.musikr.tag.util.splitEscaped +import org.oxycblt.musikr.util.splitEscaped class MusicLocation internal constructor(val uri: Uri, val path: Path) { override fun equals(other: Any?) = other is MusicLocation && uri == other.uri diff --git a/musikr/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt b/musikr/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt index 6dabfbaf3..448ea8b4f 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/playlist/m3u/M3U.kt @@ -33,7 +33,7 @@ import org.oxycblt.musikr.playlist.ExportConfig import org.oxycblt.musikr.playlist.ImportedPlaylist import org.oxycblt.musikr.playlist.PossiblePaths import org.oxycblt.musikr.tag.Name -import org.oxycblt.musikr.tag.util.correctWhitespace +import org.oxycblt.musikr.util.correctWhitespace import org.oxycblt.musikr.util.unlikelyToBeNull /** diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/util/ID3.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/format/ID3.kt similarity index 99% rename from musikr/src/main/java/org/oxycblt/musikr/tag/util/ID3.kt rename to musikr/src/main/java/org/oxycblt/musikr/tag/format/ID3.kt index e49a65f75..3712fc166 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/util/ID3.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/format/ID3.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package org.oxycblt.musikr.tag.util +package org.oxycblt.musikr.tag.format /// --- ID3v2 PARSING --- diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/util/Vorbis.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/format/Vorbis.kt similarity index 98% rename from musikr/src/main/java/org/oxycblt/musikr/tag/util/Vorbis.kt rename to musikr/src/main/java/org/oxycblt/musikr/tag/format/Vorbis.kt index 632a516c4..05c3e2793 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/util/Vorbis.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/format/Vorbis.kt @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package org.oxycblt.musikr.tag.util +package org.oxycblt.musikr.tag.format import org.oxycblt.musikr.util.positiveOrNull diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Separators.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Separators.kt index edde18804..fe3eb4282 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Separators.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/Separators.kt @@ -18,8 +18,8 @@ package org.oxycblt.musikr.tag.interpret -import org.oxycblt.musikr.tag.util.correctWhitespace -import org.oxycblt.musikr.tag.util.splitEscaped +import org.oxycblt.musikr.util.correctWhitespace +import org.oxycblt.musikr.util.splitEscaped /** * Defines the user-specified parsing of multi-value tags. This should be used to parse any tags diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt index de1e67abe..89de7fd62 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/interpret/TagInterpreter.kt @@ -27,7 +27,7 @@ import org.oxycblt.musikr.tag.Placeholder import org.oxycblt.musikr.tag.ReleaseType import org.oxycblt.musikr.tag.ReplayGainAdjustment import org.oxycblt.musikr.tag.parse.ParsedTags -import org.oxycblt.musikr.tag.util.parseId3GenreNames +import org.oxycblt.musikr.tag.format.parseId3GenreNames import org.oxycblt.musikr.util.toUuidOrNull interface TagInterpreter { diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt b/musikr/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt index 13a52b425..23ea14a18 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/tag/parse/ExoPlayerTagFields.kt @@ -21,8 +21,8 @@ package org.oxycblt.musikr.tag.parse import androidx.core.text.isDigitsOnly import org.oxycblt.musikr.metadata.Metadata import org.oxycblt.musikr.tag.Date -import org.oxycblt.musikr.tag.util.parseId3v2PositionField -import org.oxycblt.musikr.tag.util.parseXiphPositionField +import org.oxycblt.musikr.tag.format.parseId3v2PositionField +import org.oxycblt.musikr.tag.format.parseXiphPositionField import org.oxycblt.musikr.util.nonZeroOrNull // Song diff --git a/musikr/src/main/java/org/oxycblt/musikr/tag/util/Transform.kt b/musikr/src/main/java/org/oxycblt/musikr/util/ParseUtil.kt similarity index 70% rename from musikr/src/main/java/org/oxycblt/musikr/tag/util/Transform.kt rename to musikr/src/main/java/org/oxycblt/musikr/util/ParseUtil.kt index 48e690733..3a474a0c7 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/tag/util/Transform.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/util/ParseUtil.kt @@ -1,26 +1,4 @@ -/* - * Copyright (c) 2022 Auxio Project - * Transform.kt is part of Auxio. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.oxycblt.musikr.tag.util - -/// --- GENERIC PARSING --- - -// TODO: Remove the escaping checks, it's too expensive to do this for every single tag. +package org.oxycblt.musikr.util /** * Split a [String] by the given selector, automatically handling escaped characters that satisfy @@ -67,6 +45,8 @@ inline fun String.splitEscaped(selector: (Char) -> Boolean): List { return split } +// TODO: Remove the escaping checks, it's too expensive to do this for every single tag. + /** * Fix trailing whitespace or blank contents in a [String]. * diff --git a/musikr/src/test/java/org/oxycblt/musikr/tag/parse/TagUtilTest.kt b/musikr/src/test/java/org/oxycblt/musikr/tag/parse/TagUtilTest.kt index 1e59c3491..0eed70381 100644 --- a/musikr/src/test/java/org/oxycblt/musikr/tag/parse/TagUtilTest.kt +++ b/musikr/src/test/java/org/oxycblt/musikr/tag/parse/TagUtilTest.kt @@ -20,11 +20,11 @@ package org.oxycblt.musikr.tag.parse import org.junit.Assert.assertEquals import org.junit.Test -import org.oxycblt.musikr.tag.util.correctWhitespace -import org.oxycblt.musikr.tag.util.parseId3GenreNames -import org.oxycblt.musikr.tag.util.parseId3v2PositionField -import org.oxycblt.musikr.tag.util.parseXiphPositionField -import org.oxycblt.musikr.tag.util.splitEscaped +import org.oxycblt.musikr.util.correctWhitespace +import org.oxycblt.musikr.tag.format.parseId3GenreNames +import org.oxycblt.musikr.tag.format.parseId3v2PositionField +import org.oxycblt.musikr.tag.format.parseXiphPositionField +import org.oxycblt.musikr.util.splitEscaped class TagUtilTest { @Test