all: fix lints
Fix lints that have accumulated over time. Apparently Android Studio just...stopped using lints. For no reason. I had to upgrade to the beta version to actually get lints.
This commit is contained in:
parent
f6429a878a
commit
4af45031b0
46 changed files with 82 additions and 124 deletions
|
@ -17,7 +17,7 @@ android {
|
|||
// API 33 is still busted, waiting until the XML element issue is fixed
|
||||
// noinspection OldTargetApi
|
||||
minSdk 21
|
||||
targetSdk 33
|
||||
targetSdk 32
|
||||
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
|
|
|
@ -284,7 +284,6 @@ class HomeFragment : ViewBindingFragment<FragmentHomeBinding>(), Toolbar.OnMenuI
|
|||
logD("Received non-ok response $response")
|
||||
|
||||
when (response) {
|
||||
is Indexer.Response.Ok -> error("Unreachable")
|
||||
is Indexer.Response.Err -> {
|
||||
binding.homeIndexingProgress.visibility = View.INVISIBLE
|
||||
binding.homeIndexingStatus.textSafe = getString(R.string.err_index_failed)
|
||||
|
@ -315,6 +314,7 @@ class HomeFragment : ViewBindingFragment<FragmentHomeBinding>(), Toolbar.OnMenuI
|
|||
}
|
||||
}
|
||||
}
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -168,7 +168,7 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleRes: Int = 0)
|
|||
}
|
||||
|
||||
companion object {
|
||||
// Cache sqrt(2) for faster calculations
|
||||
private const val SQRT2 = 1.4142135623730950488f
|
||||
// Pre-calculate sqrt(2) for faster drawing
|
||||
private const val SQRT2 = 1.4142135f
|
||||
}
|
||||
}
|
||||
|
|
|
@ -160,20 +160,11 @@ abstract class BaseFetcher : Fetcher {
|
|||
else -> continue
|
||||
}
|
||||
|
||||
// Ensure the picture type here is a front cover image so that we don't extract
|
||||
// an incorrect cover image.
|
||||
// Yes, this does add some latency, but its quality covers so we can prioritize
|
||||
// correctness over speed.
|
||||
if (type == MediaMetadata.PICTURE_TYPE_FRONT_COVER) {
|
||||
logD("Front cover successfully found")
|
||||
|
||||
// We have a front cover image. Great.
|
||||
logD("Front cover found")
|
||||
stream = ByteArrayInputStream(pic)
|
||||
break
|
||||
} else if (stream != null) {
|
||||
// In the case a front cover is not found, use the first image in the tag instead.
|
||||
// This can be corrected later on if a front cover frame is found.
|
||||
logW("No front cover image, using image of type $type instead")
|
||||
} else if (stream == null) {
|
||||
stream = ByteArrayInputStream(pic)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ data class Directory(val volume: StorageVolume, val relativePath: String) {
|
|||
|
||||
val volume =
|
||||
when (split[0]) {
|
||||
DOCUMENT_URI_PRIMARY_NAME -> storageManager.primaryStorageVolume
|
||||
DOCUMENT_URI_PRIMARY_NAME -> storageManager.primaryStorageVolumeCompat
|
||||
else -> storageManager.storageVolumesCompat.find { it.uuidCompat == split[0] }
|
||||
}
|
||||
|
||||
|
@ -84,10 +84,17 @@ data class Directory(val volume: StorageVolume, val relativePath: String) {
|
|||
}
|
||||
}
|
||||
|
||||
@Suppress("NewApi")
|
||||
private val SM_API21_GET_VOLUME_LIST_METHOD: Method by
|
||||
lazyReflectedMethod(StorageManager::class, "getVolumeList")
|
||||
|
||||
@Suppress("NewApi")
|
||||
private val SV_API21_GET_PATH_METHOD: Method by lazyReflectedMethod(StorageVolume::class, "getPath")
|
||||
|
||||
/** The "primary" storage volume containing the OS. May be an SD Card. */
|
||||
val StorageManager.primaryStorageVolumeCompat: StorageVolume
|
||||
@Suppress("NewApi") get() = primaryStorageVolume
|
||||
|
||||
/**
|
||||
* A list of recognized volumes, retrieved in a compatible manner. Note that these volumes may be
|
||||
* mounted or unmounted.
|
||||
|
@ -158,6 +165,7 @@ val StorageVolume.mediaStoreVolumeNameCompat: String?
|
|||
} else {
|
||||
// Replicate API: primary_external if primary storage, lowercase uuid otherwise
|
||||
if (isPrimaryCompat) {
|
||||
@Suppress("NewApi") // Inlined constant
|
||||
MediaStore.VOLUME_EXTERNAL_PRIMARY
|
||||
} else {
|
||||
uuidCompat?.lowercase()
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
|
||||
package org.oxycblt.auxio.music.system
|
||||
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import org.oxycblt.auxio.BuildConfig
|
||||
import org.oxycblt.auxio.IntegerTable
|
||||
import org.oxycblt.auxio.R
|
||||
|
@ -90,4 +90,4 @@ private val INDEXER_CHANNEL =
|
|||
ServiceNotification.ChannelInfo(
|
||||
id = BuildConfig.APPLICATION_ID + ".channel.INDEXER",
|
||||
R.string.info_indexer_channel_name,
|
||||
NotificationManager.IMPORTANCE_LOW)
|
||||
NotificationManagerCompat.IMPORTANCE_LOW)
|
||||
|
|
|
@ -75,7 +75,7 @@ class IndexerService : Service(), Indexer.Controller, Settings.Callback {
|
|||
wakeLock =
|
||||
getSystemServiceSafe(PowerManager::class)
|
||||
.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ".IndexerService")
|
||||
PowerManager.PARTIAL_WAKE_LOCK, BuildConfig.APPLICATION_ID + ":IndexerService")
|
||||
|
||||
settings = Settings(this, this)
|
||||
indexerContentObserver = SystemContentObserver()
|
||||
|
@ -200,7 +200,9 @@ class IndexerService : Service(), Indexer.Controller, Settings.Callback {
|
|||
private fun PowerManager.WakeLock.acquireSafe() {
|
||||
if (!wakeLock.isHeld) {
|
||||
logD("Acquiring wake lock")
|
||||
acquire()
|
||||
|
||||
// We always drop the wakelock eventually. Timeout is not needed.
|
||||
@Suppress("WakelockTimeout") acquire()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
package org.oxycblt.auxio.playback.system
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.support.v4.media.MediaMetadataCompat
|
||||
import android.support.v4.media.session.MediaSessionCompat
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import androidx.media.app.NotificationCompat.MediaStyle
|
||||
import org.oxycblt.auxio.BuildConfig
|
||||
import org.oxycblt.auxio.IntegerTable
|
||||
|
@ -154,6 +154,6 @@ class NotificationComponent(private val context: Context, sessionToken: MediaSes
|
|||
ChannelInfo(
|
||||
id = BuildConfig.APPLICATION_ID + ".channel.PLAYBACK",
|
||||
nameRes = R.string.info_playback_channel_name,
|
||||
importance = NotificationManager.IMPORTANCE_LOW)
|
||||
importance = NotificationManagerCompat.IMPORTANCE_LOW)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -358,8 +358,7 @@ data class Sort(val mode: Mode, val isAscending: Boolean) {
|
|||
aSortName.compareTo(bSortName, ignoreCase = true)
|
||||
aSortName == null && bSortName != null -> -1 // a < b
|
||||
aSortName == null && bSortName == null -> 0 // a = b
|
||||
aSortName != null && bSortName == null -> 1 // a < b
|
||||
else -> error("Unreachable")
|
||||
else -> 1 // a < b
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -377,8 +376,7 @@ data class Sort(val mode: Mode, val isAscending: Boolean) {
|
|||
a != null && b != null -> a.compareTo(b)
|
||||
a == null && b != null -> -1 // a < b
|
||||
a == null && b == null -> 0 // a = b
|
||||
a != null && b == null -> 1 // a < b
|
||||
else -> error("Unreachable")
|
||||
else -> 1 // a < b
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -151,7 +151,7 @@ class ArtistViewHolder private constructor(private val binding: ItemParentBindin
|
|||
override fun areItemsTheSame(oldItem: Artist, newItem: Artist) =
|
||||
oldItem.rawName == newItem.rawName &&
|
||||
oldItem.albums.size == newItem.albums.size &&
|
||||
newItem.songs.size == newItem.songs.size
|
||||
oldItem.songs.size == newItem.songs.size
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@ private val Any.autoTag: String
|
|||
*
|
||||
* UNITED ARAB EMIRATES ENSLAVED MIGRANT WORKERS
|
||||
*/
|
||||
@Suppress("KotlinConstantConditions")
|
||||
private fun basedCopyleftNotice() {
|
||||
if (BuildConfig.APPLICATION_ID != "org.oxycblt.auxio" &&
|
||||
BuildConfig.APPLICATION_ID != "org.oxycblt.auxio.debug") {
|
||||
|
|
|
@ -1,14 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:alpha="@dimen/m3_ripple_selectable_pressed_alpha"
|
||||
android:color="?attr/colorOnSurfaceVariant"
|
||||
android:state_pressed="true"/>
|
||||
<item android:alpha="@dimen/m3_ripple_focused_alpha"
|
||||
android:color="?attr/colorOnSurfaceVariant"
|
||||
android:state_focused="true"/>
|
||||
<item android:alpha="@dimen/m3_ripple_hovered_alpha"
|
||||
android:color="?attr/colorOnSurfaceVariant"
|
||||
android:state_hovered="true"/>
|
||||
<item android:alpha="@dimen/m3_ripple_default_alpha"
|
||||
android:color="?attr/colorOnSurfaceVariant"/>
|
||||
<item android:alpha="0.12" android:color="?attr/colorOnSurfaceVariant" android:state_pressed="true" />
|
||||
<item android:alpha="0.2" android:color="?attr/colorOnSurfaceVariant" android:state_focused="true" />
|
||||
<item android:alpha="0.4" android:color="?attr/colorOnSurfaceVariant" android:state_hovered="true" />
|
||||
<item android:alpha="0.16" android:color="?attr/colorOnSurfaceVariant" />
|
||||
</selector>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="?attr/colorPrimary" android:state_activated="true" />
|
||||
<item android:color="?android:attr/textColorPrimary" android:alpha="0.5" android:state_enabled="false" />
|
||||
<item android:alpha="0.5" android:color="?android:attr/textColorPrimary" android:state_enabled="false" />
|
||||
<item android:color="?android:attr/textColorPrimary" />
|
||||
</selector>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="?android:attr/textColorSecondary" android:state_activated="true" />
|
||||
<item android:color="?android:attr/textColorSecondary" android:alpha="0.5" android:state_enabled="false" />
|
||||
<item android:alpha="0.5" android:color="?android:attr/textColorSecondary" android:state_enabled="false" />
|
||||
<item android:color="?android:attr/textColorSecondary" />
|
||||
</selector>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@android:id/background">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="?attr/colorSurface" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item android:id="@+id/panel_overlay">
|
||||
<shape android:shape="rectangle" />
|
||||
</item>
|
||||
</layer-list>
|
|
@ -1,7 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<size android:height="4dp" android:width="32dp" />
|
||||
<size
|
||||
android:width="32dp"
|
||||
android:height="4dp" />
|
||||
<corners android:radius="2dp" />
|
||||
<solid android:color="#FFF" />
|
||||
</shape>
|
|
@ -28,7 +28,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
|
@ -37,21 +37,23 @@
|
|||
android:id="@+id/playback_panel_fragment"
|
||||
android:name="org.oxycblt.auxio.playback.PlaybackPanelFragment"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/queue_sheet"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/queue_sheet"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/playback_panel_fragment">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="64dp"
|
||||
android:text="@string/lbl_queue"
|
||||
android:gravity="center"
|
||||
android:text="@string/lbl_queue"
|
||||
android:textAppearance="@style/TextAppearance.Material3.LabelLarge"
|
||||
android:textColor="?attr/colorOnSurfaceVariant"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/handle"
|
||||
|
@ -60,14 +62,14 @@
|
|||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/queue_fragment"
|
||||
android:name="org.oxycblt.auxio.playback.queue.QueueFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:name="org.oxycblt.auxio.playback.queue.QueueFragment" />
|
||||
android:layout_weight="1" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="?attr/colorSurface"
|
||||
android:orientation="vertical"
|
||||
tools:context=".settings.AboutFragment">
|
||||
|
||||
<org.oxycblt.auxio.ui.coordinator.EdgeAppBarLayout
|
||||
|
|
|
@ -53,8 +53,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:fitsSystemWindows="true"
|
||||
android:layout_margin="@dimen/spacing_medium"
|
||||
android:fitsSystemWindows="true"
|
||||
android:visibility="invisible">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
|
|
|
@ -51,12 +51,12 @@
|
|||
android:id="@+id/handle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/size_btn"
|
||||
android:scaleType="center"
|
||||
android:paddingBottom="@dimen/spacing_mid_large"
|
||||
android:src="@drawable/ui_queue_drag_handle"
|
||||
app:tint="?attr/colorOnSurfaceVariant"
|
||||
android:contentDescription="@string/desc_queue_bar"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:paddingBottom="@dimen/spacing_mid_large"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ui_queue_drag_handle"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:tint="?attr/colorOnSurfaceVariant" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/queue_title"
|
||||
|
@ -73,10 +73,10 @@
|
|||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/queue_fragment"
|
||||
android:name="org.oxycblt.auxio.playback.queue.QueueFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:name="org.oxycblt.auxio.playback.queue.QueueFragment" />
|
||||
android:layout_weight="1" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/queue_layout"
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="?attr/colorSurface">
|
||||
android:background="?attr/colorSurface"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.oxycblt.auxio.ui.coordinator.EdgeAppBarLayout
|
||||
android:id="@+id/settings_appbar"
|
||||
|
|
|
@ -106,7 +106,6 @@
|
|||
<string name="err_no_perms">اوكسيو يحتاج إلى صلاحيات لقراءة للاطلاع على مكتبتك للموسيقى</string>
|
||||
<string name="err_no_app">لا يوجد تطبيق لفتح هذا الرابط</string>
|
||||
<string name="err_bad_dir">هذا المجلد غير مدعوم</string>
|
||||
<string name="err_too_small">اوكسيو لا يدعم حجم النافذة هذه</string>
|
||||
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">البحث في مكتبتك…</string>
|
||||
|
|
|
@ -109,7 +109,6 @@
|
|||
<string name="err_no_app">Žádná aplikace nedokáže otevřít tento odkaz</string>
|
||||
<string name="err_no_dirs">Žádné složky</string>
|
||||
<string name="err_bad_dir">Tato složka není podporována</string>
|
||||
<string name="err_too_small">Auxio nepodporuje velikost tohoto okna</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">Prohledat vaší knihovnu…</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -201,7 +201,6 @@
|
|||
<string name="lbl_format">Format</string>
|
||||
<string name="lbl_size">Größe</string>
|
||||
<string name="lbl_bitrate">Bitrate</string>
|
||||
<string name="err_too_small">Auxio unterstützt diese Fenstergröße nicht</string>
|
||||
<string name="set_quality_tags">MediaStore-Tags ignorieren</string>
|
||||
<string name="set_quality_tags_desc">Erhöht Tag-Qualität, benötigt aber längere Ladezeiten (Experimentell)</string>
|
||||
<string name="lbl_observing">Überwachen der Musikbibliothek</string>
|
||||
|
|
|
@ -91,7 +91,6 @@
|
|||
<string name="err_no_perms">Auxio necesita permiso para leer su biblioteca de música</string>
|
||||
<string name="err_no_app">Sin aplicación para abrir este enlace</string>
|
||||
<string name="err_bad_dir">Directorio no soportado</string>
|
||||
<string name="err_too_small">Auxio no soporta este tamaño de ventana</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">Buscar en la biblioteca…</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -114,7 +114,6 @@
|
|||
<string name="err_no_app">Nijedna aplikacija ne može otvoriti ovaj link</string>
|
||||
<string name="err_no_dirs">Nema mapa</string>
|
||||
<string name="err_bad_dir">Ova mapa nije podržana</string>
|
||||
<string name="err_too_small">Auxio ne podržava ovu veličinu prozora</string>
|
||||
<string name="err_did_not_restore">Nijedno stanje nije bilo moguće vratiti</string>
|
||||
<string name="hint_search_library">Pretražite vašu zbirku…</string>
|
||||
<string name="desc_track_number">Zvučni zapis %d</string>
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
<string name="fmt_db_neg">-%.1f dB</string>
|
||||
<string name="fmt_bitrate">%d kbps</string>
|
||||
<string name="fmt_sample_rate">%d Hz</string>
|
||||
<string name="fmt_indexing">Memuat perpustakaan musik Anda... (%1$d/%2$d)</string>
|
||||
<string name="fmt_indexing">Memuat perpustakaan musik Anda… (%1$d/%2$d)</string>
|
||||
<string name="fmt_lib_song_count">Lagu yang dimuat: %d</string>
|
||||
<string name="fmt_lib_album_count">Album yang dimuat: %d</string>
|
||||
<string name="fmt_lib_artist_count">Artis yang dimuat: %d</string>
|
||||
|
@ -164,7 +164,6 @@
|
|||
<string name="def_widget_artist">Nama Artis</string>
|
||||
<string name="set_dirs_mode_include_desc">Musik <b>hanya</b> akan dimuat dari folder yang Anda tambahkan.</string>
|
||||
<string name="err_index_failed">Pemuatan musik gagal</string>
|
||||
<string name="err_too_small">Auxio tidak mendukung ukuran jendela ini</string>
|
||||
<string name="desc_album_cover">Sampul Album untuk %s</string>
|
||||
<string name="def_artist">Artis Tidak Dikenal</string>
|
||||
<string name="err_no_dirs">Tidak ada Folder</string>
|
||||
|
|
|
@ -94,7 +94,6 @@
|
|||
<string name="err_no_perms">Auxio ha bisogno del permesso per leggere la tua libreria musicale</string>
|
||||
<string name="err_no_app">Nessuna app può aprire il link</string>
|
||||
<string name="err_bad_dir">Questa cartella non è supportata</string>
|
||||
<string name="err_too_small">Auxio non supporta questa dimensione di finestra</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">Cerca nella tua libreria…</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -123,7 +123,6 @@
|
|||
<string name="err_no_app">이 링크를 열 수 있는 앱 없음</string>
|
||||
<string name="err_no_dirs">폴더 없음</string>
|
||||
<string name="err_bad_dir">이 폴더는 지원하지 않는 폴더입니다.</string>
|
||||
<string name="err_too_small">앱이 이 크기의 창을 지원하지 않습니다.</string>
|
||||
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">라이브러리에서 검색…</string>
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
<plurals name="fmt_album_count">
|
||||
<item quantity="one">%d Albumas</item>
|
||||
<item quantity="few">%d Albumai</item>
|
||||
<item quantity="many">%d Albumo</item>
|
||||
<item quantity="other">%d Albumo</item>
|
||||
</plurals>
|
||||
<string name="lbl_remix_group">Remiksai</string>
|
||||
|
@ -116,6 +117,7 @@
|
|||
<plurals name="fmt_song_count">
|
||||
<item quantity="one">%d Daina</item>
|
||||
<item quantity="few">%d Dainos</item>
|
||||
<item quantity="many">%d Albumo</item>
|
||||
<item quantity="other">%d Dainą</item>
|
||||
</plurals>
|
||||
<string name="clr_dynamic">Dinaminis</string>
|
||||
|
@ -135,7 +137,6 @@
|
|||
<string name="set_replay_gain_track">Pageidaujamas takelis</string>
|
||||
<string name="err_no_dirs">Jokių aplankų</string>
|
||||
<string name="err_bad_dir">Šis aplankas nepalaikomas</string>
|
||||
<string name="err_too_small">„Auxio“ nepalaiko šio lango dydžio</string>
|
||||
<string name="desc_play_pause">Groti arba pristabdyti</string>
|
||||
<string name="desc_skip_next">Pereiti į kitą dainą</string>
|
||||
<string name="desc_skip_prev">Pereiti į paskutinę dainą</string>
|
||||
|
|
|
@ -149,7 +149,7 @@
|
|||
<string name="desc_shuffle">Schakel shuffle aan of uit</string>
|
||||
<string name="def_widget_song">Naam van het lied</string>
|
||||
<string name="set_reindex_desc">Kan afspeelstatus wissen</string>
|
||||
<string name="fmt_indexing">Uw muziekbibliotheek wordt geladen... (%1$d/%2$d)</string>
|
||||
<string name="fmt_indexing">Uw muziekbibliotheek wordt geladen… (%1$d/%2$d)</string>
|
||||
<string name="set_dirs_mode_exclude">Uitgezonderd</string>
|
||||
<string name="desc_shuffle_all">Alle liedjes shuffelen</string>
|
||||
<string name="def_codec">Onbekend Formaat</string>
|
||||
|
@ -158,7 +158,6 @@
|
|||
<string name="set_dirs_mode_exclude_desc">Muziek zal <b>niet</b> worden geladen vanuit de mappen die u toevoegt.</string>
|
||||
<string name="set_reindex">Muziek herladen</string>
|
||||
<string name="set_dirs_mode_include_desc">Muziek zal <b>alleen</b> worden geladen uit de mappen die u toevoegt.</string>
|
||||
<string name="err_too_small">Auxio ondersteunt deze venstergrootte niet</string>
|
||||
<string name="set_pre_amp_with">Aanpassing met tags</string>
|
||||
<string name="set_pre_amp_without">Aanpassing zonder tags</string>
|
||||
<string name="def_playback">Er speelt geen muziek</string>
|
||||
|
|
|
@ -90,7 +90,6 @@
|
|||
<string name="err_no_app">Nenhum aplicativo pode abrir este link</string>
|
||||
<string name="err_no_dirs">Sem Pastas</string>
|
||||
<string name="err_bad_dir">Esta pasta não é compatível</string>
|
||||
<string name="err_too_small">O Auxio não suporta este tamanho de janela</string>
|
||||
<string name="set_show_covers">Mostrar capas de álbuns</string>
|
||||
<string name="set_reindex_desc">Pode limpar o estado de reprodução</string>
|
||||
<string name="set_rewind_prev">Retroceder antes de pular para trás</string>
|
||||
|
|
|
@ -93,7 +93,6 @@
|
|||
<string name="err_no_perms">Auxio требуется разрешение на чтение музыкальной библиотеки</string>
|
||||
<string name="err_no_app">Нет приложений для открытия данной ссылки</string>
|
||||
<string name="err_bad_dir">Эта папка не поддерживается</string>
|
||||
<string name="err_too_small">Auxio не поддерживает данное разрешние экрана</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">Найти в библиотеке…</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -170,7 +170,6 @@
|
|||
<string name="set_reindex_desc">Uygulamayı yeniden başlatacaktır</string>
|
||||
<string name="err_no_dirs">Klasör yok</string>
|
||||
<string name="err_bad_dir">Bu klasör desteklenmiyor</string>
|
||||
<string name="err_too_small">Auxio bu pencere boyutunu desteklemiyor</string>
|
||||
<string name="desc_skip_next">Sonraki şarkıya geç</string>
|
||||
<string name="desc_skip_prev">Son şarkıya geç</string>
|
||||
<string name="desc_change_repeat">Tekrarlama modunu değiştir</string>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.V23" parent="Theme.Auxio">
|
||||
|
||||
<!-- Fix dumb default android behavior -->
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.V29" parent="Theme.Auxio.V27">
|
||||
<!--
|
||||
Android 10 finally allows you to use fully transparent system bars without it automatically
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.Auxio.App" parent="Theme.Auxio.Base" />
|
||||
|
||||
<style name="Theme.Auxio.Widget" parent="@android:style/Theme.DeviceDefault.DayNight">
|
||||
|
|
|
@ -93,7 +93,6 @@
|
|||
<string name="err_no_perms">Auxio 需要权限来读取音乐库</string>
|
||||
<string name="err_no_app">没有可以打开该链接的应用</string>
|
||||
<string name="err_bad_dir">该目录不受支持</string>
|
||||
<string name="err_too_small">Auxio 不支持该窗口尺寸</string>
|
||||
<!-- Hint Namespace | EditText Hints -->
|
||||
<string name="hint_search_library">在曲库中搜索…</string>
|
||||
<!-- Description Namespace | Accessibility Strings -->
|
||||
|
|
|
@ -9,11 +9,6 @@
|
|||
<dimen name="spacing_large">24dp</dimen>
|
||||
<dimen name="spacing_huge">32dp</dimen>
|
||||
|
||||
<dimen name="spacing_tiny_inv">-4dp</dimen>
|
||||
<dimen name="spacing_small_inv">-8dp</dimen>
|
||||
|
||||
<dimen name="spacing_medium_icon">6dp</dimen>
|
||||
|
||||
<!-- Size Namespace | Width & Heights for UI elements -->
|
||||
<dimen name="size_cover_compact">48dp</dimen>
|
||||
<dimen name="size_cover_normal">56dp</dimen>
|
||||
|
@ -48,7 +43,6 @@
|
|||
<dimen name="fast_scroll_thumb_touch_target_size">16dp</dimen>
|
||||
|
||||
<dimen name="slider_thumb_radius">6dp</dimen>
|
||||
<dimen name="slider_halo_radius">16dp</dimen>
|
||||
|
||||
<dimen name="recycler_fab_space_normal">88dp</dimen>
|
||||
<dimen name="recycler_fab_space_large">128dp</dimen>
|
||||
|
|
|
@ -81,8 +81,6 @@
|
|||
<string name="lbl_shuffle">Shuffle</string>
|
||||
|
||||
<string name="lbl_queue">Queue</string>
|
||||
<string name="lbl_next_up">Next up</string>
|
||||
<string name="lbl_later">Later</string>
|
||||
<string name="lbl_play_next">Play next</string>
|
||||
<string name="lbl_queue_add">Add to queue</string>
|
||||
<string name="lbl_queue_added">Added to queue</string>
|
||||
|
@ -214,7 +212,6 @@
|
|||
<!-- No folders in the "Music Folders" setting -->
|
||||
<string name="err_no_dirs">No Folders</string>
|
||||
<string name="err_bad_dir">This folder is not supported</string>
|
||||
<string name="err_too_small">Auxio does not support this window size</string>
|
||||
<!-- Referring to playback state -->
|
||||
<string name="err_did_not_restore">No state could be restored</string>
|
||||
|
||||
|
|
|
@ -90,12 +90,4 @@
|
|||
<item name="android:background">@drawable/ui_remote_fab_bg</item>
|
||||
<item name="android:tint">?attr/colorOnPrimary</item>
|
||||
</style>
|
||||
|
||||
<!-- Widget panel -->
|
||||
<style name="Widget.Auxio.AppWidget.Panel" parent="">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:padding">@dimen/spacing_medium</item>
|
||||
<item name="android:orientation">vertical</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -2,14 +2,14 @@
|
|||
<resources>
|
||||
<!-- Master parent theme -->
|
||||
<style name="Theme.Auxio" parent="Theme.Material3.DynamicColors.DayNight" />
|
||||
<!-- Theme that implements nicer selector attributes not supported on lollipop-->
|
||||
<!-- Adds nicer selector attributes not supported on lollipop-->
|
||||
<style name="Theme.Auxio.V23" parent="Theme.Auxio" />
|
||||
<!-- Template theme that handles edge-to-edge on other styles variants -->
|
||||
<!-- Handles edge-to-edge on other styles variants -->
|
||||
<style name="Theme.Auxio.V27" parent="Theme.Auxio.V23">
|
||||
<item name="android:statusBarColor">@color/chrome_translucent</item>
|
||||
<item name="android:navigationBarColor">@color/chrome_translucent</item>
|
||||
</style>
|
||||
|
||||
<!-- Adds fully transparent system bars -->
|
||||
<style name="Theme.Auxio.V29" parent="Theme.Auxio.V27" />
|
||||
|
||||
<!-- Base theme -->
|
||||
|
|
|
@ -130,8 +130,8 @@
|
|||
|
||||
<Preference
|
||||
app:key="@string/set_key_wipe_state"
|
||||
app:title="@string/set_wipe"
|
||||
app:summary="@string/set_wipe_desc" />
|
||||
app:summary="@string/set_wipe_desc"
|
||||
app:title="@string/set_wipe" />
|
||||
|
||||
<Preference
|
||||
app:key="@string/set_key_restore_state"
|
||||
|
|
|
@ -23,8 +23,8 @@ of Android through the use of the ExoPlayer FLAC extension.
|
|||
This depends on the context:
|
||||
1. If "Ignore MediaStore Tags" is enabled, please create a bug report.
|
||||
2. If "Ignore MediaStore Tags" is not enabled, please check below to make sure your issue is not already
|
||||
awknowledged before reporting a bug.
|
||||
- Moreso, if the issue encountered does not appear in other apps like Music Player GO, Phonograph,
|
||||
acknowledged before reporting a bug.
|
||||
- Moreover, if the issue encountered does not appear in other apps like Music Player GO, Phonograph,
|
||||
or Retro Music then it should definitely be reported, as it is a logic bug on Auxio's part.
|
||||
|
||||
***Known unfixable music loading issues***
|
||||
|
@ -80,7 +80,7 @@ Auxio actually takes several types of metadata in account in searching:
|
|||
- The file name, as some users don't have usable title metadata, and instead use the file name as the title.
|
||||
|
||||
#### Why does playback pause whenever music is reloaded?
|
||||
Whenever the music library signifigantly changes, updating the player's data while it is still playing may result in
|
||||
Whenever the music library significantly changes, updating the player's data while it is still playing may result in
|
||||
unwanted bugs or unexpected music playing. To safeguard against this, Auxio will pause whenever it reloads a new
|
||||
music library.
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Alongside this, Auxio uses a number of third-party libraries. These are listed b
|
|||
their licenses:
|
||||
|
||||
| Library Name | Author(s) | Purpose | License |
|
||||
|--------------|-----------|---------|---------|
|
||||
|-----------------------------------------------------|----------------------------------------------|----------------|------------|
|
||||
| [ExoPlayer](https://github.com/google/ExoPlayer) | [Google](https://github.com/google) | Music Playback | Apache-2.0 |
|
||||
| [Coil](https://github.com/coil-kt/coil) | [Square](https://github.com/coil-kt) | Image Loading | Apache-2.0 |
|
||||
| [Spotless](https://github.com/diffplug/spotless) | [DiffPlug](https://github.com/diffplug) | Formatting | Apache-2.0 |
|
||||
|
|
Loading…
Reference in a new issue