diff --git a/app/build.gradle b/app/build.gradle
index 6ff893ebd..c70de5168 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,8 +14,8 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
- versionCode 10557
- versionName '5.6.1'
+ versionCode 10563
+ versionName '5.7.0'
buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"")
}
@@ -88,14 +88,13 @@ static def getDate() {
new Date().format('MMddyyyyss')
}
-
dependencies {
implementation project(':appthemehelper')
implementation "androidx.gridlayout:gridlayout:1.0.0"
implementation "androidx.cardview:cardview:1.0.0"
- implementation 'androidx.appcompat:appcompat:1.4.0'
+ implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation 'androidx.annotation:annotation:1.3.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.recyclerview:recyclerview:1.3.0-alpha01'
implementation "androidx.preference:preference-ktx:$preference_version"
implementation 'androidx.core:core-ktx:1.7.0'
@@ -103,7 +102,7 @@ dependencies {
//Cast Dependencies
implementation 'androidx.mediarouter:mediarouter:1.2.5'
- implementation 'com.google.android.gms:play-services-cast-framework:21.0.0'
+ implementation 'com.google.android.gms:play-services-cast-framework:21.0.1'
//WebServer by NanoHttpd
implementation "org.nanohttpd:nanohttpd:2.3.1"
@@ -111,7 +110,7 @@ dependencies {
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
- def room_version = '2.4.0'
+ def room_version = '2.4.1'
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
@@ -143,7 +142,7 @@ dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version"
- def koin_version = '3.1.4'
+ def koin_version = '3.1.5'
implementation "io.insert-koin:koin-core:$koin_version"
implementation "io.insert-koin:koin-android:$koin_version"
@@ -160,6 +159,8 @@ dependencies {
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:3.0.0-RC3'
implementation 'com.github.jetradarmobile:android-snowfall:1.2.1'
+ implementation "dev.chrisbanes.insetter:insetter:0.6.1"
+
implementation 'org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5'
implementation 'com.github.Adonai:jaudiotagger:2.3.15'
implementation 'com.anjlab.android.iab.v3:library:2.0.3'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3fc3c60d0..7c217f99e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -292,6 +292,18 @@
android:name="android.appwidget.provider"
android:resource="@xml/app_widget_md3_info" />
+
+
+
+
+
+
+
KeyboardVisibilityEvent by Yasuhiro SHIMIZU
android-snowfall by Jetradar Mobile
+Insetter by Chris Banes
Icons by Austin Andrews
Material Design City Wallpaper
diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html
index 5967b017f..3b85263f4 100644
--- a/app/src/main/assets/retro-changelog.html
+++ b/app/src/main/assets/retro-changelog.html
@@ -58,12 +58,41 @@
}
{style-placeholder}
+
+
-
December 28, 2021
+
January 25, 2022
+
v5.7.0
+
What's New
+
+ - Added accent color extraction on Android 8.1+ devices
+ - Added new Circle widget
+ - Added Collapsing appbar to library tabs with an option to switch back to simple appbar
+
+ - Added Search tab
+ - Added option to use circular play button
+ - Added lyrics editing on A11+ devices again
+ - Added Long Press to forward, rewind current song
+ - Added ability to set Playback speed and pitch
+ - Added option to show lyrics over Cover
+ - Added option to keep screen on when showing lyrics
+ - Added option to switch to Manrope font
+
+
Fixed
+
+ - Fixed Gapless Playback
+ - Fixed Shuffle FAB going behind Mini Player
+ - Fixed crashes on Pre-marshmallow devices
+ - Blacklisted songs can't be played after opening from outside the app
+ - Fixed various small bugs and some minor improvements
+
+
+
+
January 1, 2021
v5.6.1
Fixed
diff --git a/app/src/main/java/code/name/monkey/retromusic/App.kt b/app/src/main/java/code/name/monkey/retromusic/App.kt
index 1b46996c0..65520ca2f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/App.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/App.kt
@@ -20,6 +20,7 @@ import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.Constants.PRO_VERSION_PRODUCT_ID
import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager
+import code.name.monkey.retromusic.helper.WallpaperAccentManager
import com.anjlab.android.iab.v3.BillingProcessor
import com.anjlab.android.iab.v3.PurchaseInfo
import org.koin.android.ext.koin.androidContext
@@ -28,6 +29,7 @@ import org.koin.core.context.startKoin
class App : Application() {
lateinit var billingProcessor: BillingProcessor
+ private val wallpaperAccentManager = WallpaperAccentManager(this)
override fun onCreate() {
super.onCreate()
@@ -44,6 +46,7 @@ class App : Application() {
.coloredNavigationBar(true)
.commit()
}
+ wallpaperAccentManager.init()
if (VersionUtils.hasNougatMR())
DynamicShortcutManager(this).initDynamicShortcuts()
@@ -71,6 +74,7 @@ class App : Application() {
override fun onTerminate() {
super.onTerminate()
billingProcessor.release()
+ wallpaperAccentManager.release()
}
companion object {
diff --git a/app/src/main/java/code/name/monkey/retromusic/Constants.kt b/app/src/main/java/code/name/monkey/retromusic/Constants.kt
index bab9ec6d6..057c47fb1 100644
--- a/app/src/main/java/code/name/monkey/retromusic/Constants.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/Constants.kt
@@ -73,7 +73,7 @@ const val NOW_PLAYING_SCREEN_ID = "now_playing_screen_id"
const val CAROUSEL_EFFECT = "carousel_effect"
const val COLORED_NOTIFICATION = "colored_notification"
const val CLASSIC_NOTIFICATION = "classic_notification"
-const val GAP_LESS_PLAYBACK = "gap_less_playback"
+const val GAP_LESS_PLAYBACK = "gapless_playback"
const val ALBUM_ART_ON_LOCK_SCREEN = "album_art_on_lock_screen"
const val BLURRED_ALBUM_ART = "blurred_album_art"
const val NEW_BLUR_AMOUNT = "new_blur_amount"
@@ -154,3 +154,11 @@ const val LAST_USED_TAB = "last_used_tab"
const val WHITELIST_MUSIC = "whitelist_music"
const val MATERIAL_YOU = "material_you"
const val SNOWFALL = "snowfall"
+const val LYRICS_TYPE = "lyrics_type"
+const val PLAYBACK_SPEED = "playback_speed"
+const val PLAYBACK_PITCH = "playback_pitch"
+const val CUSTOM_FONT = "custom_font"
+const val APPBAR_MODE = "appbar_mode"
+const val WALLPAPER_ACCENT = "wallpaper_accent"
+const val SCREEN_ON_LYRICS = "screen_on_lyrics"
+const val CIRCLE_PLAY_BUTTON = "circle_play_button"
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt
index e9aa2a3b3..3a2b249a0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt
@@ -62,7 +62,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
if (!hasPermissions()) {
findNavController(R.id.fragment_container).navigate(R.id.permissionFragment)
}
- if (BuildConfig.VERSION_CODE > PreferenceUtil.lastVersion && !BuildConfig.DEBUG){
+ if (BuildConfig.VERSION_CODE > PreferenceUtil.lastVersion && !BuildConfig.DEBUG) {
NavigationUtil.gotoWhatNews(this)
}
}
@@ -103,7 +103,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
currentFragment(R.id.fragment_container)?.enterTransition = null
}
when (destination.id) {
- R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre -> {
+ R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre, R.id.action_search -> {
// Save the last tab
if (PreferenceUtil.rememberLastTab) {
saveTab(destination.id)
@@ -147,7 +147,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener {
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
- if (key == GENERAL_THEME || key == MATERIAL_YOU || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES) {
+ if (key == GENERAL_THEME || key == MATERIAL_YOU || key == WALLPAPER_ACCENT || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT || key == APPBAR_MODE || key == CIRCLE_PLAY_BUTTON) {
postRecreate()
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt
index 4b628e0f2..b5d2ecd6d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/SupportDevelopmentActivity.kt
@@ -19,12 +19,9 @@ import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.MenuItem
-import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import android.widget.Toast
-import androidx.annotation.LayoutRes
-import androidx.appcompat.widget.AppCompatImageView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.GridLayoutManager
@@ -37,6 +34,7 @@ import code.name.monkey.retromusic.BuildConfig
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.databinding.ActivityDonationBinding
+import code.name.monkey.retromusic.databinding.ItemDonationOptionBinding
import code.name.monkey.retromusic.extensions.*
import com.anjlab.android.iab.v3.BillingProcessor
import com.anjlab.android.iab.v3.PurchaseInfo
@@ -169,8 +167,8 @@ class SkuDetailsAdapter(
override fun onCreateViewHolder(viewGroup: ViewGroup, i: Int): ViewHolder {
return ViewHolder(
- LayoutInflater.from(donationsDialog).inflate(
- LAYOUT_RES_ID,
+ ItemDonationOptionBinding.inflate(
+ LayoutInflater.from(donationsDialog),
viewGroup,
false
)
@@ -179,12 +177,14 @@ class SkuDetailsAdapter(
override fun onBindViewHolder(viewHolder: ViewHolder, i: Int) {
val skuDetails = skuDetailsList[i]
- viewHolder.title.text = skuDetails.title.replace("Music Player - MP3 Player - Retro", "")
- .trim { it <= ' ' }
- viewHolder.text.text = skuDetails.description
- viewHolder.text.isVisible = false
- viewHolder.price.text = skuDetails.priceText
- viewHolder.image.setImageResource(getIcon(i))
+ with(viewHolder.binding) {
+ itemTitle.text = skuDetails.title.replace("Music Player - MP3 Player - Retro", "")
+ .trim { it <= ' ' }
+ itemText.text = skuDetails.description
+ itemText.isVisible = false
+ itemPrice.text = skuDetails.priceText
+ itemImage.setImageResource(getIcon(i))
+ }
val purchased = donationsDialog.billingProcessor!!.isPurchased(skuDetails.productId)
val titleTextColor = if (purchased) ATHUtil.resolveColor(
@@ -194,13 +194,14 @@ class SkuDetailsAdapter(
val contentTextColor =
if (purchased) titleTextColor else donationsDialog.textColorSecondary()
- viewHolder.title.setTextColor(titleTextColor)
- viewHolder.text.setTextColor(contentTextColor)
- viewHolder.price.setTextColor(titleTextColor)
-
- strikeThrough(viewHolder.title, purchased)
- strikeThrough(viewHolder.text, purchased)
- strikeThrough(viewHolder.price, purchased)
+ with(viewHolder.binding) {
+ itemTitle.setTextColor(titleTextColor)
+ itemText.setTextColor(contentTextColor)
+ itemPrice.setTextColor(titleTextColor)
+ strikeThrough(itemTitle, purchased)
+ strikeThrough(itemText, purchased)
+ strikeThrough(itemPrice, purchased)
+ }
viewHolder.itemView.setOnTouchListener { _, _ -> purchased }
viewHolder.itemView.setOnClickListener { donationsDialog.donate(i) }
@@ -210,17 +211,9 @@ class SkuDetailsAdapter(
return skuDetailsList.size
}
- class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var title: TextView = view.findViewById(R.id.itemTitle)
- var text: TextView = view.findViewById(R.id.itemText)
- var price: TextView = view.findViewById(R.id.itemPrice)
- var image: AppCompatImageView = view.findViewById(R.id.itemImage)
- }
+ class ViewHolder(val binding: ItemDonationOptionBinding) : RecyclerView.ViewHolder(binding.root)
companion object {
- @LayoutRes
- private val LAYOUT_RES_ID = R.layout.item_donation_option
-
private fun strikeThrough(textView: TextView, strikeThrough: Boolean) {
textView.paintFlags =
if (strikeThrough) textView.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt
index 099ad1fc3..489caaa01 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/WhatsNewActivity.kt
@@ -27,7 +27,6 @@ class WhatsNewActivity : AbsThemeActivity() {
super.onCreate(savedInstanceState)
val binding = ActivityWhatsNewBinding.inflate(layoutInflater)
setContentView(binding.root)
- setLightStatusBarAuto(surfaceColor())
setTaskDescriptionColorAuto()
binding.toolbar.setNavigationOnClickListener { onBackPressed() }
ToolbarContentTintHelper.colorBackButton(binding.toolbar)
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt
index d38d1330f..a356f6013 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt
@@ -31,7 +31,7 @@ import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.commit
-import code.name.monkey.appthemehelper.util.ColorUtil
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.RetroBottomSheetBehavior
import code.name.monkey.retromusic.databinding.SlidingMusicPanelLayoutBinding
@@ -110,9 +110,15 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
when (newState) {
STATE_EXPANDED -> {
onPanelExpanded()
+ if (PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) {
+ keepScreenOn(true)
+ }
}
STATE_COLLAPSED -> {
onPanelCollapsed()
+ if ((PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) || !PreferenceUtil.isScreenOnEnabled) {
+ keepScreenOn(false)
+ }
}
STATE_SETTLING, STATE_DRAGGING -> {
if (fromNotification) {
@@ -140,7 +146,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
insets
}
if (RetroUtil.isLandscape()) {
- binding.slidingPanel.drawAboveSystemBarsWithPadding(true)
+ binding.slidingPanel.drawAboveSystemBarsWithPadding()
}
chooseFragmentForTheme()
setupSlidingUpPanel()
@@ -199,6 +205,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
}
private fun animateNavigationBarColor(color: Int) {
+ if (VersionUtils.hasOreo()) return
navigationBarColorAnimator?.cancel()
navigationBarColorAnimator = ValueAnimator
.ofArgb(window.navigationBarColor, color).apply {
@@ -217,14 +224,16 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
setMiniPlayerAlphaProgress(0F)
// restore values
animateNavigationBarColor(surfaceColor())
- setLightStatusBarAuto(surfaceColor())
- setLightNavigationAuto()
+ setLightStatusBarAuto()
+ setLightNavigationBarAuto()
setTaskDescriptionColor(taskColor)
+ playerFragment?.onHide()
}
open fun onPanelExpanded() {
setMiniPlayerAlphaProgress(1F)
onPaletteColorChanged()
+ playerFragment?.onShow()
}
private fun setupSlidingUpPanel() {
@@ -291,7 +300,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
if (panelState == STATE_EXPANDED) {
navigationBarColor = surfaceColor()
setTaskDescColor(paletteColor)
- val isColorLight = ColorUtil.isColorLight(paletteColor)
+ val isColorLight = paletteColor.isColorLight
if (PreferenceUtil.isAdaptiveColor && (nowPlayingScreen == Normal || nowPlayingScreen == Flat)) {
setLightNavigationBar(true)
setLightStatusBar(isColorLight)
@@ -314,13 +323,6 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
setLightStatusBar(false)
} else if (nowPlayingScreen == Fit) {
setLightStatusBar(false)
- } else {
- setLightStatusBar(
- ColorUtil.isColorLight(
- surfaceColor()
- )
- )
- setLightNavigationBar(true)
}
}
}
@@ -401,12 +403,10 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
bottomSheetBehavior.peekHeight = -windowInsets.safeGetBottomInsets()
bottomSheetBehavior.state = STATE_COLLAPSED
libraryViewModel.setFabMargin(if (isBottomNavVisible) dip(R.dimen.bottom_nav_height) else 0)
- binding.slidingPanel.elevation = 0F
- binding.bottomNavigationView.elevation = 10F
} else {
if (MusicPlayerRemote.playingQueue.isNotEmpty()) {
binding.slidingPanel.elevation = 0F
- binding.bottomNavigationView.elevation = 10F
+ binding.bottomNavigationView.elevation = 5F
if (isBottomNavVisible) {
println("List")
if (animate) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
index e9cac3e2a..d6c51f291 100644
--- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsThemeActivity.kt
@@ -23,11 +23,12 @@ import android.view.View
import androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode
import androidx.core.os.ConfigurationCompat
import code.name.monkey.appthemehelper.common.ATHToolbarActivity
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.LanguageContextWrapper
+import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.theme.ThemeManager
-import com.google.android.material.color.DynamicColors
import java.util.*
abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
@@ -35,27 +36,28 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
private val handler = Handler()
override fun onCreate(savedInstanceState: Bundle?) {
- setDrawBehindSystemBars()
updateTheme()
hideStatusBar()
super.onCreate(savedInstanceState)
- setImmersiveFullscreen()
+ setEdgeToEdgeOrImmersive()
registerSystemUiVisibility()
toggleScreenOn()
- setLightNavigationAuto()
+ setLightNavigationBarAuto()
setLightStatusBarAuto(surfaceColor())
+ if (VersionUtils.hasQ()) {
+ window.decorView.isForceDarkAllowed = false
+ }
}
private fun updateTheme() {
- setTheme(ThemeManager.getThemeResValue(this))
- setDefaultNightMode(ThemeManager.getNightMode(this))
+ setTheme(ThemeManager.getThemeResValue())
+ setDefaultNightMode(ThemeManager.getNightMode())
- // Apply dynamic colors to activity if enabled
- if (PreferenceUtil.materialYou) {
- DynamicColors.applyIfAvailable(
- this,
- com.google.android.material.R.style.ThemeOverlay_Material3_DynamicColors_DayNight
- )
+ if (PreferenceUtil.isCustomFont) {
+ setTheme(R.style.FontThemeOverlay)
+ }
+ if (PreferenceUtil.circlePlayButton) {
+ setTheme(R.style.CircleFABOverlay)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
index 35a2b2f88..522370d59 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt
@@ -14,12 +14,11 @@
*/
package code.name.monkey.retromusic.adapter
-import android.os.SystemClock
+import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
-import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatTextView
import androidx.core.os.bundleOf
@@ -29,31 +28,22 @@ import androidx.navigation.fragment.FragmentNavigatorExtras
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import code.name.monkey.appthemehelper.ThemeStore
-import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.retromusic.*
import code.name.monkey.retromusic.adapter.album.AlbumAdapter
import code.name.monkey.retromusic.adapter.artist.ArtistAdapter
import code.name.monkey.retromusic.adapter.song.SongAdapter
-import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.fragments.home.HomeFragment
-import code.name.monkey.retromusic.glide.GlideApp
-import code.name.monkey.retromusic.glide.RetroGlideExtension
-import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
import code.name.monkey.retromusic.interfaces.IArtistClickListener
import code.name.monkey.retromusic.interfaces.IGenreClickListener
import code.name.monkey.retromusic.model.*
import code.name.monkey.retromusic.util.PreferenceUtil
-import com.google.android.material.card.MaterialCardView
class HomeAdapter(
private val activity: AppCompatActivity
) : RecyclerView.Adapter(), IArtistClickListener, IAlbumClickListener,
IGenreClickListener {
- private var mLastClickTime: Long = 0
-
private var list = listOf()
override fun getItemViewType(position: Int): Int {
@@ -65,17 +55,10 @@ class HomeAdapter(
LayoutInflater.from(activity).inflate(R.layout.section_recycler_view, parent, false)
return when (viewType) {
RECENT_ARTISTS, TOP_ARTISTS -> ArtistViewHolder(layout)
- GENRES -> GenreViewHolder(layout)
FAVOURITES -> PlaylistViewHolder(layout)
TOP_ALBUMS, RECENT_ALBUMS -> AlbumViewHolder(layout)
else -> {
- SuggestionsViewHolder(
- LayoutInflater.from(activity).inflate(
- R.layout.item_suggestions,
- parent,
- false
- )
- )
+ ArtistViewHolder(layout)
}
}
}
@@ -127,10 +110,6 @@ class HomeAdapter(
)
}
}
- SUGGESTIONS -> {
- val viewHolder = holder as SuggestionsViewHolder
- viewHolder.bindView(home)
- }
FAVOURITES -> {
val viewHolder = holder as PlaylistViewHolder
viewHolder.bindView(home)
@@ -142,12 +121,6 @@ class HomeAdapter(
)
}
}
- GENRES -> {
- val viewHolder = holder as GenreViewHolder
- viewHolder.bind(home)
- }
- PLAYLISTS -> {
- }
}
}
@@ -155,6 +128,7 @@ class HomeAdapter(
return list.size
}
+ @SuppressLint("NotifyDataSetChanged")
fun swapData(sections: List) {
list = sections
notifyDataSetChanged()
@@ -180,52 +154,6 @@ class HomeAdapter(
}
}
- private inner class SuggestionsViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- private val images = listOf(
- R.id.image1,
- R.id.image2,
- R.id.image3,
- R.id.image4,
- R.id.image5,
- R.id.image6,
- R.id.image7,
- R.id.image8
- )
-
- fun bindView(home: Home) {
- val color = ThemeStore.accentColor(activity)
- itemView.findViewById(R.id.message).apply {
- setTextColor(color)
- setOnClickListener {
- if (SystemClock.elapsedRealtime() - mLastClickTime < 1000){
- return@setOnClickListener
- }
- mLastClickTime = SystemClock.elapsedRealtime()
- MusicPlayerRemote.playNext((home.arrayList as List).subList(0, 8))
- if (!MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.playNextSong()
- }
- }
- }
- itemView.findViewById(R.id.card6).apply {
- setCardBackgroundColor(ColorUtil.withAlpha(color, 0.12f))
- }
- images.forEachIndexed { index, id ->
- itemView.findViewById(id).setOnClickListener {
- MusicPlayerRemote.playNext(home.arrayList[index] as Song)
- if (!MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.playNextSong()
- }
- }
- GlideApp.with(activity)
- .asBitmap()
- .songCoverOptions(home.arrayList[index] as Song)
- .load(RetroGlideExtension.getSongModel(home.arrayList[index] as Song))
- .into(itemView.findViewById(id))
- }
- }
- }
-
private inner class PlaylistViewHolder(view: View) : AbsHomeViewItem(view) {
fun bindView(home: Home) {
title.setText(home.titleRes)
@@ -241,22 +169,6 @@ class HomeAdapter(
}
}
- private inner class GenreViewHolder(itemView: View) : AbsHomeViewItem(itemView) {
- fun bind(home: Home) {
- arrow.hide()
- title.setText(home.titleRes)
- val genreAdapter = GenreAdapter(
- activity,
- home.arrayList as List,
- this@HomeAdapter
- )
- recyclerView.apply {
- layoutManager = GridLayoutManager(activity, 3, GridLayoutManager.HORIZONTAL, false)
- adapter = genreAdapter
- }
- }
- }
-
open class AbsHomeViewItem(itemView: View) : RecyclerView.ViewHolder(itemView) {
val recyclerView: RecyclerView = itemView.findViewById(R.id.recyclerView)
val title: AppCompatTextView = itemView.findViewById(R.id.title)
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt
index 221239efb..7013ab681 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SearchAdapter.kt
@@ -14,6 +14,7 @@
*/
package code.name.monkey.retromusic.adapter
+import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -45,6 +46,7 @@ class SearchAdapter(
private var dataSet: List
) : RecyclerView.Adapter() {
+ @SuppressLint("NotifyDataSetChanged")
fun swapDataSet(dataSet: List) {
this.dataSet = dataSet
notifyDataSetChanged()
@@ -148,13 +150,13 @@ class SearchAdapter(
imageTextContainer?.isInvisible = true
if (itemViewType == SONG) {
imageTextContainer?.isGone = true
- menu?.visibility = View.VISIBLE
+ menu?.isVisible = true
menu?.setOnClickListener(object : SongMenuHelper.OnClickSongMenu(activity) {
override val song: Song
get() = dataSet[layoutPosition] as Song
})
} else {
- menu?.visibility = View.GONE
+ menu?.isVisible = false
}
when (itemViewType) {
@@ -162,7 +164,7 @@ class SearchAdapter(
ARTIST -> setImageTransitionName(activity.getString(R.string.transition_artist_image))
else -> {
val container = itemView.findViewById(R.id.imageContainer)
- container?.visibility = View.GONE
+ container?.isVisible = false
}
}
}
@@ -201,9 +203,8 @@ class SearchAdapter(
)
}
SONG -> {
- val playList = mutableListOf()
- playList.add(item as Song)
- MusicPlayerRemote.openQueue(playList, 0, true)
+ MusicPlayerRemote.playNext(item as Song)
+ MusicPlayerRemote.playNextSong()
}
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
index 7160568d7..fc2c293cb 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/SongFileAdapter.kt
@@ -20,6 +20,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.isVisible
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
@@ -78,7 +79,7 @@ class SongFileAdapter(
if (holder.itemViewType == FILE) {
holder.text?.text = getFileText(file)
} else {
- holder.text?.visibility = View.GONE
+ holder.text?.isVisible = false
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
index 75fbd1a13..64c1b7bf9 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/album/AlbumAdapter.kt
@@ -20,6 +20,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewCompat
+import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
@@ -174,7 +175,7 @@ open class AlbumAdapter(
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {
init {
- menu?.visibility = View.GONE
+ menu?.isVisible = false
}
override fun onClick(v: View?) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt
index 7b3fe50dc..f943a7900 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/artist/ArtistAdapter.kt
@@ -14,6 +14,7 @@
*/
package code.name.monkey.retromusic.adapter.artist
+import android.annotation.SuppressLint
import android.content.res.ColorStateList
import android.content.res.Resources
import android.view.LayoutInflater
@@ -21,6 +22,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.core.view.ViewCompat
+import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
@@ -52,13 +54,17 @@ class ArtistAdapter(
activity, ICabHolder, R.menu.menu_media_selection
), PopupTextProvider {
+ var albumArtistsOnly = false
+
init {
this.setHasStableIds(true)
}
+ @SuppressLint("NotifyDataSetChanged")
fun swapDataSet(dataSet: List) {
this.dataSet = dataSet
notifyDataSetChanged()
+ albumArtistsOnly = PreferenceUtil.albumArtistsOnly
}
override fun getItemId(position: Int): Long {
@@ -86,7 +92,7 @@ class ArtistAdapter(
holder.title?.text = artist.name
holder.text?.hide()
val transitionName =
- if (PreferenceUtil.albumArtistsOnly) artist.name else artist.id.toString()
+ if (albumArtistsOnly) artist.name else artist.id.toString()
if (holder.imageContainer != null) {
ViewCompat.setTransitionName(holder.imageContainer!!, transitionName)
} else {
@@ -158,7 +164,7 @@ class ArtistAdapter(
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {
init {
- menu?.visibility = View.GONE
+ menu?.isVisible = false
}
override fun onClick(v: View?) {
@@ -168,7 +174,7 @@ class ArtistAdapter(
} else {
val artist = dataSet[layoutPosition]
image?.let {
- if (PreferenceUtil.albumArtistsOnly && IAlbumArtistClickListener != null) {
+ if (albumArtistsOnly && IAlbumArtistClickListener != null) {
IAlbumArtistClickListener.onAlbumArtist(artist.name, imageContainer ?: it)
} else {
IArtistClickListener.onArtist(artist.id, imageContainer ?: it)
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
index 62aa816c2..3b9e7193a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/base/AbsMultiSelectAdapter.kt
@@ -7,6 +7,7 @@ import android.view.MenuItem
import androidx.annotation.MenuRes
import androidx.fragment.app.FragmentActivity
import androidx.recyclerview.widget.RecyclerView
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.interfaces.ICabCallback
@@ -31,7 +32,10 @@ abstract class AbsMultiSelectAdapter(
override fun onCabFinished(cab: AttachedCab): Boolean {
clearChecked()
- activity.window.statusBarColor = Color.TRANSPARENT
+ activity.window.statusBarColor = when {
+ VersionUtils.hasMarshmallow() -> Color.TRANSPARENT
+ else -> Color.BLACK
+ }
return true
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
index 0e52a5d73..827e3e90b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/OrderablePlaylistSongAdapter.kt
@@ -16,6 +16,7 @@ package code.name.monkey.retromusic.adapter.song
import android.view.MenuItem
import android.view.View
+import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.lifecycleScope
import code.name.monkey.appthemehelper.ThemeStore
@@ -129,7 +130,7 @@ class OrderablePlaylistSongAdapter(
}
init {
- dragView?.visibility = View.VISIBLE
+ dragView?.isVisible = true
}
override fun onClick(v: View?) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt
index 6495e6742..398f479bf 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/PlayingQueueAdapter.kt
@@ -16,6 +16,7 @@ package code.name.monkey.retromusic.adapter.song
import android.view.MenuItem
import android.view.View
+import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.glide.GlideApp
@@ -154,7 +155,7 @@ class PlayingQueueAdapter(
}
init {
- dragView?.visibility = View.VISIBLE
+ dragView?.isVisible = true
}
override fun onSongMenuItemClick(item: MenuItem): Boolean {
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
index 329c68749..29ccf448b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/ShuffleButtonSongAdapter.kt
@@ -15,6 +15,7 @@
package code.name.monkey.retromusic.adapter.song
import android.view.View
+import androidx.core.view.isVisible
import androidx.fragment.app.FragmentActivity
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.accentColor
@@ -61,7 +62,7 @@ class ShuffleButtonSongAdapter(
super.onBindViewHolder(holder, position - 1)
val landscape = RetroUtil.isLandscape()
if ((PreferenceUtil.songGridSize > 2 && !landscape) || (PreferenceUtil.songGridSizeLand > 5 && landscape)) {
- holder.menu?.visibility = View.GONE
+ holder.menu?.isVisible = false
}
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
index 2a2477222..ce1d28284 100644
--- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt
@@ -116,7 +116,7 @@ open class SongAdapter(
holder.title?.setTextColor(color.primaryTextColor)
holder.text?.setTextColor(color.secondaryTextColor)
holder.paletteColorContainer?.setBackgroundColor(color.backgroundColor)
- holder.menu?.imageTintList= ColorStateList.valueOf(color.primaryTextColor)
+ holder.menu?.imageTintList = ColorStateList.valueOf(color.primaryTextColor)
}
holder.mask?.backgroundTintList = ColorStateList.valueOf(color.primaryTextColor)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetCircle.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetCircle.kt
new file mode 100644
index 000000000..5bd4f6bbf
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetCircle.kt
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2020 Hemanth Savarla.
+ *
+ * Licensed under the GNU General Public License v3
+ *
+ * This 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 software 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.
+ *
+ */
+package code.name.monkey.retromusic.appwidgets
+
+import android.app.PendingIntent
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
+import android.graphics.Bitmap
+import android.graphics.drawable.Drawable
+import android.widget.RemoteViews
+import code.name.monkey.appthemehelper.util.MaterialValueHelper
+import code.name.monkey.appthemehelper.util.VersionUtils
+import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.activities.MainActivity
+import code.name.monkey.retromusic.appwidgets.base.BaseAppWidget
+import code.name.monkey.retromusic.glide.GlideApp
+import code.name.monkey.retromusic.glide.RetroGlideExtension
+import code.name.monkey.retromusic.glide.palette.BitmapPaletteWrapper
+import code.name.monkey.retromusic.service.MusicService
+import code.name.monkey.retromusic.service.MusicService.ACTION_TOGGLE_PAUSE
+import code.name.monkey.retromusic.service.MusicService.TOGGLE_FAVORITE
+import code.name.monkey.retromusic.util.ImageUtil
+import code.name.monkey.retromusic.util.MusicUtil
+import code.name.monkey.retromusic.util.PreferenceUtil
+import code.name.monkey.retromusic.util.RetroUtil
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.resource.bitmap.RoundedCorners
+import com.bumptech.glide.request.RequestOptions
+import com.bumptech.glide.request.target.SimpleTarget
+import com.bumptech.glide.request.target.Target
+import com.bumptech.glide.request.transition.Transition
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.runBlocking
+
+class AppWidgetCircle : BaseAppWidget() {
+ private var target: Target? = null // for cancellation
+
+ /**
+ * Initialize given widgets to default state, where we launch Music on default click and hide
+ * actions if service not running.
+ */
+ override fun defaultAppWidget(context: Context, appWidgetIds: IntArray) {
+ val appWidgetView = RemoteViews(context.packageName, R.layout.app_widget_circle)
+
+ appWidgetView.setImageViewResource(R.id.image, R.drawable.default_audio_art)
+ val secondaryColor = MaterialValueHelper.getSecondaryTextColor(context, true)
+ appWidgetView.setImageViewBitmap(
+ R.id.button_toggle_play_pause, createBitmap(
+ RetroUtil.getTintedVectorDrawable(
+ context,
+ R.drawable.ic_play_arrow,
+ secondaryColor
+ ), 1f
+ )
+ )
+
+ linkButtons(context, appWidgetView)
+ pushUpdate(context, appWidgetIds, appWidgetView)
+ }
+
+ /**
+ * Update all active widget instances by pushing changes
+ */
+ override fun performUpdate(service: MusicService, appWidgetIds: IntArray?) {
+ val appWidgetView = RemoteViews(service.packageName, R.layout.app_widget_circle)
+
+ val isPlaying = service.isPlaying
+ val song = service.currentSong
+
+ // Set correct drawable for pause state
+ val playPauseRes =
+ if (isPlaying) R.drawable.ic_pause else R.drawable.ic_play_arrow
+ appWidgetView.setImageViewBitmap(
+ R.id.button_toggle_play_pause, createBitmap(
+ RetroUtil.getTintedVectorDrawable(
+ service,
+ playPauseRes,
+ MaterialValueHelper.getSecondaryTextColor(service, true)
+ ), 1f
+ )
+ )
+ val isFavorite = runBlocking(Dispatchers.IO) {
+ return@runBlocking MusicUtil.repository.isSongFavorite(song.id)
+ }
+ val favoriteRes =
+ if (isFavorite) R.drawable.ic_favorite else R.drawable.ic_favorite_border
+ appWidgetView.setImageViewBitmap(
+ R.id.button_toggle_favorite, createBitmap(
+ RetroUtil.getTintedVectorDrawable(
+ service,
+ favoriteRes,
+ MaterialValueHelper.getSecondaryTextColor(service, true)
+ ), 1f
+ )
+ )
+
+ // Link actions buttons to intents
+ linkButtons(service, appWidgetView)
+
+ if (imageSize == 0) {
+ val p = RetroUtil.getScreenSize(service)
+ imageSize = p.x.coerceAtMost(p.y)
+ }
+
+ // Load the album cover async and push the update on completion
+ service.runOnUiThread {
+ if (target != null) {
+ Glide.with(service).clear(target)
+ }
+ target = GlideApp.with(service).asBitmapPalette().songCoverOptions(song)
+ .load(RetroGlideExtension.getSongModel(song))
+ .apply(
+ RequestOptions().transform(RoundedCorners(imageSize / 2))
+ )
+ .into(object : SimpleTarget(imageSize, imageSize) {
+ override fun onResourceReady(
+ resource: BitmapPaletteWrapper,
+ transition: Transition?
+ ) {
+ val palette = resource.palette
+ update(
+ resource.bitmap, palette.getVibrantColor(
+ palette.getMutedColor(
+ MaterialValueHelper.getSecondaryTextColor(
+ service, true
+ )
+ )
+ )
+ )
+ }
+
+ override fun onLoadFailed(errorDrawable: Drawable?) {
+ super.onLoadFailed(errorDrawable)
+ update(null, MaterialValueHelper.getSecondaryTextColor(service, true))
+ }
+
+ private fun update(bitmap: Bitmap?, color: Int) {
+ // Set correct drawable for pause state
+ appWidgetView.setImageViewBitmap(
+ R.id.button_toggle_play_pause, ImageUtil.createBitmap(
+ ImageUtil.getTintedVectorDrawable(
+ service, playPauseRes, color
+ )
+ )
+ )
+
+ // Set favorite button drawables
+ appWidgetView.setImageViewBitmap(
+ R.id.button_toggle_favorite, ImageUtil.createBitmap(
+ ImageUtil.getTintedVectorDrawable(
+ service, favoriteRes, color
+ )
+ )
+ )
+ appWidgetView.setImageViewBitmap(R.id.image, bitmap)
+
+ pushUpdate(service, appWidgetIds, appWidgetView)
+ }
+ })
+ }
+ }
+
+ /**
+ * Link up various button actions using [PendingIntent].
+ */
+ private fun linkButtons(context: Context, views: RemoteViews) {
+ val action = Intent(context, MainActivity::class.java)
+ .putExtra(
+ MainActivity.EXPAND_PANEL,
+ PreferenceUtil.isExpandPanel
+ )
+
+ val serviceName = ComponentName(context, MusicService::class.java)
+
+ // Home
+ action.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
+ var pendingIntent =
+ PendingIntent.getActivity(
+ context, 0, action, if (VersionUtils.hasMarshmallow())
+ PendingIntent.FLAG_IMMUTABLE
+ else 0
+ )
+ views.setOnClickPendingIntent(R.id.image, pendingIntent)
+ // Favorite track
+ pendingIntent = buildPendingIntent(context, TOGGLE_FAVORITE, serviceName)
+ views.setOnClickPendingIntent(R.id.button_toggle_favorite, pendingIntent)
+
+ // Play and pause
+ pendingIntent = buildPendingIntent(context, ACTION_TOGGLE_PAUSE, serviceName)
+ views.setOnClickPendingIntent(R.id.button_toggle_play_pause, pendingIntent)
+ }
+
+ companion object {
+
+ const val NAME = "app_widget_circle"
+
+ private var mInstance: AppWidgetCircle? = null
+ private var imageSize = 0
+
+ val instance: AppWidgetCircle
+ @Synchronized get() {
+ if (mInstance == null) {
+ mInstance = AppWidgetCircle()
+ }
+ return mInstance!!
+ }
+ }
+}
diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetMD3.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetMD3.kt
index a60c7bca5..6a468be0c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetMD3.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/AppWidgetMD3.kt
@@ -208,7 +208,13 @@ class AppWidgetMD3 : BaseAppWidget() {
val image = getAlbumArtDrawable(service.resources, bitmap)
val roundedBitmap = createRoundedBitmap(
- image, imageSize, imageSize, cardRadius, cardRadius, cardRadius, cardRadius
+ image,
+ imageSize,
+ imageSize,
+ cardRadius,
+ cardRadius,
+ cardRadius,
+ cardRadius
)
appWidgetView.setImageViewBitmap(R.id.image, roundedBitmap)
diff --git a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt
index 897203f8e..0e1508757 100644
--- a/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/appwidgets/base/BaseAppWidget.kt
@@ -58,7 +58,7 @@ abstract class BaseAppWidget : AppWidgetProvider() {
*/
fun notifyChange(service: MusicService, what: String) {
if (hasInstances(service)) {
- if (META_CHANGED == what || PLAY_STATE_CHANGED == what) {
+ if (META_CHANGED == what || PLAY_STATE_CHANGED == what || FAVORITE_STATE_CHANGED == what) {
performUpdate(service, null)
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/PlaybackSpeedDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/PlaybackSpeedDialog.kt
new file mode 100644
index 000000000..6965d0831
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/PlaybackSpeedDialog.kt
@@ -0,0 +1,58 @@
+package code.name.monkey.retromusic.dialogs
+
+import android.app.Dialog
+import android.os.Bundle
+import androidx.fragment.app.DialogFragment
+import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.DialogPlaybackSpeedBinding
+import code.name.monkey.retromusic.extensions.accent
+import code.name.monkey.retromusic.extensions.colorButtons
+import code.name.monkey.retromusic.extensions.materialDialog
+import code.name.monkey.retromusic.util.PreferenceUtil
+import com.google.android.material.slider.Slider
+
+class PlaybackSpeedDialog : DialogFragment() {
+
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ val binding = DialogPlaybackSpeedBinding.inflate(layoutInflater)
+ binding.playbackSpeedSlider.accent()
+ binding.playbackPitchSlider.accent()
+ binding.playbackSpeedSlider.addOnChangeListener(Slider.OnChangeListener { _, value, _ ->
+ binding.speedValue.text = "$value"
+ })
+ binding.playbackPitchSlider.addOnChangeListener(Slider.OnChangeListener { _, value, _ ->
+ binding.pitchValue.text = "$value"
+ })
+ binding.playbackSpeedSlider.value = PreferenceUtil.playbackSpeed
+ binding.playbackPitchSlider.value = PreferenceUtil.playbackPitch
+
+ return materialDialog(R.string.playback_settings)
+ .setNegativeButton(android.R.string.cancel, null)
+ .setPositiveButton(R.string.save) { _, _ ->
+ updatePlaybackAndPitch(
+ binding.playbackSpeedSlider.value,
+ binding.playbackPitchSlider.value
+ )
+ }
+ .setNeutralButton(R.string.reset_action) {_, _ ->
+ updatePlaybackAndPitch(
+ 1F,
+ 1F
+ )
+ }
+ .setView(binding.root)
+ .create()
+ .colorButtons()
+ }
+
+ private fun updatePlaybackAndPitch(speed: Float, pitch: Float) {
+ PreferenceUtil.playbackSpeed = speed
+ PreferenceUtil.playbackPitch = pitch
+ }
+
+ companion object {
+ fun newInstance(): PlaybackSpeedDialog {
+ return PlaybackSpeedDialog()
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt
index fc8b05f77..290004ea3 100755
--- a/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/dialogs/SleepTimerDialog.kt
@@ -14,7 +14,6 @@
*/
package code.name.monkey.retromusic.dialogs
-import android.annotation.SuppressLint
import android.app.AlarmManager
import android.app.Dialog
import android.app.PendingIntent
@@ -23,7 +22,6 @@ import android.content.Intent
import android.os.Bundle
import android.os.CountDownTimer
import android.os.SystemClock
-import android.view.LayoutInflater
import android.widget.CheckBox
import android.widget.SeekBar
import android.widget.TextView
@@ -31,6 +29,7 @@ import android.widget.Toast
import androidx.fragment.app.DialogFragment
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.DialogSleepTimerBinding
import code.name.monkey.retromusic.extensions.addAccentColor
import code.name.monkey.retromusic.extensions.colorButtons
import code.name.monkey.retromusic.extensions.materialDialog
@@ -49,31 +48,27 @@ class SleepTimerDialog : DialogFragment() {
private lateinit var timerUpdater: TimerUpdater
private lateinit var dialog: MaterialDialog
private lateinit var shouldFinishLastSong: CheckBox
- private lateinit var seekBar: SeekBar
private lateinit var timerDisplay: TextView
- @SuppressLint("InflateParams")
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
timerUpdater = TimerUpdater()
- val layout =
- LayoutInflater.from(requireContext()).inflate(R.layout.dialog_sleep_timer, null)
- shouldFinishLastSong = layout.findViewById(R.id.shouldFinishLastSong)
- seekBar = layout.findViewById(R.id.seekBar)
- timerDisplay = layout.findViewById(R.id.timerDisplay)
+ val binding = DialogSleepTimerBinding.inflate(layoutInflater)
+ shouldFinishLastSong = binding.shouldFinishLastSong
+ timerDisplay = binding.timerDisplay
val finishMusic = PreferenceUtil.isSleepTimerFinishMusic
shouldFinishLastSong.apply {
addAccentColor()
isChecked = finishMusic
}
- seekBar.apply {
+ binding.seekBar.apply {
addAccentColor()
seekArcProgress = PreferenceUtil.lastSleepTimerValue
updateTimeDisplayTime()
- seekBar.progress = seekArcProgress
+ progress = seekArcProgress
}
- seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
+ binding.seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
override fun onProgressChanged(seekBar: SeekBar, i: Int, b: Boolean) {
if (i < 1) {
seekBar.progress = 1
@@ -91,7 +86,7 @@ class SleepTimerDialog : DialogFragment() {
}
})
return materialDialog(R.string.action_sleep_timer)
- .setView(layout)
+ .setView(binding.root)
.setPositiveButton(R.string.action_set) { _, _ ->
PreferenceUtil.isSleepTimerFinishMusic = shouldFinishLastSong.isChecked
val minutes = seekArcProgress
@@ -170,7 +165,6 @@ class SleepTimerDialog : DialogFragment() {
) {
override fun onTick(millisUntilFinished: Long) {
- seekBar.progress = millisUntilFinished.toInt()
}
override fun onFinish() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt
index 582b5d438..86bec60d5 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ActivityThemeExtensions.kt
@@ -4,14 +4,11 @@ import android.app.ActivityManager
import android.graphics.Color
import android.os.Build
import android.view.View
+import android.view.View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
-import androidx.core.view.WindowCompat
-import androidx.core.view.WindowInsetsCompat
-import androidx.core.view.WindowInsetsControllerCompat
-import androidx.core.view.isGone
+import androidx.core.view.*
import androidx.fragment.app.FragmentActivity
-import code.name.monkey.appthemehelper.ATH
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
@@ -25,6 +22,22 @@ fun AppCompatActivity.toggleScreenOn() {
}
}
+fun AppCompatActivity.keepScreenOn(keepScreenOn: Boolean) {
+ if (keepScreenOn) {
+ window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
+ } else {
+ window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
+ }
+}
+
+fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
+ if (PreferenceUtil.isFullScreenMode) {
+ setImmersiveFullscreen()
+ } else {
+ setDrawBehindSystemBars()
+ }
+}
+
fun AppCompatActivity.setImmersiveFullscreen() {
if (PreferenceUtil.isFullScreenMode) {
WindowInsetsControllerCompat(window, window.decorView).apply {
@@ -36,6 +49,14 @@ fun AppCompatActivity.setImmersiveFullscreen() {
window.attributes.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
+ ViewCompat.setOnApplyWindowInsetsListener(window.decorView) { _, insets ->
+ if (insets.displayCutout != null) {
+ insets
+ } else {
+ // Consume insets if display doesn't have a Cutout
+ WindowInsetsCompat.CONSUMED
+ }
+ }
}
}
@@ -57,19 +78,19 @@ private fun AppCompatActivity.hideStatusBar(fullscreen: Boolean) {
}
fun AppCompatActivity.setDrawBehindSystemBars() {
- WindowCompat.setDecorFitsSystemWindows(window, false)
if (VersionUtils.hasOreo()) {
+ WindowCompat.setDecorFitsSystemWindows(window, false)
+ window.navigationBarColor = Color.TRANSPARENT
+ window.statusBarColor = Color.TRANSPARENT
if (VersionUtils.hasQ()) {
window.isNavigationBarContrastEnforced = false
}
- window.navigationBarColor = Color.TRANSPARENT
- window.statusBarColor = Color.TRANSPARENT
} else {
setNavigationBarColorPreOreo(surfaceColor())
if (VersionUtils.hasMarshmallow()) {
setStatusBarColor(Color.TRANSPARENT)
} else {
- setStatusBarColor(surfaceColor())
+ setStatusBarColor(Color.BLACK)
}
}
}
@@ -96,24 +117,49 @@ fun AppCompatActivity.setTaskDescriptionColorAuto() {
setTaskDescriptionColor(surfaceColor())
}
-fun AppCompatActivity.setLightNavigationAuto() {
- ATH.setLightNavigationBarAuto(this, surfaceColor())
+@Suppress("Deprecation")
+fun AppCompatActivity.setLightStatusBar(enabled: Boolean) {
+ if (VersionUtils.hasMarshmallow()) {
+ val decorView = window.decorView
+ val systemUiVisibility = decorView.systemUiVisibility
+ if (enabled) {
+ decorView.systemUiVisibility =
+ systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
+ } else {
+ decorView.systemUiVisibility =
+ systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
+ }
+ }
}
-fun AppCompatActivity.setLightStatusBar(enabled: Boolean) {
- ATH.setLightStatusBar(this, enabled)
+fun AppCompatActivity.setLightStatusBarAuto() {
+ setLightStatusBar(surfaceColor().isColorLight)
}
fun AppCompatActivity.setLightStatusBarAuto(bgColor: Int) {
- setLightStatusBar(ColorUtil.isColorLight(bgColor))
+ setLightStatusBar(bgColor.isColorLight)
}
+@Suppress("Deprecation")
fun AppCompatActivity.setLightNavigationBar(enabled: Boolean) {
- ATH.setLightNavigationBar(this, enabled)
+ if (VersionUtils.hasOreo()) {
+ val decorView = window.decorView
+ var systemUiVisibility = decorView.systemUiVisibility
+ systemUiVisibility = if (enabled) {
+ systemUiVisibility or SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
+ } else {
+ systemUiVisibility and SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR.inv()
+ }
+ decorView.systemUiVisibility = systemUiVisibility
+ }
+}
+
+fun AppCompatActivity.setLightNavigationBarAuto() {
+ setLightNavigationBar(surfaceColor().isColorLight)
}
fun AppCompatActivity.setLightNavigationBarAuto(bgColor: Int) {
- setLightNavigationBar(ColorUtil.isColorLight(bgColor))
+ setLightNavigationBar(bgColor.isColorLight)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
index 41c4f70de..b0b69b8fa 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ColorExtensions.kt
@@ -43,6 +43,7 @@ import com.google.android.material.button.MaterialButton
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.progressindicator.CircularProgressIndicator
+import com.google.android.material.slider.Slider
import com.google.android.material.textfield.TextInputLayout
fun Int.ripAlpha(): Int {
@@ -112,6 +113,22 @@ fun SeekBar.addAccentColor() {
thumbTintList = colorState
}
+fun Slider.addAccentColor() {
+ if (materialYou) return
+ val accentColor = ThemeStore.accentColor(context)
+ trackActiveTintList = accentColor.colorStateList
+ trackInactiveTintList = ColorUtil.withAlpha(accentColor, 0.5F).colorStateList
+ thumbTintList = accentColor.colorStateList
+}
+
+fun Slider.accent() {
+ if (materialYou) return
+ val accentColor = context.accentColor()
+ thumbTintList = accentColor.colorStateList
+ trackActiveTintList = accentColor.colorStateList
+ trackInactiveTintList = ColorUtil.withAlpha(accentColor, 0.1F).colorStateList
+}
+
fun Button.accentTextColor() {
if (materialYou) return
setTextColor(ThemeStore.accentColor(App.getContext()))
@@ -248,15 +265,10 @@ fun Context.getColorCompat(@ColorRes colorRes: Int): Int {
@ColorInt
fun Context.darkAccentColor(): Int {
- val colorSurfaceVariant = if (surfaceColor().isColorLight) {
- surfaceColor()
- } else {
- surfaceColor().lighterColor
- }
return ColorUtils.blendARGB(
accentColor(),
- colorSurfaceVariant,
- if (surfaceColor().isColorLight) 0.96f else 0.975f
+ surfaceColor(),
+ if (surfaceColor().isColorLight) 0.9f else 0.92f
)
}
@@ -269,6 +281,15 @@ fun Context.darkAccentColorVariant(): Int {
)
}
+@ColorInt
+fun Context.accentColorVariant(): Int {
+ return if (surfaceColor().isColorLight) {
+ accentColor().darkerColor
+ } else {
+ accentColor().lighterColor
+ }
+}
+
inline val @receiver:ColorInt Int.isColorLight
get() = ColorUtil.isColorLight(this)
@@ -276,4 +297,7 @@ inline val @receiver:ColorInt Int.lighterColor
get() = ColorUtil.lightenColor(this)
inline val @receiver:ColorInt Int.darkerColor
- get() = ColorUtil.darkenColor(this)
\ No newline at end of file
+ get() = ColorUtil.darkenColor(this)
+
+inline val Int.colorStateList : ColorStateList
+ get() = ColorStateList.valueOf(this)
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/DialogExtension.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/DialogExtension.kt
index c25c15e94..52449db17 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/DialogExtension.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/DialogExtension.kt
@@ -17,6 +17,7 @@ package code.name.monkey.retromusic.extensions
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.R
+import com.afollestad.materialdialogs.MaterialDialog
import com.google.android.material.dialog.MaterialAlertDialogBuilder
fun DialogFragment.materialDialog(title: Int): MaterialAlertDialogBuilder {
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt
index 5622f007b..fad431d2c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/IntentExtensions.kt
@@ -21,9 +21,9 @@ fun Fragment.createNewFile(
registerForActivityResult(ActivityResultContracts.StartActivityForResult())
{ result: ActivityResult ->
if (result.resultCode == Activity.RESULT_OK) {
- val outputStream: OutputStream? =
- context?.contentResolver?.openOutputStream(result.data?.data!!)
- write(outputStream, result.data?.data)
+ context?.contentResolver?.openOutputStream(result.data?.data!!)?.use { os->
+ write(os, result.data?.data)
+ }
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/SongExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/SongExtensions.kt
new file mode 100644
index 000000000..3565ac486
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/SongExtensions.kt
@@ -0,0 +1,6 @@
+package code.name.monkey.retromusic.extensions
+
+import code.name.monkey.retromusic.model.Song
+import code.name.monkey.retromusic.util.MusicUtil
+
+val Song.uri get() = MusicUtil.getSongFileUri(songId = id)
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
index 141540daa..38f9c64ed 100644
--- a/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/extensions/ViewExtensions.kt
@@ -20,11 +20,11 @@ import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.view.ViewGroup.MarginLayoutParams
import android.view.ViewTreeObserver
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import androidx.annotation.LayoutRes
+import androidx.annotation.Px
import androidx.core.animation.doOnEnd
import androidx.core.animation.doOnStart
import androidx.core.view.*
@@ -32,11 +32,8 @@ import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialdialogs.utils.MDUtil.updatePadding
import com.google.android.material.bottomsheet.BottomSheetBehavior
-import com.google.android.material.imageview.ShapeableImageView
-import com.google.android.material.shape.ShapeAppearanceModel
-
+import dev.chrisbanes.insetter.applyInsetter
@Suppress("UNCHECKED_CAST")
fun ViewGroup.inflate(@LayoutRes layout: Int): T {
@@ -44,19 +41,17 @@ fun ViewGroup.inflate(@LayoutRes layout: Int): T {
}
fun View.show() {
- visibility = View.VISIBLE
+ isVisible = true
}
fun View.hide() {
- visibility = View.GONE
+ isVisible = false
}
fun View.hidden() {
- visibility = View.INVISIBLE
+ isInvisible = true
}
-fun View.showOrHide(show: Boolean) = if (show) show() else hide()
-
fun EditText.appHandleColor(): EditText {
if (PreferenceUtil.materialYou) return this
TintHelper.colorHandles(this, ThemeStore.accentColor(context))
@@ -126,40 +121,50 @@ fun View.focusAndShowKeyboard() {
}
}
-fun ShapeableImageView.setCircleShape(boolean: Boolean) {
- addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ ->
- val radius = width / 2f
- shapeAppearanceModel = ShapeAppearanceModel().withCornerSize(radius)
- }
-}
-
-
/**
* This will draw our view above the navigation bar instead of behind it by adding margins.
*/
fun View.drawAboveSystemBars(onlyPortrait: Boolean = true) {
if (PreferenceUtil.isFullScreenMode) return
if (onlyPortrait && RetroUtil.isLandscape()) return
- // Create a snapshot of the view's margin state
- val initialMargin = recordInitialMarginForView(this)
- ViewCompat.setOnApplyWindowInsetsListener(
- (this)
- ) { _: View, windowInsets: WindowInsetsCompat ->
- val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
- // Apply the insets as a margin to the view.
- updateLayoutParams {
- leftMargin = initialMargin.left + insets.left
- bottomMargin = initialMargin.bottom + insets.bottom
- rightMargin = initialMargin.right + insets.right
+ applyInsetter {
+ type(navigationBars = true) {
+ margin()
}
- windowInsets
}
}
/**
* This will draw our view above the navigation bar instead of behind it by adding padding.
*/
-fun View.drawAboveSystemBarsWithPadding(consume: Boolean = false) {
+fun View.drawAboveSystemBarsWithPadding() {
+ if (PreferenceUtil.isFullScreenMode) return
+ applyInsetter {
+ type(navigationBars = true) {
+ padding()
+ }
+ }
+}
+
+fun View.drawNextToNavbar() {
+ if (PreferenceUtil.isFullScreenMode) return
+ applyInsetter {
+ type(statusBars = true, navigationBars = true) {
+ padding(horizontal = true)
+ }
+ }
+}
+
+fun View.updateMargin(
+ @Px left: Int = marginLeft,
+ @Px top: Int = marginTop,
+ @Px right: Int = marginRight,
+ @Px bottom: Int = marginBottom
+) {
+ (layoutParams as ViewGroup.MarginLayoutParams).updateMargins(left, top, right, bottom)
+}
+
+fun View.applyBottomInsets() {
if (PreferenceUtil.isFullScreenMode) return
val initialPadding = recordInitialPaddingForView(this)
@@ -168,11 +173,9 @@ fun View.drawAboveSystemBarsWithPadding(consume: Boolean = false) {
) { v: View, windowInsets: WindowInsetsCompat ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
v.updatePadding(
- left = initialPadding.left + insets.left,
- bottom = initialPadding.bottom + insets.bottom,
- right = initialPadding.right + insets.right
+ bottom = initialPadding.bottom + insets.bottom
)
- if (consume) WindowInsetsCompat.CONSUMED else windowInsets
+ windowInsets
}
requestApplyInsetsWhenAttached()
}
@@ -195,47 +198,6 @@ fun View.requestApplyInsetsWhenAttached() {
}
}
-fun View.drawNextToNavbar() {
- val initialPadding = recordInitialPaddingForView(this)
-
- ViewCompat.setOnApplyWindowInsetsListener(
- (this)
- ) { v: View, windowInsets: WindowInsetsCompat ->
- val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
- v.updatePadding(
- left = initialPadding.left + insets.left,
- right = initialPadding.right + insets.right
- )
- windowInsets
- }
- requestApplyInsetsWhenAttached()
-}
-
-fun View.addBottomInsets() {
- // Create a snapshot of the view's margin state
- val initialMargin = recordInitialMarginForView(this)
- ViewCompat.setOnApplyWindowInsetsListener(
- (this)
- ) { _: View, windowInsets: WindowInsetsCompat ->
- val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
- // Apply the insets as a margin to the view.
- updateLayoutParams {
- bottomMargin = initialMargin.bottom + insets.bottom
- }
- windowInsets
- }
-}
-
-data class InitialMargin(
- val left: Int, val top: Int,
- val right: Int, val bottom: Int
-)
-
-fun recordInitialMarginForView(view: View) = InitialMargin(
- view.marginLeft, view.marginTop, view.marginRight, view.marginBottom
-)
-
-
data class InitialPadding(
val left: Int, val top: Int,
val right: Int, val bottom: Int
@@ -243,4 +205,4 @@ data class InitialPadding(
fun recordInitialPaddingForView(view: View) = InitialPadding(
view.paddingLeft, view.paddingTop, view.paddingRight, view.paddingBottom
-)
+)
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt
index bc8d72cc9..be3904175 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt
@@ -16,6 +16,7 @@ package code.name.monkey.retromusic.fragments
import android.animation.ValueAnimator
import android.widget.Toast
+import androidx.core.animation.doOnEnd
import androidx.lifecycle.*
import code.name.monkey.retromusic.*
import code.name.monkey.retromusic.db.*
@@ -39,6 +40,7 @@ class LibraryViewModel(
private val _paletteColor = MutableLiveData()
private val home = MutableLiveData>()
+ private val suggestions = MutableLiveData>()
private val albums = MutableLiveData>()
private val songs = MutableLiveData>()
private val artists = MutableLiveData>()
@@ -55,6 +57,7 @@ class LibraryViewModel(
private fun loadLibraryContent() = viewModelScope.launch(IO) {
fetchHomeSections()
+ fetchSuggestions()
fetchSongs()
fetchAlbums()
fetchArtists()
@@ -92,38 +95,33 @@ class LibraryViewModel(
return home
}
+ fun getSuggestions(): LiveData> {
+ return suggestions
+ }
+
fun getFabMargin(): LiveData {
return fabMargin
}
- private fun fetchSongs() {
- viewModelScope.launch(IO) {
- songs.postValue(repository.allSongs())
- }
+ private suspend fun fetchSongs() {
+ songs.postValue(repository.allSongs())
}
- private fun fetchAlbums() {
- viewModelScope.launch(IO) {
- albums.postValue(repository.fetchAlbums())
- }
+ private suspend fun fetchAlbums() {
+ albums.postValue(repository.fetchAlbums())
+
}
- private fun fetchArtists() {
+ private suspend fun fetchArtists() {
if (PreferenceUtil.albumArtistsOnly) {
- viewModelScope.launch(IO) {
- artists.postValue(repository.albumArtists())
- }
+ artists.postValue(repository.albumArtists())
} else {
- viewModelScope.launch(IO) {
- artists.postValue(repository.fetchArtists())
- }
+ artists.postValue(repository.fetchArtists())
}
}
- private fun fetchPlaylists() {
- viewModelScope.launch(IO) {
- playlists.postValue(repository.fetchPlaylistWithSongs())
- }
+ private suspend fun fetchPlaylists() {
+ playlists.postValue(repository.fetchPlaylistWithSongs())
}
private fun fetchLegacyPlaylist() {
@@ -132,16 +130,16 @@ class LibraryViewModel(
}
}
- private fun fetchGenres() {
- viewModelScope.launch(IO) {
- genres.postValue(repository.fetchGenres())
- }
+ private suspend fun fetchGenres() {
+ genres.postValue(repository.fetchGenres())
}
- fun fetchHomeSections() {
- viewModelScope.launch(IO) {
- home.postValue(repository.homeSections())
- }
+ private suspend fun fetchHomeSections() {
+ home.postValue(repository.homeSections())
+ }
+
+ private suspend fun fetchSuggestions() {
+ suggestions.postValue(repository.suggestions())
}
fun search(query: String?, filter: Filter) {
@@ -151,7 +149,7 @@ class LibraryViewModel(
}
}
- fun forceReload(reloadType: ReloadType) = viewModelScope.launch {
+ fun forceReload(reloadType: ReloadType) = viewModelScope.launch(IO) {
when (reloadType) {
Songs -> fetchSongs()
Albums -> fetchAlbums()
@@ -159,6 +157,7 @@ class LibraryViewModel(
HomeSections -> fetchHomeSections()
Playlists -> fetchPlaylists()
Genres -> fetchGenres()
+ Suggestions -> fetchSuggestions()
}
}
@@ -255,7 +254,7 @@ class LibraryViewModel(
}
repository.insertSongs(songEntities)
} else {
- if (playlist != Playlist.empty){
+ if (playlist != Playlist.empty) {
val playListId = createPlaylist(PlaylistEntity(playlistName = playlist.name))
val songEntities = playlist.getSongs().map {
it.toSongEntity(playListId)
@@ -367,7 +366,7 @@ class LibraryViewModel(
Toast.LENGTH_SHORT
).show()
if (songs.isNotEmpty()) {
- Toast.makeText(
+ Toast.makeText(
App.getContext(),
"Adding songs to $playlistName",
Toast.LENGTH_SHORT
@@ -382,15 +381,16 @@ class LibraryViewModel(
fun setFabMargin(bottomMargin: Int) {
val currentValue = DensityUtil.dip2px(App.getContext(), 16F) +
bottomMargin
- if (currentValue != fabMargin.value) {
- ValueAnimator.ofInt(fabMargin.value!!, currentValue).apply {
- addUpdateListener {
- fabMargin.postValue(
- it.animatedValue as Int
- )
- }
- start()
+ ValueAnimator.ofInt(fabMargin.value!!, currentValue).apply {
+ addUpdateListener {
+ fabMargin.postValue(
+ (it.animatedValue as Int)
+ )
}
+ doOnEnd {
+ fabMargin.postValue(currentValue)
+ }
+ start()
}
}
}
@@ -402,4 +402,5 @@ enum class ReloadType {
HomeSections,
Playlists,
Genres,
+ Suggestions
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt
new file mode 100644
index 000000000..764dd84af
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/MusicSeekSkipTouchListener.kt
@@ -0,0 +1,61 @@
+package code.name.monkey.retromusic.fragments
+
+import android.annotation.SuppressLint
+import android.view.GestureDetector
+import android.view.MotionEvent
+import android.view.View
+import androidx.fragment.app.FragmentActivity
+import androidx.lifecycle.lifecycleScope
+import code.name.monkey.retromusic.helper.MusicPlayerRemote
+import kotlinx.coroutines.*
+
+/**
+ * @param activity, Activity
+ * @param next, if the button is next, if false then it's considered previous
+ */
+class MusicSeekSkipTouchListener(val activity: FragmentActivity, val next: Boolean) :
+ View.OnTouchListener {
+
+ var job: Job? = null
+ var counter = 0
+ var wasSeeking = false
+
+ private val gestureDetector = GestureDetector(activity, object :
+ GestureDetector.SimpleOnGestureListener() {
+ override fun onDown(e: MotionEvent?): Boolean {
+ job = activity.lifecycleScope.launch(Dispatchers.Default) {
+ counter = 0
+ while (isActive) {
+ delay(500)
+ wasSeeking = true
+ var seekingDuration = MusicPlayerRemote.songProgressMillis
+ if (next) {
+ seekingDuration += 5000 * (counter.floorDiv(2) + 1)
+ } else {
+ seekingDuration -= 5000 * (counter.floorDiv(2) + 1)
+ }
+ MusicPlayerRemote.seekTo(seekingDuration)
+ counter += 1
+ }
+ }
+ return super.onDown(e)
+ }
+ })
+
+ @SuppressLint("ClickableViewAccessibility")
+ override fun onTouch(v: View?, event: MotionEvent?): Boolean {
+ val action = event?.actionMasked
+ if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
+ job?.cancel()
+ if (!wasSeeking) {
+ if (next) {
+ MusicPlayerRemote.playNextSong()
+ } else {
+ MusicPlayerRemote.back()
+ }
+ }
+ wasSeeking = false
+ }
+ return gestureDetector.onTouchEvent(event)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt
index fba8e6edf..cbd858619 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumDetailsFragment.kt
@@ -107,7 +107,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
sharedElementEnterTransition = MaterialContainerTransform().apply {
drawingViewId = R.id.fragment_container
scrimColor = Color.TRANSPARENT
- setAllContainerColors(requireContext().resolveColor(R.attr.colorSurface))
+ setAllContainerColors(surfaceColor())
setPathMotion(MaterialArcMotion())
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
index a7422951b..a6f203c0e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt
@@ -57,7 +57,7 @@ class AlbumsFragment : AbsRecyclerViewCustomGridSizeFragment> = backupsMutableLiveData
fun loadBackups(context: Context) {
- BackupHelper.getBackupRoot(context).listFiles { _, name ->
+ BackupHelper.getBackupRoot().listFiles { _, name ->
return@listFiles name.endsWith(BackupHelper.BACKUP_EXTENSION)
}?.toList()?.let {
backupsMutableLiveData.value = it
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
index af92c73e2..73983765b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/RestoreActivity.kt
@@ -1,5 +1,6 @@
package code.name.monkey.retromusic.fragments.backup
+import android.content.ContentResolver
import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
@@ -52,7 +53,7 @@ class RestoreActivity : AppCompatActivity() {
}
private fun updateTheme() {
- AppCompatDelegate.setDefaultNightMode(ThemeManager.getNightMode(this))
+ AppCompatDelegate.setDefaultNightMode(ThemeManager.getNightMode())
// Apply dynamic colors to activity if enabled
if (PreferenceUtil.materialYou) {
@@ -65,10 +66,10 @@ class RestoreActivity : AppCompatActivity() {
private fun getFileName(uri: Uri?): String? {
when (uri?.scheme) {
- "file" -> {
+ ContentResolver.SCHEME_FILE -> {
return uri.lastPathSegment
}
- "content" -> {
+ ContentResolver.SCHEME_CONTENT -> {
val proj = arrayOf(MediaStore.Files.FileColumns.DISPLAY_NAME)
contentResolver.query(
uri, proj, null, null, null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
index 3530d8f60..ef85f0aa2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerControlsFragment.kt
@@ -14,14 +14,27 @@
*/
package code.name.monkey.retromusic.fragments.base
+import android.animation.ObjectAnimator
+import android.annotation.SuppressLint
+import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
+import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
+import android.widget.SeekBar
+import android.widget.TextView
import androidx.annotation.LayoutRes
+import androidx.core.view.isVisible
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.other.VolumeFragment
+import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
+import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
+import code.name.monkey.retromusic.service.MusicService
+import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -36,37 +49,101 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
protected abstract fun hide()
- protected abstract fun updateShuffleState()
-
- protected abstract fun updateRepeatState()
-
- protected abstract fun setUpProgressSlider()
-
abstract fun setColor(color: MediaNotificationProcessor)
- fun showBounceAnimation(view: View) {
- view.apply {
- clearAnimation()
- scaleX = 0.9f
- scaleY = 0.9f
- visibility = View.VISIBLE
- pivotX = (view.width / 2).toFloat()
- pivotY = (view.height / 2).toFloat()
+ var lastPlaybackControlsColor: Int = 0
+
+ var lastDisabledPlaybackControlsColor: Int = 0
+
+ var isSeeking = false
+ private set
+
+ open val progressSlider: SeekBar? = null
+
+ abstract val shuffleButton: ImageButton
+
+ abstract val repeatButton: ImageButton
+
+ open val nextButton: ImageButton? = null
+
+ open val previousButton: ImageButton? = null
+
+ open val songTotalTime: TextView? = null
+
+ open val songCurrentProgress: TextView? = null
+
+ private var progressAnimator: ObjectAnimator? = null
+
+ override fun onUpdateProgressViews(progress: Int, total: Int) {
+ progressSlider?.max = total
+
+ if (isSeeking) {
+ progressSlider?.progress = progress
+ } else {
+ progressAnimator = ObjectAnimator.ofInt(progressSlider, "progress", progress).apply {
+ duration = SLIDER_ANIMATION_TIME
+ interpolator = LinearInterpolator()
+ start()
+ }
- animate().setDuration(200)
- .setInterpolator(DecelerateInterpolator())
- .scaleX(1.1f)
- .scaleY(1.1f)
- .withEndAction {
- animate().setDuration(200)
- .setInterpolator(AccelerateInterpolator())
- .scaleX(1f)
- .scaleY(1f)
- .alpha(1f)
- .start()
- }
- .start()
}
+ songTotalTime?.text = MusicUtil.getReadableDurationString(total.toLong())
+ songCurrentProgress?.text = MusicUtil.getReadableDurationString(progress.toLong())
+ }
+
+ private fun setUpProgressSlider() {
+ progressSlider?.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
+ override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
+ if (fromUser) {
+ onUpdateProgressViews(
+ progress,
+ MusicPlayerRemote.songDurationMillis
+ )
+ }
+ }
+
+ override fun onStartTrackingTouch(seekBar: SeekBar) {
+ isSeeking = true
+ progressViewUpdateHelper.stop()
+ progressAnimator?.cancel()
+ }
+
+ override fun onStopTrackingTouch(seekBar: SeekBar) {
+ isSeeking = false
+ MusicPlayerRemote.seekTo(seekBar.progress)
+ progressViewUpdateHelper.start()
+ }
+ })
+ }
+
+ private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
+ }
+
+ fun View.showBounceAnimation() {
+ clearAnimation()
+ scaleX = 0.9f
+ scaleY = 0.9f
+ isVisible = true
+ pivotX = (width / 2).toFloat()
+ pivotY = (height / 2).toFloat()
+
+ animate().setDuration(200)
+ .setInterpolator(DecelerateInterpolator())
+ .scaleX(1.1f)
+ .scaleY(1.1f)
+ .withEndAction {
+ animate().setDuration(200)
+ .setInterpolator(AccelerateInterpolator())
+ .scaleX(1f)
+ .scaleY(1f)
+ .alpha(1f)
+ .start()
+ }
+ .start()
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -74,6 +151,68 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
hideVolumeIfAvailable()
}
+ override fun onStart() {
+ super.onStart()
+ setUpProgressSlider()
+ setUpPrevNext()
+ setUpShuffleButton()
+ setUpRepeatButton()
+ }
+
+ @SuppressLint("ClickableViewAccessibility")
+ private fun setUpPrevNext() {
+ nextButton?.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
+ previousButton?.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
+ }
+
+ private fun setUpShuffleButton() {
+ shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
+ }
+
+ private fun setUpRepeatButton() {
+ repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
+ }
+
+ fun updatePrevNextColor() {
+ nextButton?.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
+ previousButton?.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
+ }
+
+ fun updateShuffleState() {
+ shuffleButton.setColorFilter(
+ when (MusicPlayerRemote.shuffleMode) {
+ MusicService.SHUFFLE_MODE_SHUFFLE -> lastPlaybackControlsColor
+ else -> lastDisabledPlaybackControlsColor
+ }, PorterDuff.Mode.SRC_IN
+ )
+ }
+
+ fun updateRepeatState() {
+ when (MusicPlayerRemote.repeatMode) {
+ MusicService.REPEAT_MODE_NONE -> {
+ repeatButton.setImageResource(R.drawable.ic_repeat)
+ repeatButton.setColorFilter(
+ lastDisabledPlaybackControlsColor,
+ PorterDuff.Mode.SRC_IN
+ )
+ }
+ MusicService.REPEAT_MODE_ALL -> {
+ repeatButton.setImageResource(R.drawable.ic_repeat)
+ repeatButton.setColorFilter(
+ lastPlaybackControlsColor,
+ PorterDuff.Mode.SRC_IN
+ )
+ }
+ MusicService.REPEAT_MODE_THIS -> {
+ repeatButton.setImageResource(R.drawable.ic_repeat_one)
+ repeatButton.setColorFilter(
+ lastPlaybackControlsColor,
+ PorterDuff.Mode.SRC_IN
+ )
+ }
+ }
+ }
+
protected var volumeFragment: VolumeFragment? = null
private fun hideVolumeIfAvailable() {
@@ -82,10 +221,20 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
.replace(R.id.volumeFragmentContainer, VolumeFragment()).commit()
childFragmentManager.executePendingTransactions()
volumeFragment =
- childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment?
+ childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as? VolumeFragment
}
}
+ override fun onResume() {
+ super.onResume()
+ progressViewUpdateHelper.start()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ progressViewUpdateHelper.stop()
+ }
+
companion object {
const val SLIDER_ANIMATION_TIME: Long = 400
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt
index 403d5d6a8..872f843d2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt
@@ -32,13 +32,14 @@ import android.view.View
import android.widget.RelativeLayout
import android.widget.Toast
import androidx.annotation.LayoutRes
-import androidx.appcompat.graphics.drawable.DrawableWrapper
import androidx.appcompat.widget.Toolbar
import androidx.core.os.bundleOf
+import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import androidx.navigation.findNavController
import androidx.navigation.navOptions
import androidx.viewpager.widget.ViewPager
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
import code.name.monkey.retromusic.EXTRA_ARTIST_ID
import code.name.monkey.retromusic.R
@@ -50,6 +51,7 @@ import code.name.monkey.retromusic.db.toSongEntity
import code.name.monkey.retromusic.dialogs.*
import code.name.monkey.retromusic.extensions.currentFragment
import code.name.monkey.retromusic.extensions.hide
+import code.name.monkey.retromusic.extensions.keepScreenOn
import code.name.monkey.retromusic.extensions.whichFragment
import code.name.monkey.retromusic.fragments.NowPlayingScreen
import code.name.monkey.retromusic.fragments.ReloadType
@@ -78,9 +80,18 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
): Boolean {
val song = MusicPlayerRemote.currentSong
when (item.itemId) {
+ R.id.action_playback_speed -> {
+ PlaybackSpeedDialog.newInstance().show(childFragmentManager, "PLAYBACK_SETTINGS")
+ return true
+ }
R.id.action_toggle_lyrics -> {
- PreferenceUtil.showLyrics = !item.isChecked
- item.isChecked = !item.isChecked
+ PreferenceUtil.showLyrics = !PreferenceUtil.showLyrics
+ showLyricsIcon(item)
+ if (PreferenceUtil.lyricsScreenOn && PreferenceUtil.showLyrics) {
+ mainActivity.keepScreenOn(true)
+ } else if (!PreferenceUtil.isScreenOnEnabled && !PreferenceUtil.showLyrics) {
+ mainActivity.keepScreenOn(false)
+ }
return true
}
R.id.action_go_to_lyrics -> {
@@ -162,7 +173,7 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
return true
}
R.id.action_sleep_timer -> {
- SleepTimerDialog().show(parentFragmentManager, TAG)
+ SleepTimerDialog().show(parentFragmentManager, "SLEEP_TIMER")
return true
}
R.id.action_set_as_ringtone -> {
@@ -193,6 +204,18 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
return false
}
+ private fun showLyricsIcon(item: MenuItem) {
+ val icon =
+ if (PreferenceUtil.showLyrics) R.drawable.ic_lyrics else R.drawable.ic_lyrics_outline
+ val drawable: Drawable = RetroUtil.getTintedVectorDrawable(
+ requireContext(),
+ icon,
+ toolbarIconColor()
+ )
+ item.isChecked = PreferenceUtil.showLyrics
+ item.icon = drawable
+ }
+
abstract fun playerToolbar(): Toolbar?
abstract fun onShow()
@@ -237,7 +260,7 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
val isFavorite: Boolean =
libraryViewModel.isSongFavorite(MusicPlayerRemote.currentSong.id)
withContext(Main) {
- val icon = if (animate) {
+ val icon = if (animate && VersionUtils.hasMarshmallow()) {
if (isFavorite) R.drawable.avd_favorite else R.drawable.avd_unfavorite
} else {
if (isFavorite) R.drawable.ic_favorite else R.drawable.ic_favorite_border
@@ -269,7 +292,7 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
if (PreferenceUtil.isFullScreenMode &&
view.findViewById(R.id.status_bar) != null
) {
- view.findViewById(R.id.status_bar).visibility = View.GONE
+ view.findViewById(R.id.status_bar).isVisible = false
}
playerAlbumCoverFragment = whichFragment(R.id.playerAlbumCoverFragment)
playerAlbumCoverFragment?.setCallbacks(this)
@@ -287,9 +310,8 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
playerToolbar()?.menu?.removeItem(R.id.action_toggle_lyrics)
} else {
playerToolbar()?.menu?.findItem(R.id.action_toggle_lyrics)?.apply {
- fixCheckStateOnIcon()
- isCheckable = true
isChecked = PreferenceUtil.showLyrics
+ showLyricsIcon(this)
}
}
requireView().setOnTouchListener(
@@ -412,15 +434,4 @@ fun goToLyrics(activity: Activity) {
null
)
}
-}
-/** Fixes checked state being ignored by injecting checked state directly into drawable */
-@SuppressLint("RestrictedApi")
-class CheckDrawableWrapper(val menuItem: MenuItem) : DrawableWrapper(menuItem.icon) {
- // inject checked state into drawable state set
- override fun setState(stateSet: IntArray) = super.setState(
- if (menuItem.isChecked) stateSet + android.R.attr.state_checked else stateSet
- )
-}
-
-/** Wrap icon drawable with [CheckDrawableWrapper]. */
-fun MenuItem.fixCheckStateOnIcon() = apply { icon = CheckDrawableWrapper(this) }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
index 979e3646a..1f0e6708e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt
@@ -32,14 +32,11 @@ import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.dip
-import code.name.monkey.retromusic.extensions.drawNextToNavbar
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.interfaces.IScrollHelper
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.ThemedFastScroller.create
-import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.transition.MaterialFadeThrough
-import com.google.android.material.transition.MaterialSharedAxis
import me.zhanghai.android.fastscroll.FastScroller
import me.zhanghai.android.fastscroll.FastScrollerBuilder
@@ -60,7 +57,7 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
view.doOnPreDraw { startPostponedEnterTransition() }
enterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
reenterTransition = MaterialFadeThrough().addTarget(binding.recyclerView)
- mainActivity.setSupportActionBar(binding.toolbar)
+ mainActivity.setSupportActionBar(toolbar)
mainActivity.supportActionBar?.title = null
initLayoutManager()
initAdapter()
@@ -99,25 +96,18 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
open fun onShuffleClicked() {
}
- fun toolbar(): Toolbar {
- return binding.toolbar
- }
+ val toolbar: Toolbar get() = binding.appBarLayout.toolbar
private fun setupToolbar() {
- binding.toolbar.setNavigationOnClickListener {
- exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(requireView())
- reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
+ toolbar.setNavigationOnClickListener {
findNavController().navigate(
- R.id.searchFragment,
+ R.id.action_search,
null,
navOptions
)
}
val appName = resources.getString(titleRes)
- binding.appNameText.text = appName
- binding.toolbarContainer.drawNextToNavbar()
- binding.appBarLayout.statusBarForeground =
- MaterialShapeDrawable.createWithElevationOverlay(requireContext())
+ binding.appBarLayout.title = appName
}
abstract val titleRes: Int
@@ -155,17 +145,19 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
private fun checkIsEmpty() {
binding.emptyText.setText(emptyMessage)
- binding.empty.visibility = if (adapter!!.itemCount == 0) View.VISIBLE else View.GONE
+ binding.empty.isVisible = adapter!!.itemCount == 0
}
private fun checkForPadding() {
val itemCount: Int = adapter?.itemCount ?: 0
- if (itemCount > 0 && MusicPlayerRemote.playingQueue.isNotEmpty()) {
- binding.recyclerView.updatePadding(bottom = dip(R.dimen.mini_player_height_expanded))
- } else {
- binding.recyclerView.updatePadding(bottom = dip(R.dimen.bottom_nav_height))
- }
+ binding.recyclerView.updatePadding(
+ bottom = if (itemCount > 0 && MusicPlayerRemote.playingQueue.isNotEmpty()) {
+ dip(R.dimen.mini_player_height_expanded)
+ } else {
+ dip(R.dimen.bottom_nav_height)
+ }
+ )
}
private fun initLayoutManager() {
@@ -209,7 +201,7 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
override fun onPrepareOptionsMenu(menu: Menu) {
super.onPrepareOptionsMenu(menu)
- ToolbarContentTintHelper.handleOnPrepareOptionsMenu(requireActivity(), binding.toolbar)
+ ToolbarContentTintHelper.handleOnPrepareOptionsMenu(requireActivity(), toolbar)
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
@@ -217,9 +209,9 @@ abstract class AbsRecyclerViewFragment, LM : Recycle
inflater.inflate(R.menu.menu_main, menu)
ToolbarContentTintHelper.handleOnCreateOptionsMenu(
requireContext(),
- binding.toolbar,
+ toolbar,
menu,
- ATHToolbarActivity.getToolbarBackgroundColor(binding.toolbar)
+ ATHToolbarActivity.getToolbarBackgroundColor(toolbar)
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
index fc2bb72f7..61b49b8b6 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt
@@ -24,9 +24,10 @@ import android.webkit.MimeTypeMap
import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.widget.PopupMenu
+import androidx.core.view.isVisible
import androidx.loader.app.LoaderManager
import androidx.loader.content.Loader
-import androidx.navigation.Navigation.findNavController
+import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
@@ -57,12 +58,10 @@ import code.name.monkey.retromusic.misc.WrappedAsyncTaskLoader
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.providers.BlacklistStore
import code.name.monkey.retromusic.util.*
-import code.name.monkey.retromusic.util.DensityUtil.dip2px
import code.name.monkey.retromusic.util.PreferenceUtil.startDirectory
import code.name.monkey.retromusic.util.ThemedFastScroller.create
import code.name.monkey.retromusic.views.BreadCrumbLayout.Crumb
import code.name.monkey.retromusic.views.BreadCrumbLayout.SelectionCallback
-import code.name.monkey.retromusic.views.ScrollingViewOnApplyWindowInsetsListener
import com.afollestad.materialcab.attached.AttachedCab
import com.afollestad.materialcab.attached.destroy
import com.afollestad.materialcab.attached.isActive
@@ -71,7 +70,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.transition.MaterialFadeThrough
-import com.google.android.material.transition.MaterialSharedAxis
import java.io.*
import java.lang.ref.WeakReference
import java.util.*
@@ -94,14 +92,10 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
}
private var storageItems = ArrayList()
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
- ): View {
- _binding = FragmentFolderBinding.inflate(inflater, container, false)
- return binding.root
- }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ _binding = FragmentFolderBinding.bind(view)
+
mainActivity.addMusicServiceEventListener(libraryViewModel)
mainActivity.setSupportActionBar(binding.toolbar)
mainActivity.supportActionBar?.title = null
@@ -118,7 +112,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
override fun handleOnBackPressed() {
if (!handleBackPress()) {
remove()
- mainActivity.finish()
+ requireActivity().onBackPressed()
}
}
})
@@ -128,10 +122,8 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
private fun setUpTitle() {
- binding.toolbar.setNavigationOnClickListener { v: View? ->
- exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).setDuration(300)
- reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false).setDuration(300)
- findNavController(v!!).navigate(R.id.searchFragment, null, navOptions)
+ binding.toolbar.setNavigationOnClickListener {
+ findNavController().navigate(R.id.action_search, null, navOptions)
}
binding.appNameText.text = resources.getString(R.string.folders)
}
@@ -156,12 +148,8 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
override fun onPause() {
super.onPause()
saveScrollPosition()
- }
-
- override fun onSaveInstanceState(outState: Bundle) {
- super.onSaveInstanceState(outState)
- if (_binding != null) {
- outState.putParcelable(CRUMBS, binding.breadCrumbs.stateWrapper)
+ if (cab.isActive()) {
+ cab.destroy()
}
}
@@ -308,7 +296,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
openQueue(songs, startIndex, true)
} else {
Snackbar.make(
- binding.root,
+ mainActivity.slidingPanel,
Html.fromHtml(
String.format(
getString(R.string.not_listed_in_media_store), file1.name
@@ -381,6 +369,8 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER)
menu.add(0, R.id.action_go_to_start_directory, 1, R.string.action_go_to_start_directory)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER)
+ menu.add(0, R.id.action_settings, 2, R.string.action_settings)
+ .setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER)
menu.removeItem(R.id.action_grid_size)
menu.removeItem(R.id.action_layout_type)
menu.removeItem(R.id.action_sort_order)
@@ -416,6 +406,14 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
}
return true
}
+ R.id.action_settings -> {
+ findNavController().navigate(
+ R.id.settingsActivity,
+ null,
+ navOptions
+ )
+ return true
+ }
}
return super.onOptionsItemSelected(item)
}
@@ -461,8 +459,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder),
private fun checkIsEmpty() {
if (_binding != null) {
binding.emptyEmoji.text = getEmojiByUnicode(0x1F631)
- binding.empty.visibility =
- if (adapter == null || adapter!!.itemCount == 0) View.VISIBLE else View.GONE
+ binding.empty.isVisible = adapter?.itemCount == 0
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt
index a12d787b2..dc382d52a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenreDetailsFragment.kt
@@ -21,6 +21,7 @@ import android.view.MenuItem
import android.view.View
import androidx.core.view.ViewCompat
import androidx.core.view.doOnPreDraw
+import androidx.core.view.isVisible
import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
@@ -100,7 +101,7 @@ class GenreDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playlist_
private fun checkIsEmpty() {
checkForPadding()
binding.emptyEmoji.text = getEmojiByUnicode(0x1F631)
- binding.empty.visibility = if (songAdapter.itemCount == 0) View.VISIBLE else View.GONE
+ binding.empty.isVisible = songAdapter.itemCount == 0
}
private fun checkForPadding() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt
index a1b6cdb63..a738d8ab8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt
@@ -48,7 +48,7 @@ GenresFragment : AbsRecyclerViewFragment(),
})
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
remove()
- mainActivity.finish()
+ requireActivity().onBackPressed()
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBinding.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBinding.kt
new file mode 100644
index 000000000..7ea737b7c
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBinding.kt
@@ -0,0 +1,23 @@
+package code.name.monkey.retromusic.fragments.home
+
+import code.name.monkey.retromusic.databinding.FragmentHomeBinding
+
+class HomeBinding(
+ homeBinding: FragmentHomeBinding
+) {
+ val root = homeBinding.root
+ val container = homeBinding.container
+ val contentContainer = homeBinding.contentContainer
+ val appBarLayout = homeBinding.appBarLayout
+ val toolbar = homeBinding.toolbar
+ val bannerImage = homeBinding.imageLayout.bannerImage
+ val userImage = homeBinding.imageLayout.userImage
+ val lastAdded = homeBinding.homeContent.absPlaylists.lastAdded
+ val topPlayed = homeBinding.homeContent.absPlaylists.topPlayed
+ val actionShuffle = homeBinding.homeContent.absPlaylists.actionShuffle
+ val history = homeBinding.homeContent.absPlaylists.history
+ val recyclerView = homeBinding.homeContent.recyclerView
+ val titleWelcome = homeBinding.imageLayout.titleWelcome
+ val appNameText = homeBinding.appNameText
+ val suggestions = homeBinding.homeContent.suggestions
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBindingAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBindingAdapter.kt
deleted file mode 100644
index 2cb2e79d8..000000000
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeBindingAdapter.kt
+++ /dev/null
@@ -1,31 +0,0 @@
-package code.name.monkey.retromusic.fragments.home
-
-import code.name.monkey.retromusic.databinding.FragmentBannerHomeBinding
-import code.name.monkey.retromusic.databinding.FragmentHomeBinding
-
-class HomeBindingAdapter(
- homeBinding: FragmentHomeBinding?,
- bannerHomeBinding: FragmentBannerHomeBinding?
-) {
- val root = homeBinding?.root ?: bannerHomeBinding?.root!!
- val container = homeBinding?.container ?: bannerHomeBinding?.container!!
- val contentContainer = homeBinding?.contentContainer ?: bannerHomeBinding?.contentContainer!!
- val appBarLayout = homeBinding?.appBarLayout ?: bannerHomeBinding?.appBarLayout!!
- val toolbar = homeBinding?.toolbar
- ?: bannerHomeBinding?.toolbar!!
- val bannerImage = bannerHomeBinding?.bannerImage
- val userImage = homeBinding?.userImage
- ?: bannerHomeBinding?.userImage!!
- val lastAdded = homeBinding?.homeContent?.absPlaylists?.lastAdded
- ?: bannerHomeBinding?.homeContent?.absPlaylists?.lastAdded!!
- val topPlayed = homeBinding?.homeContent?.absPlaylists?.topPlayed
- ?: bannerHomeBinding?.homeContent?.absPlaylists?.topPlayed!!
- val actionShuffle = homeBinding?.homeContent?.absPlaylists?.actionShuffle
- ?: bannerHomeBinding?.homeContent?.absPlaylists?.actionShuffle!!
- val history = homeBinding?.homeContent?.absPlaylists?.history
- ?: bannerHomeBinding?.homeContent?.absPlaylists?.history!!
- val recyclerView = homeBinding?.homeContent?.recyclerView
- ?: bannerHomeBinding?.homeContent?.recyclerView!!
- val titleWelcome = homeBinding?.titleWelcome ?: bannerHomeBinding?.titleWelcome!!
- val appNameText = homeBinding?.appNameText ?: bannerHomeBinding?.appNameText!!
-}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
index 3390621d4..c20fa7644 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
@@ -25,24 +25,29 @@ import androidx.core.os.bundleOf
import androidx.core.text.HtmlCompat
import androidx.core.view.doOnLayout
import androidx.core.view.doOnPreDraw
+import androidx.core.view.isVisible
import androidx.navigation.fragment.FragmentNavigatorExtras
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
+import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.common.ATHToolbarActivity
+import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.*
import code.name.monkey.retromusic.adapter.HomeAdapter
-import code.name.monkey.retromusic.databinding.FragmentBannerHomeBinding
import code.name.monkey.retromusic.databinding.FragmentHomeBinding
import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog
import code.name.monkey.retromusic.dialogs.ImportPlaylistDialog
import code.name.monkey.retromusic.extensions.accentColor
import code.name.monkey.retromusic.extensions.drawNextToNavbar
import code.name.monkey.retromusic.extensions.elevatedAccentColor
+import code.name.monkey.retromusic.fragments.ReloadType
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.glide.GlideApp
import code.name.monkey.retromusic.glide.RetroGlideExtension
+import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.interfaces.IScrollHelper
+import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PreferenceUtil
import com.google.android.gms.cast.framework.CastButtonFactory
import com.google.android.material.shape.MaterialShapeDrawable
@@ -50,15 +55,15 @@ import com.google.android.material.transition.MaterialFadeThrough
import com.google.android.material.transition.MaterialSharedAxis
class HomeFragment :
- AbsMainActivityFragment(if (PreferenceUtil.isHomeBanner) R.layout.fragment_banner_home else R.layout.fragment_home),
- IScrollHelper {
+ AbsMainActivityFragment(R.layout.fragment_home), IScrollHelper {
- private var _binding: HomeBindingAdapter? = null
+ private var _binding: HomeBinding? = null
private val binding get() = _binding!!
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- _binding = getBinding(PreferenceUtil.isHomeBanner, view)
+ val homeBinding = FragmentHomeBinding.bind(view)
+ _binding = HomeBinding(homeBinding)
mainActivity.setSupportActionBar(binding.toolbar)
mainActivity.supportActionBar?.title = null
setupListeners()
@@ -75,6 +80,9 @@ class HomeFragment :
libraryViewModel.getHome().observe(viewLifecycleOwner, {
homeAdapter.swapData(it)
})
+ libraryViewModel.getSuggestions().observe(viewLifecycleOwner, {
+ loadSuggestions(it)
+ })
loadProfile()
setupTitle()
@@ -86,7 +94,7 @@ class HomeFragment :
binding.toolbar.drawNextToNavbar()
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
remove()
- mainActivity.finish()
+ requireActivity().onBackPressed()
}
view.doOnLayout {
adjustPlaylistButtons()
@@ -96,7 +104,7 @@ class HomeFragment :
private fun adjustPlaylistButtons() {
val buttons =
listOf(binding.history, binding.lastAdded, binding.topPlayed, binding.actionShuffle)
- buttons.maxOf { it.lineCount }.let { maxLineCount->
+ buttons.maxOf { it.lineCount }.let { maxLineCount ->
buttons.forEach { button ->
// Set the highest line count to every button for consistency
button.setLines(maxLineCount)
@@ -150,24 +158,17 @@ class HomeFragment :
)
)
}
- }
-
- private fun getBinding(homeBanner: Boolean, view: View): HomeBindingAdapter {
- return if (homeBanner) {
- val homeBannerBinding = FragmentBannerHomeBinding.bind(view)
- HomeBindingAdapter(null, homeBannerBinding)
- } else {
- val homeBinding = FragmentHomeBinding.bind(view)
- HomeBindingAdapter(homeBinding, null)
+ // Reload suggestions
+ binding.suggestions.refreshButton.setOnClickListener {
+ libraryViewModel.forceReload(
+ ReloadType.Suggestions
+ )
}
}
private fun setupTitle() {
binding.toolbar.setNavigationOnClickListener {
- exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(binding.root)
- reenterTransition =
- MaterialSharedAxis(MaterialSharedAxis.Z, false)
- findNavController().navigate(R.id.searchFragment, null, navOptions)
+ findNavController().navigate(R.id.action_search, null, navOptions)
}
val hexColor = String.format("#%06X", 0xFFFFFF and accentColor())
val appName = HtmlCompat.fromHtml(
@@ -234,6 +235,51 @@ class HomeFragment :
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Y, false)
}
+ private fun loadSuggestions(songs: List) {
+ if (songs.isEmpty()) {
+ binding.suggestions.root.isVisible = false
+ return
+ }
+ val images = listOf(
+ binding.suggestions.image1,
+ binding.suggestions.image2,
+ binding.suggestions.image3,
+ binding.suggestions.image4,
+ binding.suggestions.image5,
+ binding.suggestions.image6,
+ binding.suggestions.image7,
+ binding.suggestions.image8
+ )
+ val color = ThemeStore.accentColor(requireContext())
+ binding.suggestions.message.apply {
+ setTextColor(color)
+ setOnClickListener {
+ it.isClickable = false
+ it.postDelayed({ it.isClickable = true }, 500)
+ MusicPlayerRemote.playNext(songs.subList(0, 8))
+ if (!MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.playNextSong()
+ }
+ }
+ }
+ binding.suggestions.card6.setCardBackgroundColor(ColorUtil.withAlpha(color, 0.12f))
+ images.forEachIndexed { index, imageView ->
+ imageView.setOnClickListener {
+ it.isClickable = false
+ it.postDelayed({ it.isClickable = true }, 500)
+ MusicPlayerRemote.playNext(songs[index])
+ if (!MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.playNextSong()
+ }
+ }
+ GlideApp.with(this)
+ .asBitmap()
+ .songCoverOptions(songs[index])
+ .load(RetroGlideExtension.getSongModel(songs[index]))
+ .into(imageView)
+ }
+ }
+
companion object {
const val TAG: String = "BannerHomeFragment"
@@ -270,7 +316,7 @@ class HomeFragment :
override fun onResume() {
super.onResume()
- libraryViewModel.fetchHomeSections()
+ libraryViewModel.forceReload(ReloadType.HomeSections)
}
override fun onDestroyView() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt
index 0a468f350..83a6eb508 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt
@@ -54,7 +54,7 @@ class LibraryFragment : AbsMainActivityFragment(R.layout.fragment_library) {
mainActivity.supportActionBar?.title = null
binding.toolbar.setNavigationOnClickListener {
findNavController().navigate(
- R.id.searchFragment,
+ R.id.action_search,
null,
navOptions
)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/CoverLyricsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/CoverLyricsFragment.kt
index c7aabefd1..c41c3c1bd 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/CoverLyricsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/CoverLyricsFragment.kt
@@ -12,8 +12,10 @@ import androidx.preference.PreferenceManager
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.SHOW_LYRICS
import code.name.monkey.retromusic.databinding.FragmentCoverLyricsBinding
+import code.name.monkey.retromusic.fragments.NowPlayingScreen
import code.name.monkey.retromusic.fragments.base.AbsMusicServiceFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
+import code.name.monkey.retromusic.fragments.base.goToLyrics
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.model.lyrics.AbsSynchronizedLyrics
@@ -45,6 +47,14 @@ class CoverLyricsFragment : AbsMusicServiceFragment(R.layout.fragment_cover_lyri
if (PreferenceUtil.showLyrics) {
progressViewUpdateHelper?.start()
}
+ // Remove background on Fit theme
+ val nps = PreferenceUtil.nowPlayingScreen
+ if (nps == NowPlayingScreen.Fit || nps == NowPlayingScreen.Full) {
+ binding.root.background = null
+ }
+ binding.playerLyricsLine2.setOnClickListener {
+ goToLyrics(requireActivity())
+ }
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) {
@@ -110,7 +120,7 @@ class CoverLyricsFragment : AbsMusicServiceFragment(R.layout.fragment_cover_lyri
if (lyrics !is AbsSynchronizedLyrics) return
val synchronizedLyrics = lyrics as AbsSynchronizedLyrics
- lyricsLayout.visibility = View.VISIBLE
+ lyricsLayout.isVisible = true
lyricsLayout.alpha = 1f
val oldLine = lyricsLine2.text.toString()
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
index 14df3272c..9b28980ac 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/DetailListFragment.kt
@@ -16,6 +16,7 @@ package code.name.monkey.retromusic.fragments.other
import android.os.Bundle
import android.view.View
+import androidx.activity.addCallback
import androidx.core.os.bundleOf
import androidx.core.view.doOnPreDraw
import androidx.navigation.fragment.FragmentNavigatorExtras
@@ -32,17 +33,25 @@ import code.name.monkey.retromusic.adapter.song.SongAdapter
import code.name.monkey.retromusic.databinding.FragmentPlaylistDetailBinding
import code.name.monkey.retromusic.db.toSong
import code.name.monkey.retromusic.extensions.dipToPix
+import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.interfaces.IAlbumClickListener
import code.name.monkey.retromusic.interfaces.IArtistClickListener
+import code.name.monkey.retromusic.interfaces.ICabCallback
+import code.name.monkey.retromusic.interfaces.ICabHolder
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.model.Artist
+import code.name.monkey.retromusic.util.RetroColorUtil
import code.name.monkey.retromusic.util.RetroUtil
+import com.afollestad.materialcab.attached.AttachedCab
+import com.afollestad.materialcab.attached.destroy
+import com.afollestad.materialcab.attached.isActive
+import com.afollestad.materialcab.createCab
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.transition.MaterialSharedAxis
class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_detail),
- IArtistClickListener, IAlbumClickListener {
+ IArtistClickListener, IAlbumClickListener, ICabHolder {
private val args by navArgs()
private var _binding: FragmentPlaylistDetailBinding? = null
private val binding get() = _binding!!
@@ -88,6 +97,12 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
MaterialShapeDrawable.createWithElevationOverlay(requireContext())
postponeEnterTransition()
view.doOnPreDraw { startPostponedEnterTransition() }
+ requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
+ if (!handleBackPress()) {
+ remove()
+ findNavController().navigateUp()
+ }
+ }
}
private fun lastAddedSongs() {
@@ -95,16 +110,16 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, null
+ R.layout.item_list, this
)
binding.recyclerView.apply {
adapter = songAdapter
layoutManager = linearLayoutManager()
scheduleLayoutAnimation()
}
- libraryViewModel.recentSongs().observe(viewLifecycleOwner, { songs ->
+ libraryViewModel.recentSongs().observe(viewLifecycleOwner) { songs ->
songAdapter.swapDataSet(songs)
- })
+ }
}
private fun topPlayed() {
@@ -112,15 +127,15 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, null
+ R.layout.item_list, this
)
binding.recyclerView.apply {
adapter = songAdapter
layoutManager = linearLayoutManager()
}
- libraryViewModel.playCountSongs().observe(viewLifecycleOwner, { songs ->
+ libraryViewModel.playCountSongs().observe(viewLifecycleOwner) { songs ->
songAdapter.swapDataSet(songs)
- })
+ }
}
private fun loadHistory() {
@@ -129,15 +144,15 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = ShuffleButtonSongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, null
+ R.layout.item_list, this
)
binding.recyclerView.apply {
adapter = songAdapter
layoutManager = linearLayoutManager()
}
- libraryViewModel.observableHistorySongs().observe(viewLifecycleOwner, {
+ libraryViewModel.observableHistorySongs().observe(viewLifecycleOwner) {
songAdapter.swapDataSet(it)
- })
+ }
}
private fun loadFavorite() {
@@ -145,50 +160,55 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
val songAdapter = SongAdapter(
requireActivity(),
mutableListOf(),
- R.layout.item_list, null
+ R.layout.item_list, this
)
binding.recyclerView.apply {
adapter = songAdapter
layoutManager = linearLayoutManager()
}
- libraryViewModel.favorites().observe(viewLifecycleOwner, { songEntities ->
+ libraryViewModel.favorites().observe(viewLifecycleOwner) { songEntities ->
val songs = songEntities.map { songEntity -> songEntity.toSong() }
songAdapter.swapDataSet(songs)
- })
+ }
}
+
private fun loadArtists(title: Int, type: Int) {
binding.toolbar.setTitle(title)
- libraryViewModel.artists(type).observe(viewLifecycleOwner, { artists ->
- binding.recyclerView.apply {
- adapter = artistAdapter(artists)
- layoutManager = gridLayoutManager()
- }
- })
+ val artistAdapter = artistAdapter(listOf())
+ binding.recyclerView.apply {
+ adapter = artistAdapter
+ layoutManager = gridLayoutManager()
+ }
+ libraryViewModel.artists(type).observe(viewLifecycleOwner) { artists ->
+ artistAdapter.swapDataSet(artists)
+ }
}
private fun loadAlbums(title: Int, type: Int) {
binding.toolbar.setTitle(title)
- libraryViewModel.albums(type).observe(viewLifecycleOwner, { albums ->
- binding.recyclerView.apply {
- adapter = albumAdapter(albums)
- layoutManager = gridLayoutManager()
- }
- })
+ val albumAdapter = albumAdapter(listOf())
+ binding.recyclerView.apply {
+ adapter = albumAdapter
+ layoutManager = gridLayoutManager()
+ }
+ libraryViewModel.albums(type).observe(viewLifecycleOwner) { albums ->
+ albumAdapter.swapDataSet(albums)
+ }
}
private fun artistAdapter(artists: List): ArtistAdapter = ArtistAdapter(
requireActivity(),
artists,
R.layout.item_grid_circle,
- null, this@DetailListFragment
+ this, this@DetailListFragment
)
private fun albumAdapter(albums: List): AlbumAdapter = AlbumAdapter(
requireActivity(),
albums,
R.layout.item_grid,
- null, this@DetailListFragment
+ this, this@DetailListFragment
)
private fun linearLayoutManager(): LinearLayoutManager =
@@ -228,4 +248,37 @@ class DetailListFragment : AbsMainActivityFragment(R.layout.fragment_playlist_de
super.onDestroyView()
_binding = null
}
+
+ private var cab: AttachedCab? = null
+
+ private fun handleBackPress(): Boolean {
+ cab?.let {
+ if (it.isActive()) {
+ it.destroy()
+ return true
+ }
+ }
+ return false
+ }
+
+ override fun openCab(menuRes: Int, callback: ICabCallback): AttachedCab {
+ cab?.let {
+ println("Cab")
+ if (it.isActive()) {
+ it.destroy()
+ }
+ }
+ cab = createCab(R.id.toolbar_container) {
+ menu(menuRes)
+ closeDrawable(R.drawable.ic_close)
+ backgroundColor(literal = RetroColorUtil.shiftBackgroundColor(surfaceColor()))
+ slideDown()
+ onCreate { cab, menu -> callback.onCabCreated(cab, menu) }
+ onSelection {
+ callback.onCabItemClicked(it)
+ }
+ onDestroy { callback.onCabFinished(it) }
+ }
+ return cab as AttachedCab
+ }
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt
index 3f4b7f9ca..3d3315cc2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/LyricsFragment.kt
@@ -15,9 +15,16 @@
package code.name.monkey.retromusic.fragments.other
import android.annotation.SuppressLint
+import android.app.Activity
+import android.content.Intent
+import android.net.Uri
import android.os.Bundle
+import android.provider.MediaStore
import android.text.InputType
import android.view.*
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.IntentSenderRequest
+import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.ViewCompat
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
@@ -34,19 +41,16 @@ import code.name.monkey.retromusic.databinding.FragmentLyricsBinding
import code.name.monkey.retromusic.databinding.FragmentNormalLyricsBinding
import code.name.monkey.retromusic.databinding.FragmentSyncedLyricsBinding
import code.name.monkey.retromusic.extensions.accentColor
-import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.extensions.textColorSecondary
+import code.name.monkey.retromusic.extensions.uri
import code.name.monkey.retromusic.fragments.base.AbsMusicServiceFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.lyrics.LrcView
import code.name.monkey.retromusic.model.AudioTagInfo
import code.name.monkey.retromusic.model.Song
-import code.name.monkey.retromusic.util.LyricUtil
-import code.name.monkey.retromusic.util.RetroUtil
-import com.afollestad.materialdialogs.LayoutMode
+import code.name.monkey.retromusic.util.*
import com.afollestad.materialdialogs.MaterialDialog
-import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.input.input
import com.google.android.material.color.MaterialColors
import com.google.android.material.tabs.TabLayoutMediator
@@ -55,6 +59,7 @@ import kotlinx.coroutines.*
import org.jaudiotagger.audio.AudioFileIO
import org.jaudiotagger.tag.FieldKey
import java.io.File
+import java.io.FileOutputStream
import java.util.*
class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
@@ -95,6 +100,43 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
return transform
}
+ private lateinit var normalLyricsLauncher: ActivityResultLauncher
+ private lateinit var newSyncedLyricsLauncher: ActivityResultLauncher
+ private lateinit var editSyncedLyricsLauncher: ActivityResultLauncher
+
+ private lateinit var cacheFile: File
+ private var syncedLyrics: String = ""
+ private lateinit var syncedFileUri: Uri
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ // Normal lyrics launcher
+ normalLyricsLauncher =
+ registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) {
+ if (it.resultCode == Activity.RESULT_OK) {
+ FileUtils.copyFileToUri(requireContext(), cacheFile, song.uri)
+ }
+ }
+ newSyncedLyricsLauncher =
+ registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+ if (result.resultCode == Activity.RESULT_OK) {
+ context?.contentResolver?.openOutputStream(result.data?.data!!)?.use {
+ it.write(syncedLyrics.toByteArray())
+ }
+ }
+ }
+ editSyncedLyricsLauncher =
+ registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) {
+ if (it.resultCode == Activity.RESULT_OK) {
+ requireContext().contentResolver.openOutputStream(syncedFileUri)?.use { os ->
+ (os as FileOutputStream).channel.truncate(0)
+ os.write(syncedLyrics.toByteArray())
+ os.flush()
+ }
+ }
+ }
+ }
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setHasOptionsMenu(true)
@@ -105,15 +147,9 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
ViewCompat.setTransitionName(binding.container, "lyrics")
setupWakelock()
-
- binding.tabLyrics.setBackgroundColor(surfaceColor())
- binding.container.setBackgroundColor(surfaceColor())
setupViews()
setupToolbar()
updateTitleSong()
- if (VersionUtils.hasR()) {
- binding.editButton.isVisible = false
- }
}
private fun setupViews() {
@@ -144,7 +180,6 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
private fun setupToolbar() {
mainActivity.setSupportActionBar(binding.toolbar)
- binding.toolbar.setBackgroundColor(surfaceColor())
ToolbarContentTintHelper.colorBackButton(binding.toolbar)
binding.toolbar.setNavigationOnClickListener {
findNavController().navigateUp()
@@ -204,7 +239,7 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
e.printStackTrace()
}
- MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)).show {
+ MaterialDialog(requireContext()).show {
title(res = R.string.edit_normal_lyrics)
input(
hintRes = R.string.paste_lyrics_here,
@@ -213,12 +248,30 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
) { _, input ->
val fieldKeyValueMap = EnumMap(FieldKey::class.java)
fieldKeyValueMap[FieldKey.LYRICS] = input.toString()
+ syncedLyrics = input.toString()
GlobalScope.launch {
- TagWriter.writeTagsToFiles(
- requireContext(), AudioTagInfo(
- listOf(song.data), fieldKeyValueMap, null
+ if (VersionUtils.hasR()) {
+ cacheFile = TagWriter.writeTagsToFilesR(
+ requireContext(), AudioTagInfo(
+ listOf(song.data), fieldKeyValueMap, null
+ )
+ )[0]
+ val pendingIntent =
+ MediaStore.createWriteRequest(
+ requireContext().contentResolver,
+ listOf(song.uri)
+ )
+
+ normalLyricsLauncher.launch(
+ IntentSenderRequest.Builder(pendingIntent).build()
)
- )
+ } else {
+ TagWriter.writeTagsToFiles(
+ requireContext(), AudioTagInfo(
+ listOf(song.data), fieldKeyValueMap, null
+ )
+ )
+ }
}
}
positiveButton(res = R.string.save) {
@@ -233,14 +286,40 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
private fun editSyncedLyrics() {
val content: String = LyricUtil.getStringFromLrc(LyricUtil.getSyncedLyricsFile(song))
- MaterialDialog(requireContext(), BottomSheet(LayoutMode.WRAP_CONTENT)).show {
+ MaterialDialog(requireContext()).show {
title(res = R.string.edit_synced_lyrics)
input(
hintRes = R.string.paste_timeframe_lyrics_here,
prefill = content,
inputType = InputType.TYPE_TEXT_FLAG_MULTI_LINE or InputType.TYPE_CLASS_TEXT
) { _, input ->
- LyricUtil.writeLrc(song, input.toString())
+ if (VersionUtils.hasR()) {
+ syncedLyrics = input.toString()
+ val lrcFile = LyricUtil.getSyncedLyricsFile(song)
+ if (lrcFile?.exists() == true) {
+ syncedFileUri =
+ UriUtil.getUriFromPath(requireContext(), lrcFile.absolutePath)
+ val pendingIntent =
+ MediaStore.createWriteRequest(
+ requireContext().contentResolver,
+ listOf(syncedFileUri)
+ )
+ editSyncedLyricsLauncher.launch(
+ IntentSenderRequest.Builder(pendingIntent).build()
+ )
+ } else {
+ val intent = Intent(Intent.ACTION_CREATE_DOCUMENT)
+ intent.addCategory(Intent.CATEGORY_OPENABLE)
+ intent.type = "*/*"
+ intent.putExtra(
+ Intent.EXTRA_TITLE,
+ LyricUtil.getLrcOriginalPath(File(song.data).name)
+ )
+ newSyncedLyricsLauncher.launch(intent)
+ }
+ } else {
+ LyricUtil.writeLrc(song, input.toString())
+ }
}
positiveButton(res = R.string.save) {
(lyricsSectionsAdapter.fragments[0].first as SyncedLyrics).loadLRCLyrics()
@@ -285,11 +364,7 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
} catch (e: Exception) {
e.printStackTrace()
}
- if (lyrics.isNullOrEmpty()) {
- binding.noLyricsFound.visibility = View.VISIBLE
- } else {
- binding.noLyricsFound.visibility = View.GONE
- }
+ binding.noLyricsFound.isVisible = lyrics.isNullOrEmpty()
binding.normalLyrics.text = lyrics
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
index dd17bddee..cc169e940 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/PlayingQueueRVFragment.kt
@@ -51,7 +51,7 @@ class PlayingQueueRVFragment : AbsRecyclerViewFragment
- when {
- velocityX < 0 -> {
- MusicPlayerRemote.playNextSong()
- true
- }
- velocityX > 0 -> {
- MusicPlayerRemote.playPreviousSong()
- true
- }
- else -> {
- false
- }
- }
- }
}
}
@@ -201,6 +188,8 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe
showLyrics(false)
progressViewUpdateHelper?.stop()
}
+ } else if (key == LYRICS_TYPE) {
+ maybeInitLyrics()
}
}
@@ -223,13 +212,22 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe
}
private fun showLyrics(visible: Boolean) {
- ObjectAnimator.ofFloat(lrcView, View.ALPHA, if (visible) 1F else 0F).apply {
+ binding.coverLyrics.isVisible = false
+ binding.lyricsView.isVisible = false
+ binding.viewPager.isVisible = true
+ val lyrics: View = if (PreferenceUtil.lyricsType == LyricsType.REPLACE_COVER) {
+ ObjectAnimator.ofFloat(viewPager, View.ALPHA, if (visible) 0F else 1F).start()
+ lrcView
+ } else {
+ ObjectAnimator.ofFloat(viewPager, View.ALPHA, 1F).start()
+ binding.coverLyrics
+ }
+ ObjectAnimator.ofFloat(lyrics, View.ALPHA, if (visible) 1F else 0F).apply {
doOnEnd {
- _binding?.lyricsView?.isVisible = visible
+ lyrics.isVisible = visible
}
start()
}
- ObjectAnimator.ofFloat(viewPager, View.ALPHA, if (visible) 0F else 1F).start()
}
private fun maybeInitLyrics() {
@@ -237,7 +235,9 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe
// Don't show lyrics container for below conditions
if (lyricViewNpsList.contains(nps) && PreferenceUtil.showLyrics) {
showLyrics(true)
- progressViewUpdateHelper?.start()
+ if (PreferenceUtil.lyricsType == LyricsType.REPLACE_COVER) {
+ progressViewUpdateHelper?.start()
+ }
} else {
showLyrics(false)
progressViewUpdateHelper?.stop()
@@ -283,9 +283,9 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe
} else {
surfaceColor()
}
- Color -> color.backgroundColor
+ Color ,Classic -> color.backgroundColor
Blur -> Color.BLACK
- else -> color.backgroundColor
+ else -> surfaceColor()
}
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt
index 55891b965..a65c1cc47 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/adaptive/AdaptivePlaybackControlsFragment.kt
@@ -15,13 +15,12 @@
package code.name.monkey.retromusic.fragments.player.adaptive
import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
-import android.view.LayoutInflater
import android.view.View
-import android.view.ViewGroup
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
@@ -32,10 +31,6 @@ import code.name.monkey.retromusic.databinding.FragmentAdaptivePlayerPlaybackCon
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -43,38 +38,35 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class AdaptivePlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_adaptive_player_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private var progressViewUpdateHelper: MusicProgressViewUpdateHelper? = null
private var _binding: FragmentAdaptivePlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- _binding = FragmentAdaptivePlayerPlaybackControlsBinding.inflate(inflater, container, false)
- return binding.root
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- setUpMusicControllers()
+ _binding = FragmentAdaptivePlayerPlaybackControlsBinding.bind(view)
- binding.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation(binding.playPauseButton)
- }
+ setUpPlayPauseFab()
}
private fun updateSong() {
@@ -86,16 +78,6 @@ class AdaptivePlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper!!.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper!!.stop()
- }
-
override fun onPlayingMetaChanged() {
super.onPlayingMetaChanged()
updateSong()
@@ -163,7 +145,14 @@ class AdaptivePlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
@@ -174,103 +163,9 @@ class AdaptivePlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
+ override fun show() {}
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun show() {
- }
-
- override fun hide() {
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
+ override fun hide() {}
override fun onDestroyView() {
super.onDestroyView()
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt
index 83dcd1fc0..402b0c833 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/blur/BlurPlaybackControlsFragment.kt
@@ -16,13 +16,13 @@ package code.name.monkey.retromusic.fragments.player.blur
import android.animation.ObjectAnimator
import android.graphics.Color
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
-import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import androidx.core.content.ContextCompat
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@@ -36,10 +36,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -48,28 +44,32 @@ class BlurPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_blur_player_playback_controls) {
private var _binding: FragmentBlurPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private var progressViewUpdateHelper: MusicProgressViewUpdateHelper? = null
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
+
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentBlurPlayerPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
-
- binding.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation()
- }
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -93,16 +93,6 @@ class BlurPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper!!.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper!!.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -159,7 +149,14 @@ class BlurPlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
@@ -170,72 +167,6 @@ class BlurPlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -253,55 +184,6 @@ class BlurPlaybackControlsFragment :
}
}
- private fun showBounceAnimation() {
- binding.playPauseButton.apply {
- clearAnimation()
- scaleX = 0.9f
- scaleY = 0.9f
- visibility = View.VISIBLE
- pivotX = (width / 2).toFloat()
- pivotY = (height / 2).toFloat()
-
- animate().setDuration(200)
- .setInterpolator(DecelerateInterpolator())
- .scaleX(1.1f)
- .scaleY(1.1f)
- .withEndAction {
- animate().setDuration(200)
- .setInterpolator(AccelerateInterpolator())
- .scaleX(1f)
- .scaleY(1f)
- .alpha(1f).start()
- }.start()
- }
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
index 3afb91669..1a6c7acb7 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardFragment.kt
@@ -96,11 +96,13 @@ class CardFragment : AbsPlayerFragment(R.layout.fragment_card_player) {
}
private fun setUpPlayerToolbar() {
- binding.playerToolbar.inflateMenu(R.menu.menu_player)
- binding.playerToolbar.setNavigationOnClickListener { requireActivity().onBackPressed() }
- binding.playerToolbar.setOnMenuItemClickListener(this)
+ binding.playerToolbar.apply {
+ inflateMenu(R.menu.menu_player)
+ setNavigationOnClickListener { requireActivity().onBackPressed() }
+ setOnMenuItemClickListener(this@CardFragment)
- ToolbarContentTintHelper.colorizeToolbar(binding.playerToolbar, Color.WHITE, activity)
+ ToolbarContentTintHelper.colorizeToolbar(this, Color.WHITE, activity)
+ }
}
override fun onServiceConnected() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt
index f9647e6be..f325bc39e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/card/CardPlaybackControlsFragment.kt
@@ -19,6 +19,7 @@ import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
@@ -35,10 +36,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -46,31 +43,29 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class CardPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_card_player_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private var progressViewUpdateHelper: MusicProgressViewUpdateHelper? = null
+
private var _binding: FragmentCardPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.mediaButton.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.mediaButton.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.mediaButton.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.mediaButton.previousButton
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentCardPlayerPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
-
- binding.mediaButton.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation(binding.mediaButton.playPauseButton)
- }
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -94,16 +89,6 @@ class CardPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper!!.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper!!.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -167,7 +152,14 @@ class CardPlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.mediaButton.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.mediaButton.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
@@ -178,118 +170,15 @@ class CardPlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.mediaButton.nextButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- binding.mediaButton.previousButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
-
- private fun setUpShuffleButton() {
- binding.mediaButton.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.mediaButton.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.mediaButton.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.mediaButton.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.mediaButton.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.mediaButton.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.mediaButton.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
private fun updateProgressTextColor() {
val color = MaterialValueHelper.getPrimaryTextColor(context, false)
binding.songTotalTime.setTextColor(color)
binding.songCurrentProgress.setTextColor(color)
}
- public override fun show() {
- // Ignore
- }
-
- public override fun hide() {
- // Ignore
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
+ public override fun show() {}
+ public override fun hide() {}
override fun onDestroyView() {
super.onDestroyView()
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
index f7161a0ec..ef45e01ca 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurFragment.kt
@@ -111,7 +111,8 @@ class CardBlurFragment : AbsPlayerFragment(R.layout.fragment_card_blur_player),
setTitleTextColor(Color.WHITE)
setSubtitleTextColor(Color.WHITE)
ToolbarContentTintHelper.colorizeToolbar(binding.playerToolbar, Color.WHITE, activity)
- }.setOnMenuItemClickListener(this)
+ setOnMenuItemClickListener(this@CardBlurFragment)
+ }
}
override fun onServiceConnected() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt
index 753a060ef..2aabe4669 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/cardblur/CardBlurPlaybackControlsFragment.kt
@@ -16,11 +16,11 @@ package code.name.monkey.retromusic.fragments.player.cardblur
import android.animation.ObjectAnimator
import android.graphics.Color
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.TintHelper
@@ -32,10 +32,7 @@ import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -43,23 +40,29 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class CardBlurPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_card_blur_player_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
-
private var _binding: FragmentCardBlurPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.mediaButton.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.mediaButton.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.mediaButton.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.mediaButton.previousButton
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentCardBlurPlayerPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
+ binding.progressSlider.applyColor(Color.WHITE)
}
override fun setColor(color: MediaNotificationProcessor) {
@@ -96,16 +99,6 @@ class CardBlurPlaybackControlsFragment :
binding.songInfo.setTextColor(color)
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -139,78 +132,6 @@ class CardBlurPlaybackControlsFragment :
updateShuffleState()
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.mediaButton.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.mediaButton.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.mediaButton.nextButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- binding.mediaButton.previousButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
-
- private fun setUpShuffleButton() {
- binding.mediaButton.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.mediaButton.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.mediaButton.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.mediaButton.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.mediaButton.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.mediaButton.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.mediaButton.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.mediaButton.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.mediaButton.playPauseButton.animate()
.scaleX(1f)
@@ -228,33 +149,6 @@ class CardBlurPlaybackControlsFragment :
}
}
- override fun setUpProgressSlider() {
- binding.progressSlider.applyColor(Color.WHITE)
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt
index f703c13a8..4827980f8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/circle/CirclePlayerFragment.kt
@@ -15,6 +15,7 @@
package code.name.monkey.retromusic.fragments.player.circle
import android.animation.ObjectAnimator
+import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Color
import android.graphics.PorterDuff
@@ -22,9 +23,7 @@ import android.graphics.drawable.ColorDrawable
import android.graphics.drawable.Drawable
import android.media.AudioManager
import android.os.Bundle
-import android.view.LayoutInflater
import android.view.View
-import android.view.ViewGroup
import android.view.animation.Animation
import android.view.animation.LinearInterpolator
import android.widget.SeekBar
@@ -34,6 +33,7 @@ import code.name.monkey.appthemehelper.util.*
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentCirclePlayerBinding
import code.name.monkey.retromusic.extensions.*
+import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
@@ -77,17 +77,10 @@ class CirclePlayerFragment : AbsPlayerFragment(R.layout.fragment_circle_player),
progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
}
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- _binding = FragmentCirclePlayerBinding.inflate(inflater, container, false)
- return binding.root
- }
-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
+ _binding = FragmentCirclePlayerBinding.bind(view)
+
setupViews()
binding.title.isSelected = true
binding.title.setOnClickListener {
@@ -132,10 +125,11 @@ class CirclePlayerFragment : AbsPlayerFragment(R.layout.fragment_circle_player),
)
}
+ @SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() {
updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
+ binding.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
+ binding.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
}
private fun updatePrevNextColor() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
index 83bfc1ea9..b02eb427d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/classic/ClassicPlayerFragment.kt
@@ -39,6 +39,7 @@ import code.name.monkey.retromusic.extensions.getSongInfo
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
@@ -455,10 +456,21 @@ class ClassicPlayerFragment : AbsPlayerFragment(R.layout.fragment_classic_player
setUpProgressSlider()
}
+ @SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() {
updatePrevNextColor()
- binding.playerControlsContainer.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.playerControlsContainer.previousButton.setOnClickListener { MusicPlayerRemote.back() }
+ binding.playerControlsContainer.nextButton.setOnTouchListener(
+ MusicSeekSkipTouchListener(
+ requireActivity(),
+ true
+ )
+ )
+ binding.playerControlsContainer.previousButton.setOnTouchListener(
+ MusicSeekSkipTouchListener(
+ requireActivity(),
+ false
+ )
+ )
}
private fun updatePrevNextColor() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
index c76d5b456..c952a5903 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorFragment.kt
@@ -16,7 +16,6 @@ package code.name.monkey.retromusic.fragments.player.color
import android.animation.ValueAnimator
import android.os.Bundle
-import android.os.Handler
import android.view.View
import androidx.appcompat.widget.Toolbar
import androidx.core.animation.doOnEnd
@@ -61,7 +60,7 @@ class ColorFragment : AbsPlayerFragment(R.layout.fragment_color_player) {
_binding?.root?.setBackgroundColor(color.backgroundColor)
}
animator.start()
- Handler().post {
+ binding.playerToolbar.post {
ToolbarContentTintHelper.colorizeToolbar(
binding.playerToolbar,
color.secondaryTextColor,
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt
index 22ffee1ea..53d3624a1 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/color/ColorPlaybackControlsFragment.kt
@@ -17,16 +17,15 @@ package code.name.monkey.retromusic.fragments.player.color
import android.animation.Animator
import android.animation.ObjectAnimator
import android.graphics.Color
-import android.graphics.PorterDuff
import android.os.Bundle
-import android.view.LayoutInflater
import android.view.View
import android.view.ViewAnimationUtils
-import android.view.ViewGroup
import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.TintHelper
import code.name.monkey.retromusic.R
@@ -39,52 +38,43 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
import kotlin.math.sqrt
class ColorPlaybackControlsFragment :
- AbsPlayerControlsFragment(R.layout.fragment_adaptive_player_playback_controls) {
+ AbsPlayerControlsFragment(R.layout.fragment_color_player_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
private var _binding: FragmentColorPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- _binding = FragmentColorPlayerPlaybackControlsBinding.inflate(inflater, container, false)
- return binding.root
- }
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
+ override val nextButton: ImageButton
+ get() = binding.nextButton
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- setUpMusicControllers()
+ _binding = FragmentColorPlayerPlaybackControlsBinding.bind(view)
+
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -155,80 +145,23 @@ class ColorPlaybackControlsFragment :
private fun setUpPlayPauseFab() {
TintHelper.setTintAuto(binding.playPauseButton, Color.WHITE, true)
TintHelper.setTintAuto(binding.playPauseButton, Color.BLACK, false)
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
- when {
- MusicPlayerRemote.isPlaying -> binding.playPauseButton.setImageResource(R.drawable.ic_pause)
- else -> binding.playPauseButton.setImageResource(R.drawable.ic_play_arrow)
- }
- }
-
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
+ binding.playPauseButton.setImageResource(
+ when {
+ MusicPlayerRemote.isPlaying -> R.drawable.ic_pause
+ else -> R.drawable.ic_play_arrow
}
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
+ )
}
public override fun show() {
@@ -248,32 +181,6 @@ class ColorPlaybackControlsFragment :
}
}
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
fun createRevealAnimator(view: View): Animator {
val location = IntArray(2)
binding.playPauseButton.getLocationOnScreen(location)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt
index e20a3b749..87e437961 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/fit/FitPlaybackControlsFragment.kt
@@ -15,13 +15,13 @@
package code.name.monkey.retromusic.fragments.player.fit
import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
-import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@@ -33,33 +33,41 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class FitPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_fit_playback_controls) {
+
private var _binding: FragmentFitPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentFitPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
@@ -70,15 +78,6 @@ class FitPlaybackControlsFragment :
binding.text.setOnClickListener {
goToArtist(requireActivity())
}
-
- binding.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation()
- }
}
private fun updateSong() {
@@ -93,16 +92,6 @@ class FitPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -163,7 +152,14 @@ class FitPlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
@@ -174,72 +170,6 @@ class FitPlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -257,55 +187,6 @@ class FitPlaybackControlsFragment :
}
}
- private fun showBounceAnimation() {
- binding.playPauseButton.apply {
- clearAnimation()
- scaleX = 0.9f
- scaleY = 0.9f
- visibility = View.VISIBLE
- pivotX = (width / 2).toFloat()
- pivotY = (height / 2).toFloat()
-
- animate().setDuration(200)
- .setInterpolator(DecelerateInterpolator())
- .scaleX(1.1f)
- .scaleY(1.1f)
- .withEndAction {
- animate().setDuration(200)
- .setInterpolator(AccelerateInterpolator())
- .scaleX(1f)
- .scaleY(1f)
- .alpha(1f).start()
- }.start()
- }
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt
index c258edd49..1047cc3d8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/flat/FlatPlaybackControlsFragment.kt
@@ -15,11 +15,11 @@
package code.name.monkey.retromusic.fragments.player.flat
import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
@@ -33,11 +33,8 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper.Callback
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -45,22 +42,28 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class FlatPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_flat_player_playback_controls), Callback {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
private var _binding: FragmentFlatPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton?
+ get() = null
+
+ override val previousButton: ImageButton?
+ get() = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentFlatPlayerPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
+ binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -71,16 +74,6 @@ class FlatPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -157,10 +150,6 @@ class FlatPlaybackControlsFragment :
updatePlayPauseDrawableState()
}
- private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
- }
-
private fun updatePlayPauseDrawableState() {
if (MusicPlayerRemote.isPlaying) {
binding.playPauseButton.setImageResource(R.drawable.ic_pause)
@@ -169,13 +158,6 @@ class FlatPlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
private fun updateSong() {
val song = MusicPlayerRemote.currentSong
binding.title.text = song.title
@@ -196,81 +178,8 @@ class FlatPlaybackControlsFragment :
updateShuffleState()
}
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt
index 24098816e..075a245e8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/full/FullPlaybackControlsFragment.kt
@@ -18,7 +18,6 @@ import android.animation.ObjectAnimator
import android.content.Intent
import android.content.res.ColorStateList
import android.graphics.Color
-import android.graphics.PorterDuff
import android.graphics.drawable.AnimatedVectorDrawable
import android.graphics.drawable.Drawable
import android.os.Bundle
@@ -26,10 +25,13 @@ import android.view.MenuItem
import android.view.View
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import androidx.appcompat.widget.PopupMenu
import androidx.lifecycle.lifecycleScope
import code.name.monkey.appthemehelper.util.ColorUtil
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentFullPlayerControlsBinding
import code.name.monkey.retromusic.db.PlaylistEntity
@@ -44,9 +46,7 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
@@ -66,17 +66,30 @@ class FullPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_full_player_controls),
PopupMenu.OnMenuItemClickListener {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
private val libraryViewModel: LibraryViewModel by sharedViewModel()
private var _binding: FragmentFullPlayerControlsBinding? = null
private val binding get() = _binding!!
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
+
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
@@ -94,16 +107,6 @@ class FullPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -190,10 +193,6 @@ class FullPlaybackControlsFragment :
private fun setUpMusicControllers() {
setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
setupFavourite()
setupMenu()
}
@@ -213,43 +212,6 @@ class FullPlaybackControlsFragment :
return (parentFragment as FullPlayerFragment).onMenuItemClick(item!!)
}
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onRepeatModeChanged() {
updateRepeatState()
}
@@ -258,53 +220,6 @@ class FullPlaybackControlsFragment :
updateShuffleState()
}
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
private fun setupFavourite() {
binding.songFavourite.setOnClickListener {
toggleFavorite(MusicPlayerRemote.currentSong)
@@ -320,7 +235,7 @@ class FullPlaybackControlsFragment :
val isFavorite: Boolean =
libraryViewModel.isSongFavorite(MusicPlayerRemote.currentSong.id)
withContext(Dispatchers.Main) {
- val icon = if (animate) {
+ val icon = if (animate && VersionUtils.hasMarshmallow()) {
if (isFavorite) R.drawable.avd_favorite else R.drawable.avd_unfavorite
} else {
if (isFavorite) R.drawable.ic_favorite else R.drawable.ic_favorite_border
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
index f9ca2ce38..7141f3a50 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/gradient/GradientPlayerFragment.kt
@@ -28,16 +28,20 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.PopupMenu
import androidx.appcompat.widget.Toolbar
import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.*
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.util.ColorUtil
+import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.RetroBottomSheetBehavior
import code.name.monkey.retromusic.adapter.song.PlayingQueueAdapter
import code.name.monkey.retromusic.databinding.FragmentGradientPlayerBinding
import code.name.monkey.retromusic.extensions.*
+import code.name.monkey.retromusic.fragments.MusicSeekSkipTouchListener
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
@@ -63,7 +67,8 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_player),
- MusicProgressViewUpdateHelper.Callback, PopupMenu.OnMenuItemClickListener {
+ MusicProgressViewUpdateHelper.Callback,
+ View.OnLayoutChangeListener, PopupMenu.OnMenuItemClickListener {
private var lastColor: Int = 0
private var lastPlaybackControlsColor: Int = 0
private var lastDisabledPlaybackControlsColor: Int = 0
@@ -126,9 +131,9 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
private fun setupPanel() {
- binding.colorBackground.doOnLayout {
- val panel = getQueuePanel()
- panel.peekHeight = binding.container.height
+ if (!ViewCompat.isLaidOut(binding.colorBackground) || binding.colorBackground.isLayoutRequested) {
+ binding.colorBackground.addOnLayoutChangeListener(this)
+ return
}
}
@@ -279,7 +284,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
val isFavorite: Boolean =
libraryViewModel.isSongFavorite(MusicPlayerRemote.currentSong.id)
withContext(Dispatchers.Main) {
- val icon = if (animate) {
+ val icon = if (animate && VersionUtils.hasMarshmallow()) {
if (isFavorite) R.drawable.avd_favorite else R.drawable.avd_unfavorite
} else {
if (isFavorite) R.drawable.ic_favorite else R.drawable.ic_favorite_border
@@ -382,10 +387,11 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
)
}
+ @SuppressLint("ClickableViewAccessibility")
private fun setUpPrevNext() {
updatePrevNextColor()
- binding.playbackControlsFragment.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.playbackControlsFragment.previousButton.setOnClickListener { MusicPlayerRemote.back() }
+ binding.playbackControlsFragment.nextButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), true))
+ binding.playbackControlsFragment.previousButton.setOnTouchListener(MusicSeekSkipTouchListener(requireActivity(), false))
}
private fun updatePrevNextColor() {
@@ -450,7 +456,7 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
private fun updateLabel() {
(MusicPlayerRemote.playingQueue.size - 1).apply {
if (this == (MusicPlayerRemote.position)) {
- binding.nextSong.text = "Last song"
+ binding.nextSong.text = context?.resources?.getString(R.string.last_song)
} else {
val title = MusicPlayerRemote.playingQueue[MusicPlayerRemote.position + 1].title
binding.nextSong.text = title
@@ -458,6 +464,25 @@ class GradientPlayerFragment : AbsPlayerFragment(R.layout.fragment_gradient_play
}
}
+ override fun onLayoutChange(
+ v: View?,
+ left: Int,
+ top: Int,
+ right: Int,
+ bottom: Int,
+ oldLeft: Int,
+ oldTop: Int,
+ oldRight: Int,
+ oldBottom: Int
+ ) {
+ val panel = getQueuePanel()
+ if (panel.state == STATE_COLLAPSED) {
+ panel.peekHeight = binding.container.height
+ } else if (panel.state == STATE_EXPANDED) {
+ panel.peekHeight = binding.container.height + navBarHeight
+ }
+ }
+
private fun setupRecyclerView() {
playingQueueAdapter = PlayingQueueAdapter(
requireActivity() as AppCompatActivity,
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/home/HomePlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/home/HomePlayerFragment.kt
index 981e55f29..d9ae39ffa 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/home/HomePlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/home/HomePlayerFragment.kt
@@ -37,7 +37,6 @@ class HomePlayerFragment : AbsPlayerFragment(R.layout.fragment_home_player),
private var _binding: FragmentHomePlayerBinding? = null
private val binding get() = _binding!!
-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt
index 9e9df3298..e4015e077 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/lockscreen/LockScreenControlsFragment.kt
@@ -15,12 +15,13 @@
package code.name.monkey.retromusic.fragments.player.lockscreen
import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@@ -32,10 +33,7 @@ import code.name.monkey.retromusic.extensions.ripAlpha
import code.name.monkey.retromusic.extensions.textColorSecondary
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -46,23 +44,34 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class LockScreenControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_lock_screen_playback_controls) {
- private var progressViewUpdateHelper: MusicProgressViewUpdateHelper? = null
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
-
private var _binding: FragmentLockScreenPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentLockScreenPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
binding.title.isSelected = true
}
@@ -72,16 +81,6 @@ class LockScreenControlsFragment :
binding.text.text = String.format("%s - %s", song.artistName, song.albumName)
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper?.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper?.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -157,72 +156,6 @@ class LockScreenControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpProgressSlider()
- setUpShuffleButton()
- setUpRepeatButton()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -240,32 +173,6 @@ class LockScreenControlsFragment :
}
}
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt
index 2be4a5c62..7752c2f51 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialControlsFragment.kt
@@ -19,7 +19,9 @@ import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import androidx.core.content.ContextCompat
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@@ -30,10 +32,7 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -44,22 +43,35 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class MaterialControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_material_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
+
private var _binding: FragmentMaterialPlaybackControlsBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentMaterialPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -83,16 +95,6 @@ class MaterialControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
override fun onServiceConnected() {
updatePlayPauseDrawableState()
updateRepeatState()
@@ -175,103 +177,9 @@ class MaterialControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
+ public override fun show() {}
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_sharp)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_sharp)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one_sharp)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
- public override fun show() {
- }
-
- public override fun hide() {
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
+ public override fun hide() {}
override fun onDestroyView() {
super.onDestroyView()
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
index f663d7d7e..fd3327ca9 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerFragment.kt
@@ -29,6 +29,7 @@ import code.name.monkey.retromusic.SNOWFALL
import code.name.monkey.retromusic.databinding.FragmentPlayerBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.isColorLight
import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
@@ -167,7 +168,7 @@ class PlayerFragment : AbsPlayerFragment(R.layout.fragment_player),
}
private fun startOrStopSnow(isSnowFalling: Boolean) {
- if (isSnowFalling) {
+ if (isSnowFalling && !surfaceColor().isColorLight) {
binding.snowfallView.isVisible = true
binding.snowfallView.restartFalling()
} else {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt
index c0306e710..513160eea 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/normal/PlayerPlaybackControlsFragment.kt
@@ -14,13 +14,12 @@
*/
package code.name.monkey.retromusic.fragments.player.normal
-import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.DecelerateInterpolator
-import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
@@ -33,40 +32,41 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
-import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class PlayerPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_player_playback_controls) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
private var _binding: FragmentPlayerPlaybackControlsBinding? = null
private val binding get() = _binding!!
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
+
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentPlayerPlaybackControlsBinding.bind(view)
- setUpMusicControllers()
- binding.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation(binding.playPauseButton)
- }
+
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.isSelected = true
binding.title.setOnClickListener {
@@ -126,15 +126,6 @@ class PlayerPlaybackControlsFragment :
}
}
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
override fun onServiceConnected() {
updatePlayPauseDrawableState()
@@ -161,7 +152,14 @@ class PlayerPlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
@@ -172,72 +170,6 @@ class PlayerPlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -255,32 +187,6 @@ class PlayerPlaybackControlsFragment :
}
}
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt
index 6bb06ccde..947c08c50 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/peak/PeakPlayerControlFragment.kt
@@ -20,7 +20,9 @@ import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.MaterialValueHelper
@@ -30,10 +32,7 @@ import code.name.monkey.retromusic.databinding.FragmentPeakControlPlayerBinding
import code.name.monkey.retromusic.extensions.applyColor
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -44,26 +43,29 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class PeakPlayerControlFragment : AbsPlayerControlsFragment(R.layout.fragment_peak_control_player) {
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
private var _binding: FragmentPeakControlPlayerBinding? = null
private val binding get() = _binding!!
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
override fun onViewCreated(
view: View,
@@ -71,14 +73,12 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment(R.layout.fragment_pe
) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentPeakControlPlayerBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
}
- override fun show() {
- }
+ override fun show() {}
- override fun hide() {
- }
+ override fun hide() {}
override fun setColor(color: MediaNotificationProcessor) {
val controlsColor =
@@ -116,108 +116,12 @@ class PeakPlayerControlFragment : AbsPlayerControlsFragment(R.layout.fragment_pe
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener {
- MusicPlayerRemote.toggleShuffleMode()
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener {
- MusicPlayerRemote.cycleRepeatMode()
- }
- }
-
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
private fun setUpPlayPauseFab() {
TintHelper.setTintAuto(binding.playPauseButton, Color.WHITE, true)
TintHelper.setTintAuto(binding.playPauseButton, Color.BLACK, false)
binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
}
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
override fun onPlayStateChanged() {
super.onPlayStateChanged()
updatePlayPauseDrawableState()
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt
index f8438b0f4..b595ef9fa 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/plain/PlainPlaybackControlsFragment.kt
@@ -15,13 +15,13 @@
package code.name.monkey.retromusic.fragments.player.plain
import android.animation.ObjectAnimator
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
-import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator
import android.view.animation.LinearInterpolator
+import android.widget.ImageButton
import android.widget.SeekBar
+import android.widget.TextView
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
@@ -35,10 +35,6 @@ import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -50,12 +46,30 @@ import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class PlainPlaybackControlsFragment :
AbsPlayerControlsFragment(R.layout.fragment_plain_controls_fragment) {
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
private var _binding: FragmentPlainControlsFragmentBinding? = null
private val binding get() = _binding!!
+ override val progressSlider: SeekBar
+ get() = binding.progressSlider
+
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
+
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
+
+ override val songTotalTime: TextView
+ get() = binding.songTotalTime
+
+ override val songCurrentProgress: TextView
+ get() = binding.songCurrentProgress
+
override fun onPlayStateChanged() {
updatePlayPauseDrawableState()
}
@@ -89,59 +103,23 @@ class PlainPlaybackControlsFragment :
}
}
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
-
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentPlainControlsFragmentBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
+ }
+ private fun setUpPlayPauseFab() {
binding.playPauseButton.setOnClickListener {
if (MusicPlayerRemote.isPlaying) {
MusicPlayerRemote.pauseSong()
} else {
MusicPlayerRemote.resumePlaying()
}
- showBounceAnimation()
+ it.showBounceAnimation()
}
}
- private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
- }
-
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
override fun setColor(color: MediaNotificationProcessor) {
val colorBg = ATHUtil.resolveColor(requireContext(), android.R.attr.colorBackground)
if (ColorUtil.isColorLight(colorBg)) {
@@ -179,53 +157,6 @@ class PlainPlaybackControlsFragment :
updatePrevNextColor()
}
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
public override fun show() {
binding.playPauseButton.animate()
.scaleX(1f)
@@ -243,29 +174,6 @@ class PlainPlaybackControlsFragment :
}
}
- private fun showBounceAnimation() {
- binding.playPauseButton.apply {
- clearAnimation()
- scaleX = 0.9f
- scaleY = 0.9f
- visibility = View.VISIBLE
- pivotX = (width / 2).toFloat()
- pivotY = (height / 2).toFloat()
-
- animate().setDuration(200)
- .setInterpolator(DecelerateInterpolator())
- .scaleX(1.1f)
- .scaleY(1.1f)
- .withEndAction {
- animate().setDuration(200)
- .setInterpolator(AccelerateInterpolator())
- .scaleX(1f)
- .scaleY(1f)
- .alpha(1f).start()
- }.start()
- }
- }
-
private fun updatePlayPauseDrawableState() {
if (MusicPlayerRemote.isPlaying) {
binding.playPauseButton.setImageResource(R.drawable.ic_pause)
@@ -274,32 +182,6 @@ class PlainPlaybackControlsFragment :
}
}
- override fun setUpProgressSlider() {
- binding.progressSlider.setOnSeekBarChangeListener(object : SimpleOnSeekbarChangeListener() {
- override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
- if (fromUser) {
- MusicPlayerRemote.seekTo(progress)
- onUpdateProgressViews(
- MusicPlayerRemote.songProgressMillis,
- MusicPlayerRemote.songDurationMillis
- )
- }
- }
- })
- }
-
- override fun onUpdateProgressViews(progress: Int, total: Int) {
- binding.progressSlider.max = total
-
- val animator = ObjectAnimator.ofInt(binding.progressSlider, "progress", progress)
- animator.duration = SLIDER_ANIMATION_TIME
- animator.interpolator = LinearInterpolator()
- animator.start()
-
- binding.songTotalTime.text = MusicUtil.getReadableDurationString(total.toLong())
- binding.songCurrentProgress.text = MusicUtil.getReadableDurationString(progress.toLong())
- }
-
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt
index 5619b42f8..bcc6e4c9d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/simple/SimplePlaybackControlsFragment.kt
@@ -14,10 +14,10 @@
*/
package code.name.monkey.retromusic.fragments.player.simple
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
import android.view.animation.DecelerateInterpolator
+import android.widget.ImageButton
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
@@ -32,9 +32,6 @@ import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
import code.name.monkey.retromusic.fragments.base.goToAlbum
import code.name.monkey.retromusic.fragments.base.goToArtist
import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
-import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
@@ -49,10 +46,17 @@ class SimplePlaybackControlsFragment :
private var _binding: FragmentSimpleControlsFragmentBinding? = null
private val binding get() = _binding!!
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
- private lateinit var progressViewUpdateHelper: MusicProgressViewUpdateHelper
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
+
+ override val nextButton: ImageButton
+ get() = binding.nextButton
+
+ override val previousButton: ImageButton
+ get() = binding.previousButton
override fun onPlayStateChanged() {
updatePlayPauseDrawableState()
@@ -73,37 +77,15 @@ class SimplePlaybackControlsFragment :
updateSong()
}
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- progressViewUpdateHelper = MusicProgressViewUpdateHelper(this)
- }
-
- override fun onResume() {
- super.onResume()
- progressViewUpdateHelper.start()
- }
-
- override fun onPause() {
- super.onPause()
- progressViewUpdateHelper.stop()
- }
-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentSimpleControlsFragmentBinding.bind(view)
- setUpMusicControllers()
+ setUpPlayPauseFab()
binding.title.isSelected = true
binding.text.setOnClickListener {
goToArtist(requireActivity())
}
- binding.playPauseButton.setOnClickListener {
- if (MusicPlayerRemote.isPlaying) {
- MusicPlayerRemote.pauseSong()
- } else {
- MusicPlayerRemote.resumePlaying()
- }
- showBounceAnimation(binding.playPauseButton)
- }
+
binding.title.setOnClickListener {
goToAlbum(requireActivity())
}
@@ -112,72 +94,6 @@ class SimplePlaybackControlsFragment :
}
}
- private fun setUpMusicControllers() {
- setUpPlayPauseFab()
- setUpPrevNext()
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpPrevNext() {
- updatePrevNextColor()
- binding.nextButton.setOnClickListener { MusicPlayerRemote.playNextSong() }
- binding.previousButton.setOnClickListener { MusicPlayerRemote.back() }
- }
-
- private fun updatePrevNextColor() {
- binding.nextButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- binding.previousButton.setColorFilter(lastPlaybackControlsColor, PorterDuff.Mode.SRC_IN)
- }
-
- private fun setUpShuffleButton() {
- binding.shuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.shuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.shuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- private fun setUpRepeatButton() {
- binding.repeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.repeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.repeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
- }
-
private fun updateSong() {
val song = MusicPlayerRemote.currentSong
binding.title.text = song.title
@@ -213,9 +129,6 @@ class SimplePlaybackControlsFragment :
}
}
- override fun setUpProgressSlider() {
- }
-
override fun onUpdateProgressViews(progress: Int, total: Int) {
binding.songCurrentProgress.text = String.format(
"%s / %s",
@@ -263,7 +176,14 @@ class SimplePlaybackControlsFragment :
}
private fun setUpPlayPauseFab() {
- binding.playPauseButton.setOnClickListener(PlayPauseButtonOnClickHandler())
+ binding.playPauseButton.setOnClickListener {
+ if (MusicPlayerRemote.isPlaying) {
+ MusicPlayerRemote.pauseSong()
+ } else {
+ MusicPlayerRemote.resumePlaying()
+ }
+ it.showBounceAnimation()
+ }
}
private fun updatePlayPauseDrawableState() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlaybackControlsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlaybackControlsFragment.kt
index 3cfbc2f87..2104ddf50 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlaybackControlsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlaybackControlsFragment.kt
@@ -14,15 +14,13 @@
*/
package code.name.monkey.retromusic.fragments.player.tiny
-import android.graphics.PorterDuff
import android.os.Bundle
import android.view.View
+import android.widget.ImageButton
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentTinyControlsFragmentBinding
import code.name.monkey.retromusic.fragments.base.AbsPlayerControlsFragment
-import code.name.monkey.retromusic.helper.MusicPlayerRemote
-import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
class TinyPlaybackControlsFragment :
@@ -30,14 +28,15 @@ class TinyPlaybackControlsFragment :
private var _binding: FragmentTinyControlsFragmentBinding? = null
private val binding get() = _binding!!
- override fun show() {
- }
+ override val shuffleButton: ImageButton
+ get() = binding.shuffleButton
- override fun hide() {
- }
+ override val repeatButton: ImageButton
+ get() = binding.repeatButton
- override fun setUpProgressSlider() {
- }
+ override fun show() {}
+
+ override fun hide() {}
override fun setColor(color: MediaNotificationProcessor) {
lastPlaybackControlsColor = color.secondaryTextColor
@@ -50,66 +49,9 @@ class TinyPlaybackControlsFragment :
override fun onUpdateProgressViews(progress: Int, total: Int) {
}
- private var lastPlaybackControlsColor: Int = 0
- private var lastDisabledPlaybackControlsColor: Int = 0
-
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentTinyControlsFragmentBinding.bind(view)
- setUpMusicControllers()
- }
-
- private fun setUpMusicControllers() {
- setUpRepeatButton()
- setUpShuffleButton()
- setUpProgressSlider()
- }
-
- private fun setUpShuffleButton() {
- binding.playerShuffleButton.setOnClickListener { MusicPlayerRemote.toggleShuffleMode() }
- }
-
- private fun setUpRepeatButton() {
- binding.playerRepeatButton.setOnClickListener { MusicPlayerRemote.cycleRepeatMode() }
- }
-
- override fun updateShuffleState() {
- when (MusicPlayerRemote.shuffleMode) {
- MusicService.SHUFFLE_MODE_SHUFFLE -> binding.playerShuffleButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- else -> binding.playerShuffleButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
-
- override fun updateRepeatState() {
- when (MusicPlayerRemote.repeatMode) {
- MusicService.REPEAT_MODE_NONE -> {
- binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat)
- binding.playerRepeatButton.setColorFilter(
- lastDisabledPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_ALL -> {
- binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat)
- binding.playerRepeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- MusicService.REPEAT_MODE_THIS -> {
- binding.playerRepeatButton.setImageResource(R.drawable.ic_repeat_one)
- binding.playerRepeatButton.setColorFilter(
- lastPlaybackControlsColor,
- PorterDuff.Mode.SRC_IN
- )
- }
- }
}
override fun onServiceConnected() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt
index 01cbdf665..a2cdc784e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/tiny/TinyPlayerFragment.kt
@@ -59,11 +59,9 @@ class TinyPlayerFragment : AbsPlayerFragment(R.layout.fragment_tiny_player),
return binding.playerToolbar
}
- override fun onShow() {
- }
+ override fun onShow() {}
- override fun onHide() {
- }
+ override fun onHide() {}
override fun onBackPressed(): Boolean {
return false
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt
index f66054cad..c76d3c2dd 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistDetailsFragment.kt
@@ -20,6 +20,7 @@ import code.name.monkey.retromusic.db.PlaylistWithSongs
import code.name.monkey.retromusic.db.toSongs
import code.name.monkey.retromusic.extensions.dip
import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.extensions.updateMargin
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
@@ -149,8 +150,8 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
}
private fun showEmptyView() {
- binding.empty.visibility = View.VISIBLE
- binding.emptyText.visibility = View.VISIBLE
+ binding.empty.isVisible = true
+ binding.emptyText.isVisible = true
}
fun songs(songs: List) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
index 094c146bc..ff17c2ad4 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt
@@ -48,7 +48,7 @@ class PlaylistsFragment :
})
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
remove()
- mainActivity.finish()
+ requireActivity().onBackPressed()
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
index 0bc6846de..fba9d5c4a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/queue/PlayingQueueFragment.kt
@@ -130,7 +130,7 @@ class PlayingQueueFragment : AbsMusicServiceFragment(R.layout.fragment_playing_q
}
private fun updateCurrentSong() {
- binding.toolbar.subtitle = getUpNextAndQueueTime()
+ binding.appBarLayout.toolbar.subtitle = getUpNextAndQueueTime()
}
override fun onPlayingMetaChanged() {
@@ -140,7 +140,7 @@ class PlayingQueueFragment : AbsMusicServiceFragment(R.layout.fragment_playing_q
private fun updateQueuePosition() {
playingQueueAdapter?.setCurrent(MusicPlayerRemote.position)
resetToCurrentPosition()
- binding.toolbar.subtitle = getUpNextAndQueueTime()
+ binding.appBarLayout.toolbar.subtitle = getUpNextAndQueueTime()
}
private fun updateQueue() {
@@ -179,7 +179,7 @@ class PlayingQueueFragment : AbsMusicServiceFragment(R.layout.fragment_playing_q
}
private fun setupToolbar() {
- binding.toolbar.subtitle = getUpNextAndQueueTime()
+ binding.appBarLayout.toolbar.subtitle = getUpNextAndQueueTime()
binding.clearQueue.backgroundTintList = ColorStateList.valueOf(accentColor())
ColorStateList.valueOf(
MaterialValueHelper.getPrimaryTextColor(
@@ -190,10 +190,13 @@ class PlayingQueueFragment : AbsMusicServiceFragment(R.layout.fragment_playing_q
binding.clearQueue.setTextColor(this)
binding.clearQueue.iconTint = this
}
- binding.toolbar.apply {
+ binding.appBarLayout.pinWhenScrolled()
+ binding.appBarLayout.toolbar.apply {
setNavigationOnClickListener {
findNavController().navigateUp()
}
+ setTitle(R.string.now_playing_queue)
+ setTitleTextAppearance(context, R.style.ToolbarTextAppearanceNormal)
setNavigationIcon(R.drawable.ic_keyboard_backspace_black)
ToolbarContentTintHelper.colorBackButton(this)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt
index fbb625079..090a8ef5b 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt
@@ -42,7 +42,7 @@ import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipGroup
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.textfield.TextInputEditText
-import com.google.android.material.transition.MaterialSharedAxis
+import com.google.android.material.transition.MaterialFadeThrough
import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent
import java.util.*
import kotlin.collections.ArrayList
@@ -63,8 +63,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- enterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(view)
- returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false)
+ enterTransition = MaterialFadeThrough().addTarget(view)
+ reenterTransition = MaterialFadeThrough().addTarget(view)
_binding = FragmentSearchBinding.bind(view)
mainActivity.setSupportActionBar(binding.toolbar)
libraryViewModel.clearSearchResult()
@@ -147,7 +147,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
super.onChanged()
binding.empty.isVisible = searchAdapter.itemCount < 1
val height = dipToPix(52f)
- binding.recyclerView.setPadding(0, 0, 0, height.toInt())
+ binding.recyclerView.updatePadding(bottom = height.toInt())
}
})
binding.recyclerView.apply {
@@ -226,11 +226,6 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
hideKeyboard(view)
}
- override fun onResume() {
- super.onResume()
- mainActivity.setBottomNavVisibility(false)
- }
-
private fun hideKeyboard(view: View?) {
if (view != null) {
val imm: InputMethodManager =
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt
index 2fae21e2b..8a1502ab0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt
@@ -20,18 +20,14 @@ import android.os.Build
import android.os.Bundle
import android.view.View
import android.widget.Toast
-import androidx.core.view.ViewCompat
-import androidx.core.view.WindowInsetsCompat
-import androidx.core.view.updatePadding
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceManager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat
import code.name.monkey.retromusic.activities.OnThemeChangedListener
-import code.name.monkey.retromusic.extensions.rootView
-import code.name.monkey.retromusic.extensions.safeGetBottomInsets
import code.name.monkey.retromusic.preferences.*
import code.name.monkey.retromusic.util.NavigationUtil
+import dev.chrisbanes.insetter.applyInsetter
/**
* @author Hemanth S (h4h13).
@@ -74,19 +70,10 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
listView.overScrollMode = View.OVER_SCROLL_NEVER
}
- // CollapsingToolbarLayout consumes insets and insets are not passed to child views
- // So we get insets from decor view
- // https://github.com/material-components/material-components-android/issues/1310
- ViewCompat.setOnApplyWindowInsetsListener(
- requireActivity().rootView
- ) { _, windowInsets ->
- val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
- listView.updatePadding(
- left = insets.left,
- bottom = insets.bottom,
- right = insets.right,
- )
- windowInsets
+ listView.applyInsetter {
+ type(navigationBars = true) {
+ padding()
+ }
}
invalidateSettings()
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt
index 99738c86c..ac22d66cf 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/MainSettingsFragment.kt
@@ -19,17 +19,14 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.core.view.ViewCompat
-import androidx.core.view.WindowInsetsCompat
-import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentMainSettingsBinding
+import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding
import code.name.monkey.retromusic.extensions.hide
-import code.name.monkey.retromusic.extensions.rootView
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.util.NavigationUtil
@@ -40,17 +37,20 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
override fun onClick(view: View) {
- when (view.id) {
- R.id.generalSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_themeSettingsFragment)
- R.id.audioSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_audioSettings)
- R.id.personalizeSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_personalizeSettingsFragment)
- R.id.imageSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_imageSettingFragment)
- R.id.notificationSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_notificationSettingsFragment)
- R.id.otherSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_otherSettingsFragment)
- R.id.aboutSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_aboutActivity)
- R.id.nowPlayingSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_nowPlayingSettingsFragment)
- R.id.backup_restore_settings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_backupFragment)
- }
+ findNavController().navigate(
+ when (view.id) {
+ R.id.generalSettings -> R.id.action_mainSettingsFragment_to_themeSettingsFragment
+ R.id.audioSettings -> R.id.action_mainSettingsFragment_to_audioSettings
+ R.id.personalizeSettings -> R.id.action_mainSettingsFragment_to_personalizeSettingsFragment
+ R.id.imageSettings -> R.id.action_mainSettingsFragment_to_imageSettingFragment
+ R.id.notificationSettings -> R.id.action_mainSettingsFragment_to_notificationSettingsFragment
+ R.id.otherSettings -> R.id.action_mainSettingsFragment_to_otherSettingsFragment
+ R.id.aboutSettings -> R.id.action_mainSettingsFragment_to_aboutActivity
+ R.id.nowPlayingSettings -> R.id.action_mainSettingsFragment_to_nowPlayingSettingsFragment
+ R.id.backup_restore_settings -> R.id.action_mainSettingsFragment_to_backupFragment
+ else -> R.id.action_mainSettingsFragment_to_themeSettingsFragment
+ }
+ )
}
override fun onCreateView(
@@ -89,17 +89,7 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
binding.diamondIcon.imageTintList = ColorStateList.valueOf(it)
}
- ViewCompat.setOnApplyWindowInsetsListener(
- requireActivity().rootView
- ) { _, windowInsets ->
- val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
- _binding?.container?.updatePadding(
- left = insets.left,
- bottom = insets.bottom,
- right = insets.right,
- )
- windowInsets
- }
+ binding.container.drawAboveSystemBarsWithPadding()
}
override fun onDestroyView() {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt
index c0c8207ef..0e47a341a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/ThemeSettingsFragment.kt
@@ -14,6 +14,7 @@
*/
package code.name.monkey.retromusic.fragments.settings
+import android.annotation.SuppressLint
import android.os.Build
import android.os.Bundle
import androidx.preference.Preference
@@ -37,6 +38,7 @@ import com.google.android.material.color.DynamicColors
*/
class ThemeSettingsFragment : AbsSettingsFragment() {
+ @SuppressLint("CheckResult")
override fun invalidateSettings() {
val generalTheme: Preference? = findPreference(GENERAL_THEME)
generalTheme?.let {
@@ -121,6 +123,16 @@ class ThemeSettingsFragment : AbsSettingsFragment() {
restartActivity()
true
}
+ val wallpaperAccent: ATESwitchPreference? = findPreference(WALLPAPER_ACCENT)
+ wallpaperAccent?.setOnPreferenceChangeListener { _, _ ->
+ restartActivity()
+ true
+ }
+ val customFont: ATESwitchPreference? = findPreference(CUSTOM_FONT)
+ customFont?.setOnPreferenceChangeListener { _, _ ->
+ restartActivity()
+ true
+ }
}
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
index ab20c8e7b..494430ed8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt
@@ -51,12 +51,11 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment
+ updateColors()
+ }
+ }
+
+ fun init() {
+ if (VersionUtils.hasOreoMR1()) {
+ with(WallpaperManager.getInstance(context)) {
+ updateColors()
+ if (PreferenceUtil.wallpaperAccent) {
+ addOnColorsChangedListener(
+ onColorsChangedListener,
+ Handler(Looper.getMainLooper())
+ )
+ }
+ }
+ }
+ }
+
+ fun release() {
+ if (VersionUtils.hasOreoMR1()) {
+ WallpaperManager.getInstance(context)
+ .removeOnColorsChangedListener(onColorsChangedListener)
+ }
+ }
+
+ private fun updateColors() {
+ if (VersionUtils.hasOreoMR1()) {
+ val colors = WallpaperManager.getInstance(context)
+ .getWallpaperColors(WallpaperManager.FLAG_SYSTEM)
+ if (colors != null) {
+ val primaryColor = colors.primaryColor.toArgb()
+ if (primaryColor != ThemeStore.wallpaperColor(context)) {
+ ThemeStore.editTheme(context).wallpaperColor(primaryColor).commit()
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt
index 34ce472e1..1244f3cbf 100644
--- a/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/lyrics/CoverLrcView.kt
@@ -67,7 +67,6 @@ class CoverLrcView @JvmOverloads constructor(
private var mDefaultLabel: String? = null
private var mLrcPadding = 0f
private var mOnPlayClickListener: OnPlayClickListener? = null
- private var mOnFlingXListener: OnFlingXListener? = null
private var mAnimator: ValueAnimator? = null
private var mGestureDetector: GestureDetector? = null
private var mScroller: Scroller? = null
@@ -132,9 +131,6 @@ class CoverLrcView @JvmOverloads constructor(
velocityX: Float,
velocityY: Float
): Boolean {
- if (mOnFlingXListener != null && abs(velocityX) > abs(velocityY)) {
- return mOnFlingXListener!!.onFlingX(velocityX)
- }
if (hasLrc()) {
mScroller!!.fling(
0,
@@ -167,7 +163,7 @@ class CoverLrcView @JvmOverloads constructor(
isShowTimeline = false
removeCallbacks(hideTimelineRunnable)
mCurrentLine = centerLine
- invalidate()
+ animateCurrentTextSize()
return true
}
} else {
@@ -320,10 +316,6 @@ class CoverLrcView @JvmOverloads constructor(
mOnPlayClickListener = onPlayClickListener
}
- fun setOnFlingXListener(onFlingXListener: OnFlingXListener) {
- mOnFlingXListener = onFlingXListener
- }
-
/** 设置歌词为空时屏幕中央显示的文字,如“暂无歌词” */
fun setLabel(label: String?) {
runOnUi {
@@ -458,6 +450,7 @@ class CoverLrcView @JvmOverloads constructor(
mCurrentLine = line
if (!isShowTimeline) {
smoothScrollTo(line)
+ animateCurrentTextSize()
} else {
invalidate()
}
@@ -536,6 +529,18 @@ class CoverLrcView @JvmOverloads constructor(
canvas.restore()
}
+ fun animateCurrentTextSize() {
+ val currentTextSize = mCurrentTextSize
+ ValueAnimator.ofFloat(mNormalTextSize, currentTextSize).apply {
+ addUpdateListener {
+ mCurrentTextSize = it.animatedValue as Float
+ invalidate()
+ }
+ duration = 300L
+ start()
+ }
+ }
+
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(event: MotionEvent): Boolean {
if (event.action == MotionEvent.ACTION_UP
@@ -613,7 +618,7 @@ class CoverLrcView @JvmOverloads constructor(
private fun adjustCenter() {
smoothScrollTo(centerLine, ADJUST_DURATION)
}
- /** 滚动到某一行 */
+
/** 滚动到某一行 */
private fun smoothScrollTo(line: Int, duration: Long = mAnimationDuration) {
val offset = getOffset(line)
diff --git a/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt b/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt
index cd62d4c84..78e6a1966 100644
--- a/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt
@@ -37,6 +37,7 @@ data class CategoryInfo(
Artists(R.id.action_artist, R.string.artists, R.drawable.asld_artist),
Playlists(R.id.action_playlist, R.string.playlists, R.drawable.asld_playlist),
Genres(R.id.action_genre, R.string.genres, R.drawable.asld_guitar),
- Folder(R.id.action_folder, R.string.folders, R.drawable.asld_folder);
+ Folder(R.id.action_folder, R.string.folders, R.drawable.asld_folder),
+ Search(R.id.action_search, R.string.action_search, R.drawable.ic_search);
}
}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt
index 66f35c579..85dc63596 100644
--- a/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/preferences/AlbumCoverStylePreferenceDialog.kt
@@ -14,7 +14,6 @@
package code.name.monkey.retromusic.preferences
-import android.annotation.SuppressLint
import android.app.Dialog
import android.content.Context
import android.os.Bundle
@@ -22,8 +21,6 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.ImageView
-import android.widget.TextView
import android.widget.Toast
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
@@ -33,6 +30,8 @@ import androidx.viewpager.widget.ViewPager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.PreferenceDialogNowPlayingScreenBinding
+import code.name.monkey.retromusic.databinding.PreferenceNowPlayingScreenItemBinding
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.AlbumCoverStyle
import code.name.monkey.retromusic.fragments.AlbumCoverStyle.*
@@ -69,14 +68,13 @@ class AlbumCoverStylePreferenceDialog : DialogFragment(),
private var viewPagerPosition: Int = 0
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- @SuppressLint("InflateParams") val view =
- layoutInflater
- .inflate(R.layout.preference_dialog_now_playing_screen, null)
- val viewPager = view.findViewById(R.id.now_playing_screen_view_pager)
- viewPager.adapter = AlbumCoverStyleAdapter(requireContext())
- viewPager.addOnPageChangeListener(this)
- viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt()
- viewPager.currentItem = PreferenceUtil.albumCoverStyle.ordinal
+ val binding = PreferenceDialogNowPlayingScreenBinding.inflate(layoutInflater)
+ binding.nowPlayingScreenViewPager.apply {
+ adapter = AlbumCoverStyleAdapter(requireContext())
+ addOnPageChangeListener(this@AlbumCoverStylePreferenceDialog)
+ pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt()
+ currentItem = PreferenceUtil.albumCoverStyle.ordinal
+ }
return materialDialog(R.string.pref_title_album_cover_style)
.setPositiveButton(R.string.set) { _, _ ->
@@ -89,7 +87,7 @@ class AlbumCoverStylePreferenceDialog : DialogFragment(),
PreferenceUtil.albumCoverStyle = coverStyle
}
}
- .setView(view)
+ .setView(binding.root)
.create()
.colorButtons()
}
@@ -111,25 +109,17 @@ class AlbumCoverStylePreferenceDialog : DialogFragment(),
val albumCoverStyle = values()[position]
val inflater = LayoutInflater.from(context)
- val layout = inflater.inflate(
- R.layout.preference_now_playing_screen_item,
- collection,
- false
- ) as ViewGroup
- collection.addView(layout)
+ val binding = PreferenceNowPlayingScreenItemBinding.inflate(inflater, collection, true)
- val image = layout.findViewById(R.id.image)
- val title = layout.findViewById(R.id.title)
- val proText = layout.findViewById(R.id.proText)
- Glide.with(context).load(albumCoverStyle.drawableResId).into(image)
- title.setText(albumCoverStyle.titleRes)
+ Glide.with(context).load(albumCoverStyle.drawableResId).into(binding.image)
+ binding.title.setText(albumCoverStyle.titleRes)
if (isAlbumCoverStyle(albumCoverStyle)) {
- proText.show()
- proText.setText(R.string.pro)
+ binding.proText.show()
+ binding.proText.setText(R.string.pro)
} else {
- proText.hide()
+ binding.proText.hide()
}
- return layout
+ return binding.root
}
override fun destroyItem(
diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/DurationPreference.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/DurationPreference.kt
index c9b5e5d2b..6f7445c25 100644
--- a/app/src/main/java/code/name/monkey/retromusic/preferences/DurationPreference.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/preferences/DurationPreference.kt
@@ -1,31 +1,17 @@
-/*
- * Copyright (c) 2019 Hemanth Savarala.
- *
- * Licensed under the GNU General Public License v3
- *
- * This 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 software 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.
- */
-
package code.name.monkey.retromusic.preferences
import android.app.Dialog
import android.content.Context
-import android.content.res.ColorStateList
import android.os.Bundle
import android.util.AttributeSet
import android.widget.TextView
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
import androidx.fragment.app.DialogFragment
-import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.PreferenceDialogAudioFadeBinding
+import code.name.monkey.retromusic.extensions.addAccentColor
import code.name.monkey.retromusic.extensions.colorButtons
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.materialDialog
@@ -50,29 +36,24 @@ class DurationPreference @JvmOverloads constructor(
class DurationPreferenceDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val view = layoutInflater
- .inflate(R.layout.preference_dialog_audio_fade, null)
+ val binding = PreferenceDialogAudioFadeBinding.inflate(layoutInflater)
-
- val slider = view.findViewById(R.id.slider)
- val duration = view.findViewById(R.id.duration)
- ColorStateList.valueOf(ThemeStore.accentColor(requireContext())).let {
- slider.trackTintList = it
- slider.thumbTintList = it
+ binding.slider.apply {
+ addAccentColor()
+ value = PreferenceUtil.audioFadeDuration.toFloat()
+ updateText(value.toInt(), binding.duration)
+ addOnChangeListener(Slider.OnChangeListener { _, value, fromUser ->
+ if (fromUser) {
+ updateText(value.toInt(), binding.duration)
+ }
+ })
}
- slider.value = PreferenceUtil.audioFadeDuration.toFloat()
- updateText(slider.value.toInt(), duration)
- slider.addOnChangeListener(Slider.OnChangeListener { _, value, fromUser ->
- if (fromUser) {
- updateText(value.toInt(), duration)
- }
- })
return materialDialog(R.string.audio_fade_duration)
.setNegativeButton(android.R.string.cancel, null)
- .setPositiveButton(R.string.save) { _, _ -> updateDuration(slider.value.toInt()) }
- .setView(view)
+ .setPositiveButton(R.string.save) { _, _ -> updateDuration(binding.slider.value.toInt()) }
+ .setView(binding.root)
.create()
.colorButtons()
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
index 9b6e19e11..e88120a9c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/preferences/LibraryPreference.kt
@@ -23,10 +23,10 @@ import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
import androidx.fragment.app.DialogFragment
import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.CategoryInfoAdapter
+import code.name.monkey.retromusic.databinding.PreferenceDialogLibraryCategoriesBinding
import code.name.monkey.retromusic.extensions.colorButtons
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.materialDialog
@@ -51,15 +51,14 @@ class LibraryPreference @JvmOverloads constructor(
class LibraryPreferenceDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val view = layoutInflater
- .inflate(R.layout.preference_dialog_library_categories, null)
+ val binding = PreferenceDialogLibraryCategoriesBinding.inflate(layoutInflater)
val categoryAdapter = CategoryInfoAdapter()
- val recyclerView = view.findViewById(R.id.recycler_view)
- recyclerView.layoutManager = LinearLayoutManager(activity)
- recyclerView.adapter = categoryAdapter
- categoryAdapter.attachToRecyclerView(recyclerView)
-
+ binding.recyclerView.apply {
+ layoutManager = LinearLayoutManager(activity)
+ adapter = categoryAdapter
+ categoryAdapter.attachToRecyclerView(this)
+ }
return materialDialog(R.string.library_categories)
.setNeutralButton(
@@ -68,8 +67,8 @@ class LibraryPreferenceDialog : DialogFragment() {
updateCategories(PreferenceUtil.defaultCategories)
}
.setNegativeButton(android.R.string.cancel, null)
- .setPositiveButton( R.string.done) { _, _ -> updateCategories(categoryAdapter.categoryInfos) }
- .setView(view)
+ .setPositiveButton(R.string.done) { _, _ -> updateCategories(categoryAdapter.categoryInfos) }
+ .setView(binding.root)
.create()
.colorButtons()
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt
index 35345ef8b..64b95d87e 100644
--- a/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/preferences/NowPlayingScreenPreferenceDialog.kt
@@ -21,8 +21,6 @@ import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.ImageView
-import android.widget.TextView
import android.widget.Toast
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
@@ -32,6 +30,7 @@ import androidx.viewpager.widget.ViewPager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
+import code.name.monkey.retromusic.databinding.PreferenceNowPlayingScreenItemBinding
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.NowPlayingScreen
import code.name.monkey.retromusic.fragments.NowPlayingScreen.*
@@ -116,25 +115,16 @@ private class NowPlayingScreenAdapter(private val context: Context) : PagerAdapt
val nowPlayingScreen = values()[position]
val inflater = LayoutInflater.from(context)
- val layout = inflater.inflate(
- R.layout.preference_now_playing_screen_item,
- collection,
- false
- ) as ViewGroup
- collection.addView(layout)
-
- val image = layout.findViewById(R.id.image)
- val title = layout.findViewById(R.id.title)
- val proText = layout.findViewById(R.id.proText)
- Glide.with(context).load(nowPlayingScreen.drawableResId).into(image)
- title.setText(nowPlayingScreen.titleRes)
+ val binding = PreferenceNowPlayingScreenItemBinding.inflate(inflater, collection, true)
+ Glide.with(context).load(nowPlayingScreen.drawableResId).into(binding.image)
+ binding.title.setText(nowPlayingScreen.titleRes)
if (isNowPlayingThemes(nowPlayingScreen)) {
- proText.show()
- proText.setText(R.string.pro)
- }else{
- proText.hide()
+ binding.proText.show()
+ binding.proText.setText(R.string.pro)
+ } else {
+ binding.proText.hide()
}
- return layout
+ return binding.root
}
override fun destroyItem(
diff --git a/app/src/main/java/code/name/monkey/retromusic/repository/Repository.kt b/app/src/main/java/code/name/monkey/retromusic/repository/Repository.kt
index 0c7a3d9b0..71d79ef6a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/repository/Repository.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/repository/Repository.kt
@@ -69,6 +69,7 @@ interface Repository {
suspend fun recentAlbumsHome(): Home
suspend fun favoritePlaylistHome(): Home
suspend fun suggestionsHome(): Home
+ suspend fun suggestions(): List
suspend fun genresHome(): Home
suspend fun playlists(): Home
suspend fun homeSections(): List
@@ -240,19 +241,15 @@ class RealRepository(
override suspend fun homeSections(): List {
val homeSections = mutableListOf()
val sections: List = listOf(
- suggestionsHome(),
topArtistsHome(),
topAlbumsHome(),
recentArtistsHome(),
recentAlbumsHome(),
favoritePlaylistHome()
- // genresHome()
)
for (section in sections) {
if (section.arrayList.isNotEmpty()) {
- if (section.homeSection != SUGGESTIONS || PreferenceUtil.homeSuggestions) {
- homeSections.add(section)
- }
+ homeSections.add(section)
}
}
return homeSections
@@ -374,6 +371,13 @@ class RealRepository(
return suggestions
}
+ override suspend fun suggestions(): List {
+ if (!PreferenceUtil.homeSuggestions) return listOf()
+ return NotPlayedPlaylist().songs().shuffled().takeIf {
+ it.size > 9
+ } ?: emptyList()
+ }
+
override suspend fun genresHome(): Home {
val genres = genreRepository.genres().shuffled()
return Home(genres, GENRES, R.string.genres)
diff --git a/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt b/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt
index 6a932ab20..03de64ac3 100644
--- a/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/repository/SongRepository.kt
@@ -16,6 +16,7 @@ package code.name.monkey.retromusic.repository
import android.content.Context
import android.database.Cursor
+import android.net.Uri
import android.os.Environment
import android.provider.MediaStore
import android.provider.MediaStore.Audio.AudioColumns
@@ -42,11 +43,13 @@ interface SongRepository {
fun songs(query: String): List
- fun songsByFilePath(filePath: String): List
+ fun songsByFilePath(filePath: String, ignoreBlacklist: Boolean = false): List
fun song(cursor: Cursor?): Song
fun song(songId: Long): Song
+
+ fun songsIgnoreBlacklist(uri: Uri): List
}
class RealSongRepository(private val context: Context) : SongRepository {
@@ -84,15 +87,38 @@ class RealSongRepository(private val context: Context) : SongRepository {
return song(makeSongCursor(AudioColumns._ID + "=?", arrayOf(songId.toString())))
}
- override fun songsByFilePath(filePath: String): List {
+ override fun songsByFilePath(filePath: String, ignoreBlacklist: Boolean): List {
return songs(
makeSongCursor(
AudioColumns.DATA + "=?",
- arrayOf(filePath)
+ arrayOf(filePath),
+ ignoreBlacklist = ignoreBlacklist
)
)
}
+ override fun songsIgnoreBlacklist(uri: Uri): List {
+ var filePath = ""
+ context.contentResolver.query(
+ uri,
+ arrayOf(AudioColumns.DATA),
+ null,
+ null,
+ null
+ ).use { cursor ->
+ if (cursor != null) {
+ if (cursor.count != 0) {
+ cursor.moveToFirst()
+ filePath = cursor.getString(AudioColumns.DATA)
+ println("File Path: $filePath")
+ }
+ }
+ }
+ return songsByFilePath(
+ filePath, true
+ )
+ }
+
private fun getSongFromCursorImpl(
cursor: Cursor
): Song {
@@ -128,40 +154,41 @@ class RealSongRepository(private val context: Context) : SongRepository {
@JvmOverloads
fun makeSongCursor(
-
selection: String?,
selectionValues: Array?,
- sortOrder: String = PreferenceUtil.songSortOrder
+ sortOrder: String = PreferenceUtil.songSortOrder,
+ ignoreBlacklist: Boolean = false
): Cursor? {
var selectionFinal = selection
var selectionValuesFinal = selectionValues
- selectionFinal = if (selection != null && selection.trim { it <= ' ' } != "") {
- "$IS_MUSIC AND $selectionFinal"
- } else {
- IS_MUSIC
- }
-
- // Whitelist
- if (PreferenceUtil.isWhiteList) {
- selectionFinal =
- selectionFinal + " AND " + AudioColumns.DATA + " LIKE ?"
- selectionValuesFinal = addSelectionValues(
- selectionValuesFinal, arrayListOf(
- Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).canonicalPath
- )
- )
- } else {
- // Blacklist
- val paths = BlacklistStore.getInstance(context).paths
- if (paths.isNotEmpty()) {
- selectionFinal = generateBlacklistSelection(selectionFinal, paths.size)
- selectionValuesFinal = addSelectionValues(selectionValuesFinal, paths)
+ if (!ignoreBlacklist) {
+ selectionFinal = if (selection != null && selection.trim { it <= ' ' } != "") {
+ "$IS_MUSIC AND $selectionFinal"
+ } else {
+ IS_MUSIC
}
+
+ // Whitelist
+ if (PreferenceUtil.isWhiteList) {
+ selectionFinal =
+ selectionFinal + " AND " + AudioColumns.DATA + " LIKE ?"
+ selectionValuesFinal = addSelectionValues(
+ selectionValuesFinal, arrayListOf(
+ Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).canonicalPath
+ )
+ )
+ } else {
+ // Blacklist
+ val paths = BlacklistStore.getInstance(context).paths
+ if (paths.isNotEmpty()) {
+ selectionFinal = generateBlacklistSelection(selectionFinal, paths.size)
+ selectionValuesFinal = addSelectionValues(selectionValuesFinal, paths)
+ }
+ }
+
+ selectionFinal =
+ selectionFinal + " AND " + Media.DURATION + ">= " + (PreferenceUtil.filterLength * 1000)
}
-
- selectionFinal =
- selectionFinal + " AND " + Media.DURATION + ">= " + (PreferenceUtil.filterLength * 1000)
-
val uri = if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
Media.getContentUri(MediaStore.VOLUME_EXTERNAL)
} else {
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java b/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java
index f8e89f111..c3768dc17 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java
+++ b/app/src/main/java/code/name/monkey/retromusic/service/MultiPlayer.java
@@ -16,8 +16,10 @@ package code.name.monkey.retromusic.service;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.media.AudioManager;
import android.media.MediaPlayer;
+import android.media.PlaybackParams;
import android.media.audiofx.AudioEffect;
import android.net.Uri;
import android.os.PowerManager;
@@ -26,29 +28,37 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.preference.PreferenceManager;
+import code.name.monkey.appthemehelper.util.VersionUtils;
+import code.name.monkey.retromusic.ConstantsKt;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.service.playback.Playback;
import code.name.monkey.retromusic.util.PreferenceUtil;
-/** @author Andrew Neal, Karim Abou Zeid (kabouzeid) */
+/**
+ * @author Andrew Neal, Karim Abou Zeid (kabouzeid)
+ */
public class MultiPlayer
- implements Playback, MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {
+ implements Playback, MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener, SharedPreferences.OnSharedPreferenceChangeListener {
public static final String TAG = MultiPlayer.class.getSimpleName();
private MediaPlayer mCurrentMediaPlayer = new MediaPlayer();
private MediaPlayer mNextMediaPlayer;
private final Context context;
- @Nullable
- private Playback.PlaybackCallbacks callbacks;
+ @Nullable
+ private Playback.PlaybackCallbacks callbacks;
private boolean mIsInitialized = false;
- /** Constructor of MultiPlayer
*/
+ /**
+ * Constructor of MultiPlayer
+ */
MultiPlayer(final Context context) {
this.context = context;
mCurrentMediaPlayer.setWakeMode(context, PowerManager.PARTIAL_WAKE_LOCK);
+ PreferenceManager.getDefaultSharedPreferences(context).registerOnSharedPreferenceChangeListener(this);
}
/**
@@ -67,7 +77,7 @@ public class MultiPlayer
/**
* @param player The {@link MediaPlayer} to use
- * @param path The path of the file, or the http/rtsp URL of the stream you want to play
+ * @param path The path of the file, or the http/rtsp URL of the stream you want to play
* @return True if the player
has been prepared and is ready to play, false otherwise
*/
private boolean setDataSourceImpl(@NonNull final MediaPlayer player, @NonNull final String path) {
@@ -82,6 +92,7 @@ public class MultiPlayer
} else {
player.setDataSource(path);
}
+ setPlaybackSpeedPitch(player);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.prepare();
} catch (Exception e) {
@@ -155,13 +166,17 @@ public class MultiPlayer
this.callbacks = callbacks;
}
- /** @return True if the player is ready to go, false otherwise */
+ /**
+ * @return True if the player is ready to go, false otherwise
+ */
@Override
public boolean isInitialized() {
return mIsInitialized;
}
- /** Starts or resumes playback. */
+ /**
+ * Starts or resumes playback.
+ */
@Override
public boolean start() {
try {
@@ -172,14 +187,18 @@ public class MultiPlayer
}
}
- /** Resets the MediaPlayer to its uninitialized state. */
+ /**
+ * Resets the MediaPlayer to its uninitialized state.
+ */
@Override
public void stop() {
mCurrentMediaPlayer.reset();
mIsInitialized = false;
}
- /** Releases resources associated with this MediaPlayer object. */
+ /**
+ * Releases resources associated with this MediaPlayer object.
+ */
@Override
public void release() {
stop();
@@ -187,9 +206,12 @@ public class MultiPlayer
if (mNextMediaPlayer != null) {
mNextMediaPlayer.release();
}
+ PreferenceManager.getDefaultSharedPreferences(context).unregisterOnSharedPreferenceChangeListener(this);
}
- /** Pauses playback. Call start() to resume. */
+ /**
+ * Pauses playback. Call start() to resume.
+ */
@Override
public boolean pause() {
try {
@@ -200,7 +222,9 @@ public class MultiPlayer
}
}
- /** Checks whether the MultiPlayer is playing. */
+ /**
+ * Checks whether the MultiPlayer is playing.
+ */
@Override
public boolean isPlaying() {
return mIsInitialized && mCurrentMediaPlayer.isPlaying();
@@ -291,7 +315,9 @@ public class MultiPlayer
return mCurrentMediaPlayer.getAudioSessionId();
}
- /** {@inheritDoc} */
+ /**
+ * {@inheritDoc}
+ */
@Override
public boolean onError(final MediaPlayer mp, final int what, final int extra) {
mIsInitialized = false;
@@ -308,7 +334,9 @@ public class MultiPlayer
return false;
}
- /** {@inheritDoc} */
+ /**
+ * {@inheritDoc}
+ */
@Override
public void onCompletion(final MediaPlayer mp) {
if (mp.equals(mCurrentMediaPlayer) && mNextMediaPlayer != null) {
@@ -323,6 +351,26 @@ public class MultiPlayer
}
}
- @Override
- public void setCrossFadeDuration(int duration) { }
+ @Override
+ public void setCrossFadeDuration(int duration) {
+ }
+
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ if (key.equals(ConstantsKt.PLAYBACK_SPEED) || key.equals(ConstantsKt.PLAYBACK_PITCH)) {
+ setPlaybackSpeedPitch(mCurrentMediaPlayer);
+ }
+ }
+
+ public void setPlaybackSpeedPitch(MediaPlayer mp) {
+ if (VersionUtils.INSTANCE.hasMarshmallow()) {
+ boolean wasPlaying = mp.isPlaying();
+ mp.setPlaybackParams(new PlaybackParams()
+ .setSpeed(PreferenceUtil.INSTANCE.getPlaybackSpeed())
+ .setPitch(PreferenceUtil.INSTANCE.getPlaybackPitch()));
+ if (!wasPlaying) {
+ if (mp.isPlaying()) mp.pause();
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
index 6399e8fdd..f6a246610 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
+++ b/app/src/main/java/code/name/monkey/retromusic/service/MusicService.java
@@ -22,6 +22,7 @@ import static code.name.monkey.retromusic.ConstantsKt.BLURRED_ALBUM_ART;
import static code.name.monkey.retromusic.ConstantsKt.CLASSIC_NOTIFICATION;
import static code.name.monkey.retromusic.ConstantsKt.COLORED_NOTIFICATION;
import static code.name.monkey.retromusic.ConstantsKt.CROSS_FADE_DURATION;
+import static code.name.monkey.retromusic.ConstantsKt.PLAYBACK_SPEED;
import static code.name.monkey.retromusic.ConstantsKt.TOGGLE_HEADSET;
import static code.name.monkey.retromusic.service.AudioFader.startFadeAnimator;
@@ -82,6 +83,7 @@ import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.activities.LockScreenActivity;
import code.name.monkey.retromusic.appwidgets.AppWidgetBig;
import code.name.monkey.retromusic.appwidgets.AppWidgetCard;
+import code.name.monkey.retromusic.appwidgets.AppWidgetCircle;
import code.name.monkey.retromusic.appwidgets.AppWidgetClassic;
import code.name.monkey.retromusic.appwidgets.AppWidgetMD3;
import code.name.monkey.retromusic.appwidgets.AppWidgetSmall;
@@ -139,6 +141,7 @@ public class MusicService extends MediaBrowserServiceCompat
public static final String META_CHANGED = RETRO_MUSIC_PACKAGE_NAME + ".metachanged";
public static final String QUEUE_CHANGED = RETRO_MUSIC_PACKAGE_NAME + ".queuechanged";
public static final String PLAY_STATE_CHANGED = RETRO_MUSIC_PACKAGE_NAME + ".playstatechanged";
+
public static final String FAVORITE_STATE_CHANGED =
RETRO_MUSIC_PACKAGE_NAME + "favoritestatechanged";
public static final String REPEAT_MODE_CHANGED = RETRO_MUSIC_PACKAGE_NAME + ".repeatmodechanged";
@@ -204,6 +207,8 @@ public class MusicService extends MediaBrowserServiceCompat
private final AppWidgetMD3 appWidgetMd3 = AppWidgetMD3.Companion.getInstance();
+ private final AppWidgetCircle appWidgetCircle = AppWidgetCircle.Companion.getInstance();
+
private final BroadcastReceiver widgetIntentReceiver =
new BroadcastReceiver() {
@Override
@@ -236,6 +241,10 @@ public class MusicService extends MediaBrowserServiceCompat
appWidgetMd3.performUpdate(MusicService.this, ids);
break;
}
+ case AppWidgetCircle.NAME: {
+ appWidgetCircle.performUpdate(MusicService.this, ids);
+ break;
+ }
}
}
}
@@ -285,6 +294,7 @@ public class MusicService extends MediaBrowserServiceCompat
public void onReceive(final Context context, final Intent intent) {
playingNotification.updateFavorite(getCurrentSong(), MusicService.this::startForegroundOrNotify);
startForegroundOrNotify();
+ appWidgetCircle.notifyChange(MusicService.this, FAVORITE_STATE_CHANGED);
}
};
private final BroadcastReceiver lockScreenReceiver =
@@ -431,9 +441,7 @@ public class MusicService extends MediaBrowserServiceCompat
registerReceiver(lockScreenReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
setSessionToken(mediaSession.getSessionToken());
- if (VersionUtils.INSTANCE.hasMarshmallow()) {
- notificationManager = getSystemService(NotificationManager.class);
- }
+ notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
initNotification();
mediaStoreObserver = new MediaStoreObserver(this, playerHandler);
@@ -939,8 +947,11 @@ public class MusicService extends MediaBrowserServiceCompat
break;
case CLASSIC_NOTIFICATION:
updateNotification();
- playingNotification.setPlaying(isPlaying());
playingNotification.updateMetadata(getCurrentSong(), this::startForegroundOrNotify);
+ playingNotification.setPlaying(isPlaying(),this::startForegroundOrNotify);
+ break;
+ case PLAYBACK_SPEED:
+ updateMediaSessionPlaybackState();
break;
case TOGGLE_HEADSET:
registerHeadsetEvents();
@@ -1336,7 +1347,7 @@ public class MusicService extends MediaBrowserServiceCompat
.setState(
isPlaying() ? PlaybackStateCompat.STATE_PLAYING : PlaybackStateCompat.STATE_PAUSED,
getSongProgressMillis(),
- 1);
+ PreferenceUtil.INSTANCE.getPlaybackSpeed());
setCustomAction(stateBuilder);
@@ -1426,7 +1437,7 @@ public class MusicService extends MediaBrowserServiceCompat
savePositionInTrack();
}
songPlayCountHelper.notifyPlayStateChanged(isPlaying);
- playingNotification.setPlaying(isPlaying);
+ playingNotification.setPlaying(isPlaying, this::startForegroundOrNotify);
startForegroundOrNotify();
break;
case FAVORITE_STATE_CHANGED:
@@ -1617,6 +1628,7 @@ public class MusicService extends MediaBrowserServiceCompat
appWidgetCard.notifyChange(this, what);
appWidgetText.notifyChange(this, what);
appWidgetMd3.notifyChange(this, what);
+ appWidgetCircle.notifyChange(this, what);
}
private void setCustomAction(PlaybackStateCompat.Builder stateBuilder) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotification.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotification.kt
index 162775f06..8afc265bd 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotification.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotification.kt
@@ -29,7 +29,7 @@ abstract class PlayingNotification(context: Context) :
abstract fun updateMetadata(song: Song, onUpdate: () -> Unit)
- abstract fun setPlaying(isPlaying: Boolean)
+ abstract fun setPlaying(isPlaying: Boolean, onUpdate: () -> Unit)
abstract fun updateFavorite(song: Song, onUpdate: () -> Unit)
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt
index aad278f36..2588aebc8 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationClassic.kt
@@ -32,7 +32,8 @@ import code.name.monkey.appthemehelper.util.MaterialValueHelper
import code.name.monkey.appthemehelper.util.VersionUtils
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.MainActivity
-import code.name.monkey.retromusic.extensions.surfaceColor
+import code.name.monkey.retromusic.extensions.isColorLight
+import code.name.monkey.retromusic.extensions.isSystemDarkModeEnabled
import code.name.monkey.retromusic.glide.GlideApp
import code.name.monkey.retromusic.glide.RetroGlideExtension
import code.name.monkey.retromusic.glide.palette.BitmapPaletteWrapper
@@ -55,6 +56,7 @@ class PlayingNotificationClassic(
) : PlayingNotification(context) {
private var primaryColor: Int = 0
+ private var isInitialized = false
init {
val notificationLayout = getCombinedRemoteViews(true)
@@ -79,6 +81,7 @@ class PlayingNotificationClassic(
setContentIntent(clickIntent)
setDeleteIntent(deleteIntent)
setCategory(NotificationCompat.CATEGORY_SERVICE)
+ setColorized(true)
priority = NotificationCompat.PRIORITY_MAX
setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
setCustomContentView(notificationLayout)
@@ -95,8 +98,8 @@ class PlayingNotificationClassic(
return remoteViews
}
- @SuppressLint("RestrictedApi")
override fun updateMetadata(song: Song, onUpdate: () -> Unit) {
+ isInitialized = true
val bigNotificationImageSize = context.resources
.getDimensionPixelSize(R.dimen.notification_big_image_size)
GlideApp.with(context).asBitmapPalette().songCoverOptions(song)
@@ -151,8 +154,13 @@ class PlayingNotificationClassic(
}
setBackgroundColor(bgColorFinal)
setNotificationContent(ColorUtil.isColorLight(bgColorFinal))
- }else {
- setNotificationContent(!ColorUtil.isColorLight(context.surfaceColor()))
+ } else {
+ if (PreferenceUtil.isColoredNotification) {
+ color = bgColor
+ setNotificationContent(color.isColorLight)
+ } else {
+ setNotificationContent(!context.isSystemDarkModeEnabled())
+ }
}
onUpdate()
}
@@ -255,10 +263,11 @@ class PlayingNotificationClassic(
R.drawable.ic_pause_white_48dp
else
R.drawable.ic_play_arrow_white_48dp, primaryColor
- ), NOTIFICATION_CONTROLS_SIZE_MULTIPLIER)
+ ), NOTIFICATION_CONTROLS_SIZE_MULTIPLIER
+ )
}
- override fun setPlaying(isPlaying: Boolean) {
+ override fun setPlaying(isPlaying: Boolean, onUpdate: () -> Unit) {
getPlayPauseBitmap(isPlaying).also {
contentView.setImageViewBitmap(R.id.action_play_pause, it)
bigContentView.setImageViewBitmap(R.id.action_play_pause, it)
@@ -266,7 +275,9 @@ class PlayingNotificationClassic(
}
override fun updateFavorite(song: Song, onUpdate: () -> Unit) {
-
+ if (!isInitialized) {
+ updateMetadata(song, onUpdate)
+ }
}
private fun buildPendingIntent(
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
index d9373757e..2f3f5aae6 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
@@ -195,8 +195,9 @@ class PlayingNotificationImpl24(
).build()
}
- override fun setPlaying(isPlaying: Boolean) {
+ override fun setPlaying(isPlaying: Boolean, onUpdate: () -> Unit) {
mActions[2] = buildPlayAction(isPlaying)
+ onUpdate()
}
override fun updateFavorite(song: Song, onUpdate: () -> Unit) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/transform/HingeTransformation.kt b/app/src/main/java/code/name/monkey/retromusic/transform/HingeTransformation.kt
index 9dc2fedcf..0006309e4 100644
--- a/app/src/main/java/code/name/monkey/retromusic/transform/HingeTransformation.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/transform/HingeTransformation.kt
@@ -15,6 +15,7 @@
package code.name.monkey.retromusic.transform
import android.view.View
+import androidx.core.view.isVisible
import androidx.viewpager.widget.ViewPager
import kotlin.math.abs
@@ -33,22 +34,22 @@ class HingeTransformation : ViewPager.PageTransformer {
// The Page is off-screen but it may still interfere with
// click events of current page if
// it's visibility is not set to Gone
- page.visibility = View.GONE
+ page.isVisible = false
}
position <= 0 -> { // [-1,0]
page.rotation = 90 * abs(position)
page.alpha = 1 - abs(position)
- page.visibility = View.VISIBLE
+ page.isVisible = true
}
position <= 1 -> { // (0,1]
page.rotation = 0f
page.alpha = 1f
- page.visibility = View.VISIBLE
+ page.isVisible = true
}
else -> { // (1,+Infinity]
// This page is way off-screen to the right.
page.alpha = 0f
- page.visibility = View.GONE
+ page.isVisible = false
}
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/transform/HorizontalFlipTransformation.kt b/app/src/main/java/code/name/monkey/retromusic/transform/HorizontalFlipTransformation.kt
index f96a2109c..4752430cb 100644
--- a/app/src/main/java/code/name/monkey/retromusic/transform/HorizontalFlipTransformation.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/transform/HorizontalFlipTransformation.kt
@@ -15,6 +15,8 @@
package code.name.monkey.retromusic.transform
import android.view.View
+import androidx.core.view.isInvisible
+import androidx.core.view.isVisible
import androidx.viewpager.widget.ViewPager
import kotlin.math.abs
@@ -25,9 +27,9 @@ class HorizontalFlipTransformation : ViewPager.PageTransformer {
page.cameraDistance = 20000f
if (position < 0.5 && position > -0.5) {
- page.visibility = View.VISIBLE
+ page.isVisible = true
} else {
- page.visibility = View.INVISIBLE
+ page.isInvisible = true
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/transform/VerticalFlipTransformation.kt b/app/src/main/java/code/name/monkey/retromusic/transform/VerticalFlipTransformation.kt
index dba0946b5..ee87d3ecc 100644
--- a/app/src/main/java/code/name/monkey/retromusic/transform/VerticalFlipTransformation.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/transform/VerticalFlipTransformation.kt
@@ -15,6 +15,8 @@
package code.name.monkey.retromusic.transform
import android.view.View
+import androidx.core.view.isInvisible
+import androidx.core.view.isVisible
import androidx.viewpager.widget.ViewPager
import kotlin.math.abs
@@ -25,9 +27,9 @@ class VerticalFlipTransformation : ViewPager.PageTransformer {
page.cameraDistance = 100000f
if (position < 0.5 && position > -0.5) {
- page.visibility = View.VISIBLE
+ page.isVisible = true
} else {
- page.visibility = View.INVISIBLE
+ page.isInvisible = true
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/FileUtil.java b/app/src/main/java/code/name/monkey/retromusic/util/FileUtil.java
index 78b77898b..09957a93c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/FileUtil.java
+++ b/app/src/main/java/code/name/monkey/retromusic/util/FileUtil.java
@@ -92,7 +92,7 @@ public final class FileUtil {
}
Cursor songCursor =
- new RealSongRepository(context).makeSongCursor(selection, selection == null ? null : paths);
+ new RealSongRepository(context).makeSongCursor(selection, selection == null ? null : paths, PreferenceUtil.INSTANCE.getSongSortOrder(), true);
return songCursor == null
? null
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/FileUtils.kt b/app/src/main/java/code/name/monkey/retromusic/util/FileUtils.kt
new file mode 100644
index 000000000..8719231b4
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/util/FileUtils.kt
@@ -0,0 +1,16 @@
+package code.name.monkey.retromusic.util
+
+import android.content.Context
+import android.net.Uri
+import java.io.File
+
+object FileUtils {
+ fun copyFileToUri(context: Context, fromFile: File, toUri: Uri) {
+ context.contentResolver.openOutputStream(toUri)
+ ?.use { output ->
+ fromFile.inputStream().use { input ->
+ input.copyTo(output)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/LyricUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/LyricUtil.kt
index 251d585e2..a77793a1c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/LyricUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/LyricUtil.kt
@@ -118,7 +118,7 @@ object LyricUtil {
return "$lrcRootPath$title - $artist.lrc"
}
- private fun getLrcOriginalPath(filePath: String): String {
+ fun getLrcOriginalPath(filePath: String): String {
return filePath.replace(filePath.substring(filePath.lastIndexOf(".") + 1), "lrc")
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
index ab72dfa15..20b9d799f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt
@@ -19,6 +19,7 @@ import code.name.monkey.retromusic.helper.SortOrder.*
import code.name.monkey.retromusic.model.CategoryInfo
import code.name.monkey.retromusic.transform.*
import code.name.monkey.retromusic.util.theme.ThemeMode
+import code.name.monkey.retromusic.views.TopAppBarLayout
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.gson.Gson
import com.google.gson.JsonSyntaxException
@@ -36,7 +37,8 @@ object PreferenceUtil {
CategoryInfo(CategoryInfo.Category.Artists, true),
CategoryInfo(CategoryInfo.Category.Playlists, true),
CategoryInfo(CategoryInfo.Category.Genres, false),
- CategoryInfo(CategoryInfo.Category.Folder, false)
+ CategoryInfo(CategoryInfo.Category.Folder, false),
+ CategoryInfo(CategoryInfo.Category.Search, false)
)
var libraryCategory: List
@@ -77,7 +79,7 @@ object PreferenceUtil {
fun getGeneralThemeValue(isSystemDark: Boolean): ThemeMode {
val themeMode: String =
sharedPreferences.getStringOrDefault(GENERAL_THEME, "auto")
- return if (isBlackMode && isSystemDark) {
+ return if (isBlackMode && isSystemDark && themeMode != "light") {
ThemeMode.BLACK
} else {
if (isBlackMode && themeMode == "dark") {
@@ -132,7 +134,7 @@ object PreferenceUtil {
var artistDetailSongSortOrder
get() = sharedPreferences.getStringOrDefault(
- ARTIST_DETAIL_SONG_SORT_ORDER,
+ ARTIST_DETAIL_SONG_SORT_ORDER,
ArtistSongSortOrder.SONG_A_Z
)
set(value) = sharedPreferences.edit { putString(ARTIST_DETAIL_SONG_SORT_ORDER, value) }
@@ -665,6 +667,48 @@ object PreferenceUtil {
val materialYou
get() = sharedPreferences.getBoolean(MATERIAL_YOU, VersionUtils.hasS())
+ val isCustomFont
+ get() = sharedPreferences.getBoolean(CUSTOM_FONT, false)
+
val isSnowFalling
get() = sharedPreferences.getBoolean(SNOWFALL, false)
+
+ val lyricsType: LyricsType
+ get() = if (sharedPreferences.getString(LYRICS_TYPE, "0") == "0") {
+ LyricsType.REPLACE_COVER
+ } else {
+ LyricsType.OVER_COVER
+ }
+
+ var playbackSpeed
+ get() = sharedPreferences
+ .getFloat(PLAYBACK_SPEED, 1F)
+ set(value) = sharedPreferences.edit { putFloat(PLAYBACK_SPEED, value) }
+
+ var playbackPitch
+ get() = sharedPreferences
+ .getFloat(PLAYBACK_PITCH, 1F)
+ set(value) = sharedPreferences.edit { putFloat(PLAYBACK_PITCH, value) }
+
+ val appBarMode: TopAppBarLayout.AppBarMode
+ get() = if (sharedPreferences.getString(APPBAR_MODE, "0") == "0") {
+ TopAppBarLayout.AppBarMode.COLLAPSING
+ } else {
+ TopAppBarLayout.AppBarMode.SIMPLE
+ }
+
+ val wallpaperAccent
+ get() = sharedPreferences.getBoolean(
+ WALLPAPER_ACCENT,
+ VersionUtils.hasOreoMR1() && !VersionUtils.hasS()
+ )
+
+ val lyricsScreenOn
+ get() = sharedPreferences.getBoolean(SCREEN_ON_LYRICS, false)
+
+ val circlePlayButton
+ get() = sharedPreferences.getBoolean(CIRCLE_PLAY_BUTTON, false)
}
+enum class LyricsType {
+ REPLACE_COVER, OVER_COVER
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/UriUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/UriUtil.kt
new file mode 100644
index 000000000..4b1ef3d16
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/util/UriUtil.kt
@@ -0,0 +1,25 @@
+package code.name.monkey.retromusic.util
+
+import android.content.ContentUris
+import android.content.Context
+import android.net.Uri
+import android.os.Build
+import android.provider.MediaStore
+import androidx.annotation.RequiresApi
+
+object UriUtil {
+ @RequiresApi(Build.VERSION_CODES.Q)
+ fun getUriFromPath(context: Context, path: String): Uri {
+ val uri = MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL)
+ val proj = arrayOf(MediaStore.Files.FileColumns._ID)
+ context.contentResolver.query(
+ uri, proj, MediaStore.Files.FileColumns.DATA + "=?", arrayOf(path), null
+ )?.use { cursor ->
+ if (cursor.count != 0) {
+ cursor.moveToFirst()
+ return ContentUris.withAppendedId(uri, cursor.getLong(0))
+ }
+ }
+ return Uri.EMPTY
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
index f03863f61..8bd8504b2 100644
--- a/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/util/theme/ThemeManager.kt
@@ -1,8 +1,8 @@
package code.name.monkey.retromusic.util.theme
-import android.content.Context
import androidx.annotation.StyleRes
import androidx.appcompat.app.AppCompatDelegate
+import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.extensions.generalThemeValue
import code.name.monkey.retromusic.util.PreferenceUtil
@@ -11,23 +11,19 @@ import code.name.monkey.retromusic.util.theme.ThemeMode.*
object ThemeManager {
@StyleRes
- fun getThemeResValue(
- context: Context
- ): Int =
+ fun getThemeResValue(): Int =
if (PreferenceUtil.materialYou) {
R.style.Theme_RetroMusic_MD3
} else {
- when (context.generalThemeValue) {
+ when (App.getContext().generalThemeValue) {
LIGHT -> R.style.Theme_RetroMusic_Light
DARK -> R.style.Theme_RetroMusic_Base
BLACK -> R.style.Theme_RetroMusic_Black
AUTO -> R.style.Theme_RetroMusic_FollowSystem
+ }
}
- }
- fun getNightMode(
- context: Context
- ): Int = when (context.generalThemeValue) {
+ fun getNightMode(): Int = when (App.getContext().generalThemeValue) {
LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
DARK -> AppCompatDelegate.MODE_NIGHT_YES
BLACK -> {
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt
index 03533bf13..78dcef3a0 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/views/BottomNavigationBarTinted.kt
@@ -23,7 +23,7 @@ import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.appthemehelper.util.NavigationViewUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import com.google.android.material.bottomnavigation.BottomNavigationView
-import java.lang.RuntimeException
+import dev.chrisbanes.insetter.applyInsetter
class BottomNavigationBarTinted @JvmOverloads constructor(
context: Context,
@@ -39,6 +39,12 @@ class BottomNavigationBarTinted @JvmOverloads constructor(
setOnApplyWindowInsetsListener { _, insets ->
insets
}
+ } else {
+ applyInsetter {
+ type(navigationBars = true) {
+ padding()
+ }
+ }
}
labelVisibilityMode = PreferenceUtil.tabTitleMode
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/HomeImageLayout.kt b/app/src/main/java/code/name/monkey/retromusic/views/HomeImageLayout.kt
new file mode 100644
index 000000000..1a84dc8e5
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/views/HomeImageLayout.kt
@@ -0,0 +1,50 @@
+package code.name.monkey.retromusic.views
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import android.widget.FrameLayout
+import android.widget.ImageView
+import android.widget.TextView
+import code.name.monkey.retromusic.databinding.BannerImageLayoutBinding
+import code.name.monkey.retromusic.databinding.UserImageLayoutBinding
+import code.name.monkey.retromusic.util.PreferenceUtil
+
+class HomeImageLayout @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = -1,
+ defStyleRes: Int = -1
+) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) {
+ private var userImageBinding: UserImageLayoutBinding? = null
+ private var bannerImageBinding: BannerImageLayoutBinding? = null
+
+ init {
+ if (PreferenceUtil.isHomeBanner) {
+ bannerImageBinding = BannerImageLayoutBinding.inflate(LayoutInflater.from(context), this, true)
+ } else {
+ userImageBinding = UserImageLayoutBinding.inflate(LayoutInflater.from(context), this, true)
+ }
+ }
+
+ val userImage: ImageView
+ get() = if (PreferenceUtil.isHomeBanner) {
+ bannerImageBinding!!.userImage
+ } else {
+ userImageBinding!!.userImage
+ }
+
+ val bannerImage: ImageView?
+ get() = if (PreferenceUtil.isHomeBanner) {
+ bannerImageBinding!!.bannerImage
+ } else {
+ null
+ }
+
+ val titleWelcome : TextView
+ get() = if (PreferenceUtil.isHomeBanner) {
+ bannerImageBinding!!.titleWelcome
+ } else {
+ userImageBinding!!.titleWelcome
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/ListItemView.kt b/app/src/main/java/code/name/monkey/retromusic/views/ListItemView.kt
index a034eaf66..752b88b8a 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/ListItemView.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/views/ListItemView.kt
@@ -47,8 +47,7 @@ class ListItemView : FrameLayout {
}
private fun init(context: Context, attrs: AttributeSet?) {
- binding = ListItemViewNoCardBinding.inflate(LayoutInflater.from(context))
- addView(binding.root)
+ binding = ListItemViewNoCardBinding.inflate(LayoutInflater.from(context), this, true)
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.ListItemView)
if (typedArray.hasValue(R.styleable.ListItemView_listItemIcon)) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/PermissionItem.kt b/app/src/main/java/code/name/monkey/retromusic/views/PermissionItem.kt
index dfe1d0158..51e9cbe25 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/PermissionItem.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/views/PermissionItem.kt
@@ -22,8 +22,7 @@ class PermissionItem @JvmOverloads constructor(
init {
val attributes = context.obtainStyledAttributes(attrs, R.styleable.PermissionItem, 0, 0)
- binding = ItemPermissionBinding.inflate(LayoutInflater.from(context))
- addView(binding.root)
+ binding = ItemPermissionBinding.inflate(LayoutInflater.from(context), this, true)
binding.title.text = attributes.getText(R.styleable.PermissionItem_permissionTitle)
binding.summary.text =
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/SettingListItemView.kt b/app/src/main/java/code/name/monkey/retromusic/views/SettingListItemView.kt
index b72ee20f6..e07e78450 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/SettingListItemView.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/views/SettingListItemView.kt
@@ -30,11 +30,9 @@ class SettingListItemView @JvmOverloads constructor(
defStyleAttr: Int = -1,
defStyleRes: Int = -1
) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) {
- private var binding: ListSettingItemViewBinding =
- ListSettingItemViewBinding.inflate(LayoutInflater.from(context))
-
init {
- addView(binding.root)
+ val binding: ListSettingItemViewBinding =
+ ListSettingItemViewBinding.inflate(LayoutInflater.from(context), this, true)
val typedArray =
context.obtainStyledAttributes(attrs, R.styleable.SettingListItemView)
binding.icon
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/TopAppBarLayout.kt b/app/src/main/java/code/name/monkey/retromusic/views/TopAppBarLayout.kt
new file mode 100644
index 000000000..7e336e74a
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/views/TopAppBarLayout.kt
@@ -0,0 +1,80 @@
+package code.name.monkey.retromusic.views
+
+import android.content.Context
+import android.content.res.Configuration
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import androidx.appcompat.widget.Toolbar
+import androidx.core.view.updateLayoutParams
+import code.name.monkey.retromusic.databinding.CollapsingAppbarLayoutBinding
+import code.name.monkey.retromusic.databinding.SimpleAppbarLayoutBinding
+import code.name.monkey.retromusic.util.PreferenceUtil
+import com.google.android.material.appbar.AppBarLayout
+import com.google.android.material.appbar.AppBarLayout.LayoutParams.SCROLL_FLAG_NO_SCROLL
+import com.google.android.material.shape.MaterialShapeDrawable
+import dev.chrisbanes.insetter.applyInsetter
+
+class TopAppBarLayout @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = -1,
+) : AppBarLayout(context, attrs, defStyleAttr) {
+ private var simpleAppbarBinding: SimpleAppbarLayoutBinding? = null
+ private var collapsingAppbarBinding: CollapsingAppbarLayoutBinding? = null
+
+ val mode: AppBarMode = PreferenceUtil.appBarMode
+
+ init {
+ if (mode == AppBarMode.COLLAPSING) {
+ collapsingAppbarBinding =
+ CollapsingAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
+ val isLandscape =
+ context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE
+ if (isLandscape) {
+ fitsSystemWindows = false
+ }
+
+ } else {
+ simpleAppbarBinding =
+ SimpleAppbarLayoutBinding.inflate(LayoutInflater.from(context), this, true)
+ simpleAppbarBinding?.root?.applyInsetter {
+ type(navigationBars = true) {
+ padding(horizontal = true)
+ }
+ }
+ statusBarForeground = MaterialShapeDrawable.createWithElevationOverlay(context)
+ }
+ }
+
+ fun pinWhenScrolled() {
+ simpleAppbarBinding?.root?.updateLayoutParams {
+ scrollFlags = SCROLL_FLAG_NO_SCROLL
+ }
+ }
+
+ val toolbar: Toolbar
+ get() = if (mode == AppBarMode.COLLAPSING) {
+ collapsingAppbarBinding?.toolbar!!
+ } else {
+ simpleAppbarBinding?.toolbar!!
+ }
+
+ var title: String
+ get() = if (mode == AppBarMode.COLLAPSING) {
+ collapsingAppbarBinding?.collapsingToolbarLayout?.title.toString()
+ } else {
+ simpleAppbarBinding?.appNameText?.text.toString()
+ }
+ set(value) {
+ if (mode == AppBarMode.COLLAPSING) {
+ collapsingAppbarBinding?.collapsingToolbarLayout?.title = value
+ } else {
+ simpleAppbarBinding?.appNameText?.text = value
+ }
+ }
+
+ enum class AppBarMode {
+ COLLAPSING,
+ SIMPLE
+ }
+}
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt
new file mode 100644
index 000000000..ec6c08f04
--- /dev/null
+++ b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsLinearLayout.kt
@@ -0,0 +1,19 @@
+package code.name.monkey.retromusic.views.insets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.widget.LinearLayout
+import androidx.constraintlayout.widget.ConstraintLayout
+import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding
+import code.name.monkey.retromusic.util.RetroUtil
+
+class InsetsLinearLayout @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : LinearLayout(context, attrs, defStyleAttr) {
+ init {
+ if (!RetroUtil.isLandscape())
+ drawAboveSystemBarsWithPadding()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsRecyclerView.kt b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsRecyclerView.kt
index 3f56b8f80..1ceb3c899 100644
--- a/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsRecyclerView.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/views/insets/InsetsRecyclerView.kt
@@ -4,8 +4,7 @@ import android.content.Context
import android.util.AttributeSet
import androidx.annotation.Px
import androidx.recyclerview.widget.RecyclerView
-import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding
-import code.name.monkey.retromusic.util.RetroUtil
+import code.name.monkey.retromusic.extensions.applyBottomInsets
class InsetsRecyclerView @JvmOverloads constructor(
context: Context,
@@ -13,8 +12,7 @@ class InsetsRecyclerView @JvmOverloads constructor(
defStyleAttr: Int = 0
) : RecyclerView(context, attrs, defStyleAttr) {
init {
- if (!RetroUtil.isLandscape())
- drawAboveSystemBarsWithPadding()
+ applyBottomInsets()
}
fun updatePadding(
@@ -24,7 +22,6 @@ class InsetsRecyclerView @JvmOverloads constructor(
@Px bottom: Int = paddingBottom
) {
setPadding(left, top, right, bottom)
- if (!RetroUtil.isLandscape())
- drawAboveSystemBarsWithPadding()
+ applyBottomInsets()
}
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/default_album_art.webp b/app/src/main/res/drawable-hdpi/default_album_art.webp
index ef3872a29..744489568 100644
Binary files a/app/src/main/res/drawable-hdpi/default_album_art.webp and b/app/src/main/res/drawable-hdpi/default_album_art.webp differ
diff --git a/app/src/main/res/drawable-hdpi/default_artist_art.webp b/app/src/main/res/drawable-hdpi/default_artist_art.webp
index 176d3cf5c..bb551b29e 100644
Binary files a/app/src/main/res/drawable-hdpi/default_artist_art.webp and b/app/src/main/res/drawable-hdpi/default_artist_art.webp differ
diff --git a/app/src/main/res/drawable-hdpi/default_audio_art.webp b/app/src/main/res/drawable-hdpi/default_audio_art.webp
index 0f6e0a213..b5dc131ab 100644
Binary files a/app/src/main/res/drawable-hdpi/default_audio_art.webp and b/app/src/main/res/drawable-hdpi/default_audio_art.webp differ
diff --git a/app/src/main/res/drawable-mdpi/default_album_art.webp b/app/src/main/res/drawable-mdpi/default_album_art.webp
index a6ce05dc2..6ffd34f02 100644
Binary files a/app/src/main/res/drawable-mdpi/default_album_art.webp and b/app/src/main/res/drawable-mdpi/default_album_art.webp differ
diff --git a/app/src/main/res/drawable-mdpi/default_artist_art.webp b/app/src/main/res/drawable-mdpi/default_artist_art.webp
index 6428e9b37..c5e115d22 100644
Binary files a/app/src/main/res/drawable-mdpi/default_artist_art.webp and b/app/src/main/res/drawable-mdpi/default_artist_art.webp differ
diff --git a/app/src/main/res/drawable-mdpi/default_audio_art.webp b/app/src/main/res/drawable-mdpi/default_audio_art.webp
index 7f22b4309..ad86e0e0c 100644
Binary files a/app/src/main/res/drawable-mdpi/default_audio_art.webp and b/app/src/main/res/drawable-mdpi/default_audio_art.webp differ
diff --git a/app/src/main/res/drawable-night-hdpi/default_album_art.webp b/app/src/main/res/drawable-night-hdpi/default_album_art.webp
deleted file mode 100644
index 744489568..000000000
Binary files a/app/src/main/res/drawable-night-hdpi/default_album_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-hdpi/default_artist_art.webp b/app/src/main/res/drawable-night-hdpi/default_artist_art.webp
deleted file mode 100644
index bb551b29e..000000000
Binary files a/app/src/main/res/drawable-night-hdpi/default_artist_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-hdpi/default_audio_art.webp b/app/src/main/res/drawable-night-hdpi/default_audio_art.webp
deleted file mode 100644
index b5dc131ab..000000000
Binary files a/app/src/main/res/drawable-night-hdpi/default_audio_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-mdpi/default_album_art.webp b/app/src/main/res/drawable-night-mdpi/default_album_art.webp
deleted file mode 100644
index 6ffd34f02..000000000
Binary files a/app/src/main/res/drawable-night-mdpi/default_album_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-mdpi/default_artist_art.webp b/app/src/main/res/drawable-night-mdpi/default_artist_art.webp
deleted file mode 100644
index c5e115d22..000000000
Binary files a/app/src/main/res/drawable-night-mdpi/default_artist_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-mdpi/default_audio_art.webp b/app/src/main/res/drawable-night-mdpi/default_audio_art.webp
deleted file mode 100644
index ad86e0e0c..000000000
Binary files a/app/src/main/res/drawable-night-mdpi/default_audio_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xhdpi/default_album_art.webp b/app/src/main/res/drawable-night-xhdpi/default_album_art.webp
deleted file mode 100644
index 0c50842cb..000000000
Binary files a/app/src/main/res/drawable-night-xhdpi/default_album_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xhdpi/default_artist_art.webp b/app/src/main/res/drawable-night-xhdpi/default_artist_art.webp
deleted file mode 100644
index d519bac07..000000000
Binary files a/app/src/main/res/drawable-night-xhdpi/default_artist_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xhdpi/default_audio_art.webp b/app/src/main/res/drawable-night-xhdpi/default_audio_art.webp
deleted file mode 100644
index 7ee8cdc52..000000000
Binary files a/app/src/main/res/drawable-night-xhdpi/default_audio_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxhdpi/default_album_art.webp b/app/src/main/res/drawable-night-xxhdpi/default_album_art.webp
deleted file mode 100644
index 0b8fe94ac..000000000
Binary files a/app/src/main/res/drawable-night-xxhdpi/default_album_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxhdpi/default_artist_art.webp b/app/src/main/res/drawable-night-xxhdpi/default_artist_art.webp
deleted file mode 100644
index ad8396ae7..000000000
Binary files a/app/src/main/res/drawable-night-xxhdpi/default_artist_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxhdpi/default_audio_art.webp b/app/src/main/res/drawable-night-xxhdpi/default_audio_art.webp
deleted file mode 100644
index 4688f9dc3..000000000
Binary files a/app/src/main/res/drawable-night-xxhdpi/default_audio_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxxhdpi/default_album_art.webp b/app/src/main/res/drawable-night-xxxhdpi/default_album_art.webp
deleted file mode 100644
index c6e9b5a85..000000000
Binary files a/app/src/main/res/drawable-night-xxxhdpi/default_album_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxxhdpi/default_artist_art.webp b/app/src/main/res/drawable-night-xxxhdpi/default_artist_art.webp
deleted file mode 100644
index 1acef0849..000000000
Binary files a/app/src/main/res/drawable-night-xxxhdpi/default_artist_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-night-xxxhdpi/default_audio_art.webp b/app/src/main/res/drawable-night-xxxhdpi/default_audio_art.webp
deleted file mode 100644
index 357baba58..000000000
Binary files a/app/src/main/res/drawable-night-xxxhdpi/default_audio_art.webp and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/default_album_art.webp b/app/src/main/res/drawable-xhdpi/default_album_art.webp
index fc8e05c61..0c50842cb 100644
Binary files a/app/src/main/res/drawable-xhdpi/default_album_art.webp and b/app/src/main/res/drawable-xhdpi/default_album_art.webp differ
diff --git a/app/src/main/res/drawable-xhdpi/default_artist_art.webp b/app/src/main/res/drawable-xhdpi/default_artist_art.webp
index 3522db793..d519bac07 100644
Binary files a/app/src/main/res/drawable-xhdpi/default_artist_art.webp and b/app/src/main/res/drawable-xhdpi/default_artist_art.webp differ
diff --git a/app/src/main/res/drawable-xhdpi/default_audio_art.webp b/app/src/main/res/drawable-xhdpi/default_audio_art.webp
index 458590631..7ee8cdc52 100644
Binary files a/app/src/main/res/drawable-xhdpi/default_audio_art.webp and b/app/src/main/res/drawable-xhdpi/default_audio_art.webp differ
diff --git a/app/src/main/res/drawable-xxhdpi/default_album_art.webp b/app/src/main/res/drawable-xxhdpi/default_album_art.webp
index d8e3a1333..0b8fe94ac 100644
Binary files a/app/src/main/res/drawable-xxhdpi/default_album_art.webp and b/app/src/main/res/drawable-xxhdpi/default_album_art.webp differ
diff --git a/app/src/main/res/drawable-xxhdpi/default_artist_art.webp b/app/src/main/res/drawable-xxhdpi/default_artist_art.webp
index 946b95e2b..ad8396ae7 100644
Binary files a/app/src/main/res/drawable-xxhdpi/default_artist_art.webp and b/app/src/main/res/drawable-xxhdpi/default_artist_art.webp differ
diff --git a/app/src/main/res/drawable-xxhdpi/default_audio_art.webp b/app/src/main/res/drawable-xxhdpi/default_audio_art.webp
index c025db78f..4688f9dc3 100644
Binary files a/app/src/main/res/drawable-xxhdpi/default_audio_art.webp and b/app/src/main/res/drawable-xxhdpi/default_audio_art.webp differ
diff --git a/app/src/main/res/drawable-xxxhdpi/default_album_art.webp b/app/src/main/res/drawable-xxxhdpi/default_album_art.webp
index 9c2f5c51b..c6e9b5a85 100644
Binary files a/app/src/main/res/drawable-xxxhdpi/default_album_art.webp and b/app/src/main/res/drawable-xxxhdpi/default_album_art.webp differ
diff --git a/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp b/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp
index c3a67b99f..1acef0849 100644
Binary files a/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp and b/app/src/main/res/drawable-xxxhdpi/default_artist_art.webp differ
diff --git a/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp b/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp
index 4398ea0f2..357baba58 100644
Binary files a/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp and b/app/src/main/res/drawable-xxxhdpi/default_audio_art.webp differ
diff --git a/app/src/main/res/drawable/app_widget_background.xml b/app/src/main/res/drawable/app_widget_background.xml
index e845d20cb..a4cf661fa 100644
--- a/app/src/main/res/drawable/app_widget_background.xml
+++ b/app/src/main/res/drawable/app_widget_background.xml
@@ -4,7 +4,5 @@ appWidgetRadius attribute value
-->
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/circle_widget_background.xml b/app/src/main/res/drawable/circle_widget_background.xml
new file mode 100644
index 000000000..401d24d88
--- /dev/null
+++ b/app/src/main/res/drawable/circle_widget_background.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_playback_speed.xml b/app/src/main/res/drawable/ic_playback_speed.xml
new file mode 100644
index 000000000..39b481679
--- /dev/null
+++ b/app/src/main/res/drawable/ic_playback_speed.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_refresh.xml b/app/src/main/res/drawable/ic_refresh.xml
new file mode 100644
index 000000000..5cdbeb077
--- /dev/null
+++ b/app/src/main/res/drawable/ic_refresh.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable/popup_background.xml b/app/src/main/res/drawable/popup_background.xml
index 168b8ef1b..b4902c2eb 100644
--- a/app/src/main/res/drawable/popup_background.xml
+++ b/app/src/main/res/drawable/popup_background.xml
@@ -1,8 +1,18 @@
-
-
-
-
-
\ No newline at end of file
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/rounded_drawable.xml b/app/src/main/res/drawable/rounded_drawable.xml
index 6d498dbf2..1535a3f46 100644
--- a/app/src/main/res/drawable/rounded_drawable.xml
+++ b/app/src/main/res/drawable/rounded_drawable.xml
@@ -1,6 +1,5 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable/widget_button_background.xml b/app/src/main/res/drawable/widget_button_background.xml
new file mode 100644
index 000000000..0508710b0
--- /dev/null
+++ b/app/src/main/res/drawable/widget_button_background.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/font/manrope.xml b/app/src/main/res/font/manrope.xml
new file mode 100644
index 000000000..a586ee9d0
--- /dev/null
+++ b/app/src/main/res/font/manrope.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/font/manrope_bold.ttf b/app/src/main/res/font/manrope_bold.ttf
new file mode 100644
index 000000000..db03274e4
Binary files /dev/null and b/app/src/main/res/font/manrope_bold.ttf differ
diff --git a/app/src/main/res/font/manrope_extrabold.ttf b/app/src/main/res/font/manrope_extrabold.ttf
new file mode 100644
index 000000000..85012307d
Binary files /dev/null and b/app/src/main/res/font/manrope_extrabold.ttf differ
diff --git a/app/src/main/res/font/manrope_extralight.ttf b/app/src/main/res/font/manrope_extralight.ttf
new file mode 100644
index 000000000..6ab6b5f5a
Binary files /dev/null and b/app/src/main/res/font/manrope_extralight.ttf differ
diff --git a/app/src/main/res/font/manrope_light.ttf b/app/src/main/res/font/manrope_light.ttf
new file mode 100644
index 000000000..ae71630f5
Binary files /dev/null and b/app/src/main/res/font/manrope_light.ttf differ
diff --git a/app/src/main/res/font/manrope_medium.ttf b/app/src/main/res/font/manrope_medium.ttf
new file mode 100644
index 000000000..22badeb9f
Binary files /dev/null and b/app/src/main/res/font/manrope_medium.ttf differ
diff --git a/app/src/main/res/font/manrope_regular.ttf b/app/src/main/res/font/manrope_regular.ttf
new file mode 100644
index 000000000..7cf09bf80
Binary files /dev/null and b/app/src/main/res/font/manrope_regular.ttf differ
diff --git a/app/src/main/res/font/manrope_semibold.ttf b/app/src/main/res/font/manrope_semibold.ttf
new file mode 100644
index 000000000..c3a676851
Binary files /dev/null and b/app/src/main/res/font/manrope_semibold.ttf differ
diff --git a/app/src/main/res/layout-land/fragment_banner_home.xml b/app/src/main/res/layout-land/fragment_banner_home.xml
deleted file mode 100644
index 858d33922..000000000
--- a/app/src/main/res/layout-land/fragment_banner_home.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_circle_player.xml b/app/src/main/res/layout-land/fragment_circle_player.xml
index bfe771c6a..f0b8e8151 100644
--- a/app/src/main/res/layout-land/fragment_circle_player.xml
+++ b/app/src/main/res/layout-land/fragment_circle_player.xml
@@ -106,7 +106,7 @@
app:layout_constraintStart_toStartOf="@id/volumeSeekBar"
app:layout_constraintTop_toTopOf="@id/volumeSeekBar" />
-
-
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toBottomOf="@id/imageLayout" />
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_plain_player.xml b/app/src/main/res/layout-land/fragment_plain_player.xml
index 30cda7a6f..d79a83780 100644
--- a/app/src/main/res/layout-land/fragment_plain_player.xml
+++ b/app/src/main/res/layout-land/fragment_plain_player.xml
@@ -62,7 +62,7 @@
+ android:focusable="true"
+ android:background="?attr/colorSurface">
-
-
-
-
-
+ android:fitsSystemWindows="true" />
+
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/app_widget_big.xml b/app/src/main/res/layout/app_widget_big.xml
index 173d81336..5980da4e6 100755
--- a/app/src/main/res/layout/app_widget_big.xml
+++ b/app/src/main/res/layout/app_widget_big.xml
@@ -2,8 +2,7 @@
+ android:layout_height="match_parent">
+ android:backgroundTint="?attr/colorSurface"
+ android:orientation="horizontal"
+ android:theme="@style/Theme.AppWidget">
diff --git a/app/src/main/res/layout/app_widget_circle.xml b/app/src/main/res/layout/app_widget_circle.xml
new file mode 100644
index 000000000..9569f525f
--- /dev/null
+++ b/app/src/main/res/layout/app_widget_circle.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/app_widget_classic.xml b/app/src/main/res/layout/app_widget_classic.xml
index b903a548b..f88b7d9a5 100755
--- a/app/src/main/res/layout/app_widget_classic.xml
+++ b/app/src/main/res/layout/app_widget_classic.xml
@@ -4,8 +4,9 @@
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="@dimen/app_widget_classic_height"
- android:background="@color/md_black_1000"
+ android:background="?attr/colorSurface"
android:orientation="horizontal"
+ android:theme="@style/Theme.AppWidget"
tools:ignore="ContentDescription">
diff --git a/app/src/main/res/layout/app_widget_md3.xml b/app/src/main/res/layout/app_widget_md3.xml
index 55f3fb286..61531a675 100644
--- a/app/src/main/res/layout/app_widget_md3.xml
+++ b/app/src/main/res/layout/app_widget_md3.xml
@@ -5,18 +5,20 @@
android:layout_width="match_parent"
android:layout_height="@dimen/app_widget_md3_height"
android:background="@drawable/app_widget_background"
- android:backgroundTint="?android:attr/colorBackground"
+ android:backgroundTint="?attr/colorSurface"
android:orientation="horizontal"
+ android:theme="@style/Theme.AppWidget"
tools:ignore="ContentDescription">
+ android:layout_margin="10dp"
+ android:background="@drawable/app_widget_background"
+ android:scaleType="centerCrop"
+ tools:src="@tools:sample/backgrounds/scenic[6]" />
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/app_widget_small.xml b/app/src/main/res/layout/app_widget_small.xml
index 703eb2f35..9e2de1594 100755
--- a/app/src/main/res/layout/app_widget_small.xml
+++ b/app/src/main/res/layout/app_widget_small.xml
@@ -4,9 +4,11 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/card"
+ android:backgroundTint="?attr/colorSurface"
android:columnCount="2"
android:gravity="top"
- android:rowCount="3">
+ android:rowCount="3"
+ android:theme="@style/Theme.AppWidget">
@@ -104,7 +106,7 @@
android:gravity="center_vertical"
android:singleLine="true"
android:textAppearance="@style/TextViewBody1"
- android:textColor="@color/ate_secondary_text_light"
+ android:textColor="?android:attr/textColorSecondary"
tools:text="Text" />
diff --git a/app/src/main/res/layout/banner_image_layout.xml b/app/src/main/res/layout/banner_image_layout.xml
new file mode 100644
index 000000000..23b32d5d4
--- /dev/null
+++ b/app/src/main/res/layout/banner_image_layout.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/collapsing_appbar_layout.xml b/app/src/main/res/layout/collapsing_appbar_layout.xml
new file mode 100644
index 000000000..82a06383c
--- /dev/null
+++ b/app/src/main/res/layout/collapsing_appbar_layout.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_playback_speed.xml b/app/src/main/res/layout/dialog_playback_speed.xml
new file mode 100644
index 000000000..227251cec
--- /dev/null
+++ b/app/src/main/res/layout/dialog_playback_speed.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_sleep_timer.xml b/app/src/main/res/layout/dialog_sleep_timer.xml
index dcbc5f5c2..b7a829d79 100644
--- a/app/src/main/res/layout/dialog_sleep_timer.xml
+++ b/app/src/main/res/layout/dialog_sleep_timer.xml
@@ -9,6 +9,7 @@
android:id="@+id/timerDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_gravity="center"
android:layout_marginStart="8dp"
android:paddingHorizontal="16dp"
android:paddingVertical="16dp"
diff --git a/app/src/main/res/layout/fragment_adaptive_player.xml b/app/src/main/res/layout/fragment_adaptive_player.xml
index 5975ae228..0b740bbb7 100644
--- a/app/src/main/res/layout/fragment_adaptive_player.xml
+++ b/app/src/main/res/layout/fragment_adaptive_player.xml
@@ -62,9 +62,9 @@
android:id="@+id/cover_lyrics"
android:name="code.name.monkey.retromusic.fragments.other.CoverLyricsFragment"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:elevation="20dp"
- android:layout_gravity="center"/>
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:elevation="20dp" />
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_backup.xml b/app/src/main/res/layout/fragment_backup.xml
index fa22e3f2a..d03766434 100644
--- a/app/src/main/res/layout/fragment_backup.xml
+++ b/app/src/main/res/layout/fragment_backup.xml
@@ -9,6 +9,7 @@
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
+ android:layout_marginTop="16dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="4dp"
android:paddingVertical="10dp"
diff --git a/app/src/main/res/layout/fragment_banner_home.xml b/app/src/main/res/layout/fragment_banner_home.xml
deleted file mode 100644
index fffcd5f41..000000000
--- a/app/src/main/res/layout/fragment_banner_home.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_blur_player_playback_controls.xml b/app/src/main/res/layout/fragment_blur_player_playback_controls.xml
index b17263933..2ce6c3685 100644
--- a/app/src/main/res/layout/fragment_blur_player_playback_controls.xml
+++ b/app/src/main/res/layout/fragment_blur_player_playback_controls.xml
@@ -65,7 +65,7 @@
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ tools:layout="@layout/fragment_cover_lyrics" />
diff --git a/app/src/main/res/layout/fragment_card_player.xml b/app/src/main/res/layout/fragment_card_player.xml
index b67ed8db6..1e3ae7539 100644
--- a/app/src/main/res/layout/fragment_card_player.xml
+++ b/app/src/main/res/layout/fragment_card_player.xml
@@ -23,7 +23,7 @@
android:id="@+id/cover_lyrics"
android:name="code.name.monkey.retromusic.fragments.other.CoverLyricsFragment"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:layout_gravity="center"
android:elevation="20dp" />
diff --git a/app/src/main/res/layout/fragment_circle_player.xml b/app/src/main/res/layout/fragment_circle_player.xml
index 5054a84b8..06561900a 100644
--- a/app/src/main/res/layout/fragment_circle_player.xml
+++ b/app/src/main/res/layout/fragment_circle_player.xml
@@ -43,32 +43,27 @@
app:navigationIcon="@drawable/ic_keyboard_arrow_down_black"
tools:layout_editor_absoluteY="24dp" />
-
-
-
-
+ app:layout_constraintTop_toBottomOf="@+id/playerToolbar"
+ tools:text="@tools:sample/full_names" />
+ app:layout_constraintTop_toTopOf="@id/volumeSeekBar"
+ android:src="@drawable/ic_pause"
+ tools:tint="@color/md_black_1000" />
-
+ tools:tint="@color/md_white_1000" />
-
+ tools:tint="@color/md_white_1000" />
+ tools:text="@tools:sample/lorem[5]" />
+ tools:text="@tools:sample/full_names[0]" />
-
+ tools:alpha="1"
+ tools:visibility="visible">
+ android:visibility="gone"
+ tools:visibility="visible" />
+ android:textColor="@color/md_white_1000"
+ tools:text="@tools:sample/full_names[5]" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_fit_playback_controls.xml b/app/src/main/res/layout/fragment_fit_playback_controls.xml
index 888a68f01..e6db94cd0 100644
--- a/app/src/main/res/layout/fragment_fit_playback_controls.xml
+++ b/app/src/main/res/layout/fragment_fit_playback_controls.xml
@@ -72,7 +72,7 @@
-
+ android:background="?attr/colorSurface"
+ android:clickable="true"
+ android:focusable="true">
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent" />
+ app:layout_constraintTop_toBottomOf="@id/imageLayout" />
diff --git a/app/src/main/res/layout/fragment_lyrics.xml b/app/src/main/res/layout/fragment_lyrics.xml
index 09fd7f01e..0df8c9767 100644
--- a/app/src/main/res/layout/fragment_lyrics.xml
+++ b/app/src/main/res/layout/fragment_lyrics.xml
@@ -5,6 +5,7 @@
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="?attr/colorSurface"
android:fitsSystemWindows="true"
android:paddingBottom="@dimen/mini_player_height">
@@ -35,6 +36,7 @@
app:subtitleTextAppearance="@style/TextViewCaption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
+ android:background="?attr/colorSurface"
app:titleTextAppearance="@style/TextViewSubtitle1"
tools:subtitle="@tools:sample/full_names"
tools:title="@tools:sample/full_names" />
@@ -62,7 +64,7 @@
android:id="@+id/tabLyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:elevation="@dimen/toolbar_elevation"
+ android:background="?attr/colorSurface"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
diff --git a/app/src/main/res/layout/fragment_main_recycler.xml b/app/src/main/res/layout/fragment_main_recycler.xml
index 0a240ed43..500288402 100644
--- a/app/src/main/res/layout/fragment_main_recycler.xml
+++ b/app/src/main/res/layout/fragment_main_recycler.xml
@@ -6,37 +6,12 @@
android:layout_height="match_parent"
android:fitsSystemWindows="true">
-
-
-
-
-
-
-
-
-
-
+ style="?appBarLayoutStyle"
+ android:fitsSystemWindows="true" />
+
+
+ app:fel_size_bottom="100dp"
+ app:fel_size_top="100dp">
-
-
-
-
-
+ android:fitsSystemWindows="true" />
-
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
-
+
-
-
-
-
-
-
+ android:nestedScrollingEnabled="false"
+ android:overScrollMode="@integer/overScrollMode"
+ tools:itemCount="10"
+ tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
+ tools:listitem="@layout/item_album_card"
+ tools:spanCount="3" />
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_suggestions.xml b/app/src/main/res/layout/item_suggestions.xml
index 49e554853..c4580c025 100644
--- a/app/src/main/res/layout/item_suggestions.xml
+++ b/app/src/main/res/layout/item_suggestions.xml
@@ -8,17 +8,27 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/user_image_layout.xml b/app/src/main/res/layout/user_image_layout.xml
new file mode 100644
index 000000000..dec1dfdde
--- /dev/null
+++ b/app/src/main/res/layout/user_image_layout.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/master/values-af-rZA/strings.xml b/app/src/main/res/master/values-af-rZA/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-af-rZA/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ar-rSA/strings.xml b/app/src/main/res/master/values-ar-rSA/strings.xml
deleted file mode 100644
index 84151c856..000000000
--- a/app/src/main/res/master/values-ar-rSA/strings.xml
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
- الفريق, الروابط للتواصل
- اللون الأساسي
- لون تمييز المظهر ، يتم تعيينه إلى اللون الأرجواني
- حول
- اضافة الى المفضلة
- إضافة الى قائمة التشغيل الحالية
- أضف إلى قائمة التشغيل
- إخلاء قائمة التشغيل الحالية
- إخلاء قائمة التشغيل
- وضع تكرار الدورة
- حذف
- حذف من الجهاز
- تفاصيل
- إنتقل إلى الالبوم
- إنتقل إلى الفنان
- إنتقل إلى النوع
- إنتقل إلى الدليل
- امنح
- حجم الشبكة
- حجم الشبكة (أفقيا)
- قائمة تشغيل جديدة
- التالي
- تشغيل
- تشغيل الكل
- تشغيل التالي
- تشغيل/ايقاف
- السابق
- ازالة من المفضلة
- ازالة من قائمة التشغيل الحالية
- ازالة من قائمة التشغيل
- اعادة تسمية
- حفظ قائمة التشغيل الحالية
- فحص
- بحث
- تشغيل
- تعين كنغمة رنين
- تعين كدليل بداية
- "الإعدادات"
- مشاركة
- خلط للكل
- تشغيل عشوائي قائمة التشغيل
- مؤقت النوم
- ترتيب الفرز
- محرر البطاقة
- تبديل المفضلة
- تفعيل وضع الخلط
- متكيف
- إضافة
- اضافة كلمات
- إضافة صورة
- "إضافة الى قائمة التشغيل"
- اضافة كلمات مع فواصل زمنية
- "إضافة ١ من العناوين الى قائمة التشغيل الحالية"
- إضافة %1$d من العناوين الى قائمة التشغيل الحالية
- البوم
- البوم الفنان
- العنوان او الفنان فارغ
- الألبومات
- دائما
- مرحبا القي نظرة على مشغل الموسيقى الرائع هذا في: https://play.google.com/store/apps/details?id=%s
- عشوائي
- المسارات الاكثر شعبية
- ريترو ميوزك - كبير
- ريترو ميوزك - بطاقة
- ريترو ميوزك - تقليدي
- ريترو ميوزك - صغير
- ريترو ميوزك - نص
- فنان
- فنانين
- تم منع تركيز الصوت
- تغيير إعدادات الصوت وضبط عناصر التحكم في موازن الصوت
- تلقائي
- لون الثيم الاساسي
- معزز Bass
- الحالة
- سيرة ذاتية
- أسود لامع
- القائمة السوداء
- ضبابي
- بطاقة ضبابية
- لم يمكن ارسال التقرير
- دخول غير مكتمل. الرجاء إبلاغ مطور التطبيق
- المشاكل غير مفعلة للمستودعات المحددة.الرجاء إبلاغ مطور التطبيق
- حدث خطأ غير متوقع.الرجاء إبلاغ المطور
- اسم مستخدم او كلمة السر خاطئة
- مشكلة
- ارسال يدويا
- الرجاء ادخال وصف الخطأ
- الرجاء ادخال كلمة سر صالحة
- الرجاء ادخال الخطأ هنا
- الرجاء ادخال أسم مستخدم صالح
- حصل خطأ غير متوقع. نأسف لذالك, اذا تكرر معك الخطأ \"قم بمسح بيانات التطبيق\"او ارسل ايميل
- رفع التقرير الى چيتهب
- ارسال بأستخدام حساب چيتهب
- اشتري الآن
- إلغاء
- بطاقة
- دائري
- بطاقة ملونة
- بطاقة
- دائري
- التاثير الدائري على شاشة التشغيل الآن
- المتتالية
- بث
- سجل التغيرات
- سجل التغيرات ثابت على قناة التيليجرام
- دائرية
- دائري
- كلاسيكي
- إزالة
- مسح بيانات التطبيق
- إزالة القائمة السوداء
- مسح التسلسل
- إزالة قائمة التشغيل
- %1$s؟ هذا يمكن\u2019t التراجع عنه!]]>
- اغلاق
- لون
- لون
- الوان
- المؤلف
- تم نسخ معلومات الجهاز للحافظة.
- تعذّر\u2019t إنشاء قائمة.
- "تعذّر تحميل\u2019t غلاف الألبوم المطابق."
- لايمكن إسترجاع المشتريات
- لايمكن فحص الملفات %d
- إنشاء
- قائمة التشغيل الموجودة %1$s.
- الافراد والمساهمين
- يستمع حالياً إلى %1$s لـ %2$s
- أسود قليلاً
- لا يوجد كلمات
- حذف قائمة التشغيل
- %1$s؟]]>
- حذف قوائم التشغيل
- حذف اغنية
- %1$s؟]]>
- حذف الاغاني
- %1$d؟]]>
- %1$d؟]]>
- تم حذف %1$d الأغاني.
- حذف الأغاني
- العمق
- الوصف
- معلومات الجهاز
- السمات لتطبيق ريترو ميوزك بتعديل اعدادات الصوت
- ك نغمة رنين
- هل تريد إزالة القائمة السوداء؟
- %1$s من القائمة السوداء]]>
- تبرع
- إذا كنت تعتقد أنني أستحق الحصول على المال مقابل عملي ،
-يمكنك ترك بعض المال هنا.
- اشتري لي:
- تنزيل من Last.fm
- وضع القيادة
- تعديل
- تحرير الغلاف
- فارغ
- موازن الصوت
- خطأ
- التعليمات
- المفضلات
- إنهاء الأغنية الأخيرة
- تناسق
- مسطح
- المجلدات
- اتبع النظام
- لأجلك
- مجاني
- كامل
- بطاقة كاملة
- تغيير سمات وألوان التطبيق
- المظهر و الحس
- فئة
- فئات
- اجلب المشروع على GitHub
- انضم الى مجتمعنا في Google plus , حيث يمكنك طلب المساعدة او متابعة آخر تطورات تطبيق ريترو ميوزك
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- الشبكة والأسلوب
- مفصل
- السجل
- الشاشة الرئيسية
- تدوير عمودي
- صورة
- الصورة المتدرجة
- تغيير إعدادات تنزيل صور الفنان
- إدراج %1$d الأغاني في قائمة التشغيل %2$s.
- شارك إعداد Retro Music الخاص بك للعرض على إنستقرام
- الكيبورد
- معدل البت
- الصيغة
- اسم الملف
- مسار الملف
- الحجم
- المزيد من %s
- معدل العينات
- الامتداد
- معنون
- المضافة مؤخرا
- الاغنية الاخيرة
- لنشغل بعض الموسيقى
- المكتبة
- فئات المكتبة الموسيقية
- تراخيص
- أبيض صافي
- المستمعون
- قائمة الملفات
- تحميل المنتجات...
- تسجيل الدخول
- كلمات الاغنية
- صنع ب❤️في الهند
- ماتيريال
- خطأ
- خطأ في الصلاحيات
- الأسم
- الأكثر تشغيل
- أبداً
- صورة عرض جديدة
- قائمة تشغيل جديدة
- صورة ملف شخصي جديدة
- %s هذا دليل البدء الجديد.
- الاغنية التالية
- لا توجد ألبومات
- لا يوجد مغنين
- "قم بتشغيل أغنية أولاً ، ثم حاول مرة أخرى."
- لم يتم العثور موازن الصوت
- لا يوجد تصنيفات
- لم يتم العثور على كلمات للاغنية
- لا توجد أغاني تشتغل
- لا يوجد قوائم تشغيل
- لم يتم العثور على عملية شراء.
- لا يوجد نتائج
- لا يوجد أغاني
- الافتراضي
- كلمات عادية
- الافتراضي
- %s غير مدرج في مخزن الوسائط]]>
- لاشيء لفحصه.
- لاشيء لفحصه
- إشعارات
- تخصيص نمط الإشعارات
- تشغيل الان
- تسلسل التشغيل الان
- تخصيص شاشة التشغيل الآن
- 9+ من ثيمات التشغيل الان
- فقط على الواي فاي
- اعدادات اختبارية متقدمة
- آخر
- كلمة السر
- أخر 3 أشهر
- الصق الكلمات هنا
- الذروة
- تم رفض إذن الوصول إلى وحدة التخزين الخارجي.
- تم رفض الأذونات.
- تخصيص
- تخصيص المشغل و الواجهة
- اختر من وحدة التخزين الداخلي
- اختيار صورة
- بينتريست
- متابعة صفحة البينتريست لمشاهدة الهامات التصميم
- عادي
- اشعارات التشغيل توفر إجراءات للتشغيل / الإيقاف المؤقت إلخ.
- تنبيهات التشغيل
- تفريغ قائمة التشغيل
- قائمة التشغيل فارغة
- اسم قائمة التشغيل
- قوائم التشغيل
- شكل معلومات الالبوم
- مستوى ضبابية الثيم , كلما قل كلما كان افضل
- مستوى الضبابية
- ضبط زوايا مربع لوحة التحكم
- زاوية الحوار
- تصفية الأغاني حسب الطول
- فلترة المدة الزمنية للاغنية
- متقدّم
- شكل الأسلوب
- الصوت
- القائمة السوداء
- التحكم
- الثيم
- الصور
- المكتبة
- شاشة القفل
- قوائم التشغيل
- ايقاف التشغيل عند مستوى الصوت 0 والتشغيل عند رفع الصوت.ويعمل حتى وانت خارج التطبيق سيتم تشغيل الموسيقى تلقائيا
- ايقاف عند الصفر
- ضع في اعتبارك أن تمكين هذه الميزة قد يؤثر على عمر البطارية
- ابقاء الشاشة تعمل
- انقر للفتح أو التمرير بدون الإنتقال الشفاف لشاشة التشغيل الآن
- اضغط او أسحب
- تأثير تساقط الثلج
- استخدم غلاف ألبوم الأغنية قيد التشغيل حاليًا كخلفية لشاشة القفل
- خفض مستوى الصوت عند تشغيل صوت نظام أو تلقي إشعارات
- محتويات مجلدات القائمة السوداء يتم أخفائها من مكتبتك الموسيقية.
- بدء التشغيل بمجرد توصيل جهاز بلوتوث
- ظبابية غطاء الألبوم على شاشة القفل . يمكن أن يسبب مشاكل في تطبيقات وويدجت الطرف الثالث
- التأثير الدائري لصورة الألبوم في شاشة التشغيل الآن. لاحظ أن مواضيع البطاقة و البطاقة الضبابية لن تعمل
- أستخدم تصميم الإشعارات التقليدي
- تتغير ألوان أزرار الخلفية والتحكم وفقًا لصورة الألبوم من شاشة التشغيل الآن
- تلوين اختصارات التطبيق باللون الثانوي . في كل مرة تقوم فيها بتغيير اللون ، يرجى تفعيل هذا الخيار ليتم تطبيق التغييرات
- تلوين شريط التنقل باللون الاساسي
- "تلوين الإشعارات في غلاف الألبوم\u2019لون نشط"
- حسب خطوط دليل تصميم المواد بالألوان في الوضع المظلم يجب أن لاتكون مشتته
- سيتم اختيار اللون الأكثر انتشارًا من الألبوم أو غلاف الفنان
- اضافة المزيد من التحكم في المشغل المصغر
- إظهار معلومات الأغنية الإضافية، مثل تنسيق الملف، معدل البت، والتواتر
- "يمكن أن يسبب مشاكل في التشغيل على بعض الأجهزة."
- تفعيل تبويب النوع
- تفعيل وضع البانر في الشاشة الرئيسية
- يمكنك أن تزيد من جودة غلاف الألبوم ، لكنه يسبب بطئ في التحميل للصور. قم بتمكين هذا فقط إذا كنت تواجه مشاكل مع صور ألبومات منخفضة الدقة
- تكوين وعرض وترتيب فئات المكتبة.
- استخدم شاشة القفل المخصصة من ريترو ميوزك لتحكم بالتشغيل
- الرخصة والتفاصيل للبرمجيات مفتوحة المصدر
- تدوير حواف التطبيق
- تفعيل العناوين لتبويبات الشريط السفلي
- وضع الشاشة الكاملة
- تشغيل تلقائيا عند توصيل السماعة
- سوف يتم تعطيل وضع الخلط عند التشغيل من قائمة جديدة
- في حال توفر مساحة كافية قم بعرض شريط التحكم بالصوت في شاشة التشغيل الآن
- عرض غطاء الالبوم
- ثيم غطاء الالبوم
- تخطي غطاء الالبوم
- شبكة الالبومات
- تلوين اختصارات التطبيق
- شبكة الفنانين
- خفض الصوت عند فقد التركيز
- تحميل تلقائي لصور الالبومات
- القائمة السوداء
- تشغيل البلوتوث
- تضبيب صورة الالبوم
- أختر معادل الصوت
- تصميم التنبيهات الكلاسيكي
- اللون المتكيف
- التنبيهات الملونة
- لون مفصّل
- المزيد من أزرار التحكم
- معلومات الأغنية
- تشغيل متتابع
- سمات التطبيق
- عرض تبويب النوع
- شبكة الفنان الرئيسية
- صورة الواجهة
- تجاهل صور تخزين الميديا
- آخر قائمة تشغيل تمت إضافتها
- ازار التحكم في كامل الشاشة
- تلوين شريط التنقل
- ثيم التشغيل الان
- التراخيص مفتوحة المصدر
- الحواف الدائرية
- وضع عناوين التبويبات
- تاثير التتالي
- اللون المنتشر
- التطبيق في كامل الشاشة
- عناوين التبويبات
- التشغيل التلقائي
- وضع الخلط
- التحكم بالصوت
- معلومات المستخدم
- اللون الاساسي
- لون الثيم الاساسي, الافتراضي الان الازرق الرمادي, يتوافق مع الالوان الداكنة
- الكامل
- تشغيل الآن السمات ، وتأثير التكدس ، وموضوع اللون وأكثر من ذلك ..
- الملف الشخصي
- شراء
- *فكر عميقا قبل الشراء, ولاتسال عن الاسترجاع.
- تسلسل
- تقييم التطبيق
- أحببت هذا التطبيق؟ أخبرنا في متجر Google Play كيف يمكننا تحسينه
- الالبومات الحديثة
- الفنانون الحديثون
- حذف
- حذف صورة البانر
- حذف الغطاء
- حذف من القائمة السوداء
- حذف صورة العرض
- حذف الأغنية من قائمة التشغيل
- %1$s من قائمة التشغيل ?]]>
- حذف الاغاني من قائمة التشغيل
- %1$d اغنية من قائمة التشغيل?]]>
- اعادة تسمية قائمة التشغيل
- تبليغ عن مشكلة
- تقرير الأخطاء
- استرداد
- اعادة ضبط صور الالبومات
- استرجاع
- تم استرداد عملية الشراء السابقة. الرجاء اعادة تشغيل التطبيق الاستمتاع بكافة المميزات.
- تم
- استرداد عملية الشراء...
- معادل ريترو ميوزك
- مشغل الموسيقى Retro
- ريترو ميوزك - الكامل
- فشل حذف الملف: %s
-
- لا يمكن الحصول على URI SAF
- فتح قائمة التنقل
- تمكين \'إظهار بطاقة الذاكرة\' في القائمة المتداخلة
-
- %s يحتاج الوصول إلى بطاقة SD
- تحتاج إلى تحديد دليل جذر بطاقة الذاكرة SD
- حدد بطاقة الذاكرة SD في درج التنقل
- لا تفتح أي مجلدات فرعية
- اضغط على زر \"تحديد\" في الجزء السفلي من الشاشة
- فشلت كتابة الملف: %s
- حفظ
-
-
- حفظ كملف
- حفظ كملف
- حفظ قائمة التشغيل الى %s.
- حفظ التغييرات
- فحص الميديا
- تم فحص %1$d من %2$d ملف.
- تمريرات
- البحث في مكتبتك...
- تحديد الكل
- اختيار صورة البانر
- محدد
- ارسال تقرير بالخطأ
- تعيين
- اختيار صورة الفنان
- تعيين كصورة البروفايل
- مشاركة التطبيق
- شارك في القصص
- خلط
- بسيط
- تم إلغاء مؤقت النوم.
- تم ضبط مؤقت النوم الى %d دقيقة من الآن.
- سحب
- ألبوم صغير
- أجتماعي
- مشاركة القصة
- الاغنية
- مدة الأغنية
- الاغاني
- ترتيب الفرز
- تصاعدي
- الالبوم
- الفنان
- المؤلف
- التاريخ
- تاريخ التعديل
- السنة
- تنازلي
- عذرا! جهازك لايدعم الادخال الصوتي
- أبحث في مكتبتك
- التكدس
- أبدا بتشغيل الموسيقى.
- اقتراحات
- قم بعرض اسمك في الشاشة الرئيسية
- دعم التطوير
- اسخب للفتح
- مزامنة الكلمات
- معادل الصوت
-
- تيليجرام
- انضم لمجموعة التيليجرام لمناقشة المشاكل, و طرح اقتراحات والمزيد
- شكرا
- الملف الصوتي
- هذا الشهر
- هذا الاسبوع
- هذه السنة
- صغير
- عنوان
- الرئيسية
- نهار جميل
- يوم جميل
- مساء الخير
- صباح الخير
- ليلة جميلة
- ماهو أسمك
- اليوم
- افضل الالبومات
- افضل الفنانين
- "المسار (2 للمسار 2 أو 3004 لمسار CD3 4)"
- رقم المسار
- ترجمة
- ساعدها لترجمة التطبيق الى لغتك
- تويتر
- شارك تصميمك مع ريترو ميوزك
- غير معنون
- تعذّر تشغيل\u2019t هذه الأغنية.
- التالي
- تحديث الصورة
- تحديث...
- أسم المستخدم
- الإصدار
- تدوير رأسي
- التاثيرات
- الصوت
- البحث عبر الانترنت
- مرحبا,
- مالذي تريد مشاركته?
- مالجديد
- نافذة
- حواف دائرية
- تعيين %1$s كنغمة الرنين الخاصة بك.
- %1$d تحديد
- السنة
- عليك اختيار فئة واحدة على الأقل.
- سيتم تحويلك الى صفحة سجل الاخطاء
- بيانات حسابك تستخدم لتوثيق فقط.
- الكمية
- ملاحظة (اختياري)
- بدء عملية الدفع
- إظهار شاشة التشغيل
- النقر على الإشعار سيظهر الآن مايتم تشغيله بدلاً من الشاشة الرئيسية لتطبيق
- بطاقة صغيرة
-
diff --git a/app/src/main/res/master/values-bn-rIN/strings.xml b/app/src/main/res/master/values-bn-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-bn-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ca-rES/strings.xml b/app/src/main/res/master/values-ca-rES/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-ca-rES/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-cs-rCZ/strings.xml b/app/src/main/res/master/values-cs-rCZ/strings.xml
deleted file mode 100644
index 0586557fb..000000000
--- a/app/src/main/res/master/values-cs-rCZ/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Barva akcentů
- Barva motivu akcentu je výchozí k růžové barvě.
- Informace
- Přidat k oblíbeným
- Přidat do fronty
- Přidat do seznamu skladeb…
- Vyčistit frontu
- Vymazat playlist
- Cycle repeat mode
- Smazat
- Vymazat ze zařízení
- Podrobnosti
- Přejít na album
- Přejít na interpreta
- Go to genre
- Přejít do začáteční složky
- Grant
- Velikost mřížky
- Velikost spodní mřížky
- New playlist
- Další
- Přehrát
- Play all
- Přehrát další
- Přehrát/Pozastavit
- Předchozí
- Odstranit z oblíbených
- Odstranit z fronty
- Odstranit ze seznamu skladeb
- Přejmenovat
- Save playing queue
- Skenovat
- Hledat
- Nastavit
- Nastavit jako vyzvánění
- Nastavit jako počáteční adresář
- "Nastavení"
- Sdílet
- Náhodný výběr všech skladeb
- Náhodný výběr playlistu
- Časovač vypnutí
- Sort order
- Editor tagů
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Přidat do seznamu skladeb"
- Add time frame lyrics
- "Přidán 1 titul do fronty přehrávání."
- Přidány %1$d tituly do fronty přehrávání.
- Album
- Umělec alba
- Titul nebo umělec je prázdný.
- Albumy
- Vždy
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Umělec
- Umělci
- Zaměření zvuku bylo zamítnuto.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Bio
- Velmi černá
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Zrušit aktuální časovač
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Přehled změn
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Vyčistit
- Clear app data
- Clear blacklist
- Clear queue
- Vyčistit seznam skladeb
- %1$s? Akci nelze vr\u00e1tit zp\u011bt!]]>
- Close
- Color
- Color
- Barvy
- Composer
- Copied device info to clipboard.
- Nelze vytvo\u0159it playlist.
- "Nelze st\u00e1hnout odpov\u00eddaj\u00edc\u00ed obal alba."
- Could not restore purchase.
- Nelze skenovat %d soubory.
- Vytvořit
- Vytvořený seznam skladeb %1$s.
- Members and contributors
- Aktuálně posloucháš %1$s od %2$s.
- Tmavá
- No Lyrics
- Smazat seznam skladeb
- %1$s?]]>
- Smazat seznamy skladeb
- Delete song
- %1$s?]]>
- Delete songs
- %1$d seznamů skladeb?]]>
- %1$d písní?]]>
- %1$d skladby byly smazány.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Darovat
- Pokud si myslíte, že si zasloužím odměnu za svou práci, můžete mi nechat pár dolarů.
- Buy me a:
- Stáhnout z Last.fm
- Drive mode
- Edit
- Edit cover
- Prázdný
- Equalizer
- Error
- FAQ
- Oblíbené
- Finish last song
- Fit
- Flat
- Složky
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Žánr
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- Historie
- Domov
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Do playlistu %2$s byly vloženy %1$d skladby.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Datový tok
- Formát
- Název souboru
- Umístění souboru
- Velikost
- More from %s
- Vzorkovací frekvence
- Délka
- Labeled
- Poslední
- Last song
- Let\'s play some music
- Knihovna
- Library categories
- Licence
- Velmi bílá
- Listeners
- Výpis souborů
- Načítání produktů...
- Login
- Text
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Moje top skladby
- Nikdy
- New banner photo
- Nový seznam skladeb
- New profile photo
- %S je nový úvodní adresář.
- Next Song
- Žádné alba
- žádní umělci
- "Přehrajte nejprve píseň a zkuste to znovu."
- Nebyl nalezen žádný ekvalizér.
- You have no genres
- No lyrics found
- No songs playing
- Žádné playlisty
- No purchase found.
- Žádné výsledky
- Žádné písně
- Normal
- Normal lyrics
- Normal
- %s není uveden v úložišti médií.]]>
- Nic pro skenování.
- Nothing to see
- Upozornění
- Customize the notification style
- Now playing
- Aktuální fronta
- Customize the now playing screen
- 9+ now playing themes
- Pouze přes Wifi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Povolení přístupu k externímu úložišti bylo zamítnuto.
- Oprávnění byla odepřena.
- Personalize
- Customize your now playing and UI controls
- Vyberte z místního úložiště
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Prázdny seznam skladeb
- Playlist is empty
- Název playlistu
- Seznamy skladeb
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Zvuk
- Blacklist
- Controls
- Theme
- Obrázky
- Library
- Obrazovka uzamčení
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Používá současný obal alba písní jako tapetu zámku.
- Oznámení, navigace atd.
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur obal alba na uzamčení obrazovky. Může způsobit problémy s aplikacemi třetích stran a widgety.
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- Pozadí, barva ovládacích tlačítek se mění podle vzhledu alb z obrazovky přehrávače
- Vybarvit zkratky aplikací v barvě odstínu. Pokaždé, když změníte barvu, přepněte toto nastavení, aby se projevil efekt
- Vybarvit navigační lištu v primární barvě.
- "Vybarv\u00ed ozn\u00e1men\u00ed v \u017eiv\u00e9 barv\u011b krytu alba."
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Může způsobit problémy s přehráváním u některých zařízení."
- Toggle genre tab
- Show or hide the home banner
- Může zvýšit kvalitu obalu alba, ale způsobí pomalejší načítání snímků. Tuto možnost povolte pouze v případě potíží s uměleckými díly s nízkým rozlišením.
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Rohové okraje oken, alba atd.
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Zobrazit obal alba
- Album cover theme
- Album cover skip
- Album grid
- Barevné zkratky aplikace
- Artist grid
- Snížit hlasitost při ztrátě zaostření
- Automatické stahování obrázků interpretů
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptivní barva
- Barevné notifikace
- Desaturated color
- Extra controls
- Song info
- Přehrávání bez mezery
- Hlavní téma
- Show genre tab
- Artist grid
- Banner
- Ignorovat obaly v zařízení
- Last added playlist interval
- Fullscreen controls
- Barevná navigační lišta
- Vzhled
- Open source licences
- Rohy
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Hlavní barva
- Primární barva motivu je výchozí pro indigo.
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Fronta
- Ohodnoťte aplikaci
- Zanechte pozitivní hodnocení na Google Play pokud máte rádi Retro music.
- Recent albums
- Recent artists
- Odstranit
- Remove banner photo
- Odstranit obal
- Remove from blacklist
- Remove profile photo
- Smazat skladbu ze seznamu skladeb
- %1$s ze seznamu skladeb?]]>
- Smazat skladby ze seznamu skladeb
- %1$d skladby ze seznamu skladeb?]]>
- Přejmenovat seznam skladeb
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Předchozí nákupy byly obnoveny.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Uložit jako soubor
- Save as files
- Seznam skladeb uložený do %s.
- Uložení změn
- Scan media
- Naskenované %1$d z %2$d souborů.
- Scrobbles
- Prohledat knihovnu...
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Náhodně
- Simple
- Časovač vypnutí byl zrušen.
- Časovač vypnutí byl nastaven na %d minut.
- Slide
- Small album
- Social
- Share story
- Skladba
- Song duration
- Písně
- Řazení
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Promiňte! Vaše zařízení nepodporuje vstup řeči
- Prohledat knihovnu
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Podpora vývoje
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Děkujeme!
- Audio soubor
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Skladba (2 pro stopu 2 nebo 3004 pro čtvrtou stopu z CD3)"
- Track number
- Překlad
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Tuto p\u00edse\u0148 se nepoda\u0159ilo p\u0159ehr\u00e1t.
- Up next
- Aktualizovat obrázek
- Aktualizace...
- Username
- Verze
- Vertical flip
- Virtualizer
- Volume
- Webové vyhledávání
- Welcome,
- Co chcete sdílet?
- What\'s New
- Window
- Rounded corners
- Nastavit %1$s jako zvonění
- %1$d vybrané
- Rok
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-da-rDK/strings.xml b/app/src/main/res/master/values-da-rDK/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-da-rDK/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-de-rDE/strings.xml b/app/src/main/res/master/values-de-rDE/strings.xml
deleted file mode 100644
index 213ef3f8b..000000000
--- a/app/src/main/res/master/values-de-rDE/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, soziale Netzwerke
- Akzentfarbe
- Akzentfarbe des Farbthemas, Standard ist Grün
- Über
- Zu Favoriten hinzufügen
- Zur Wiedergabeliste hinzufügen
- Zur Playlist hinzufügen...
- Wiedergabeliste leeren
- Playlist leeren
- Wiederholungsmodus wechseln
- Löschen
- Vom Gerät löschen
- Details
- Zum Album gehen
- Zum Künstler gehen
- Zu Genre gehen
- Zum Startverzeichnis gehen
- Gewähren
- Gittergröße
- Gittergröße (Querformat)
- Neue Wiedergabeliste
- Nächstes
- Abspielen
- Alles abspielen
- Spiel danach
- Abspielen/Pausieren
- Vorheriges
- Aus Favoriten entfernen
- Von Wiedergabeliste entfernen
- Von Playlist entfernen
- Umbenennen
- Wiedergabeliste speichern
- Scannen
- Suche
- Verwenden
- Als Klingelton verwenden
- Als Startverzeichnis verwenden
- "Einstellungen"
- Teilen
- Alle zufällig wiedergeben
- Playlist zufällig wiedergeben
- Sleep-Timer
- Sortierreihenfolge
- Tag-Editor
- Favorit umschalten
- Toggle shuffle mode
- Adaptiv
- Hinzufügen
- Songtext hinzufügen
- Bild \nhinzufügen
- "Zur Playlist hinzufügen"
- Synchronisierten Songtext hinzufügen
- "1 Titel wurde zur Wiedergabeliste hinzugefügt."
- %1$d Titel wurden zur Wiedergabeliste hinzugefügt.
- Album
- Album Künstler
- Titel oder Künstler ist leer.
- Alben
- Immer
- Hey, schau dir diesen coolen Music Player an: https://play.google.com/store/apps/details?id=%s
- Zufällig
- Top Songs
- Big
- Retro Musik - Karte
- Classic
- Klein
- Text
- Künstler
- Künstler
- Audio Fokus verweigert.
- Sound- und Equalizer-Optionen einstellen
- Automatisch
- Grundfarbe
- Bassboost
- Beschreibung
- Biografie
- Sehr schwarz
- Schwarze Liste
- Unschärfe
- Karte (Unschärfe)
- Fehler beim Melden
- Ungültiger Token. Bitte kontaktiere den Entwickler.
- Für diese Repository sind Fehlermeldungen nicht aktiviert. Bitte den Entwickler kontaktieren.
- Ein unerwarteter Fehler ist aufgetreten. Bitte kontaktiere den Entwickler.
- Falscher Nutzername oder Passwort
- Problem
- Manuell senden
- Bitte gebe eine Beschreibung ein
- Bitte nutze das korrekte GitHub-Passwort
- Bitte gebe einen Titel ein
- Bitte nutze einen gültigen GitHub-Nutzernamen
- Sorry! Ein unerwarteter Fehler ist aufgetreten. Die App-Daten zurückzusetzen, könnte helfen.
- Meldung zu GitHub hochladen...
- Via GitHub senden
- Jetzt kaufen
- Timer stoppen
- Karte
- Rund
- Karte (Farbe)
- Karte
- Karussell
- Karussell-Effekt auf dem Abspielbildschirm
- Kaskadierend
- Übertragen
- Änderungen
- Changelog über Telegram-App verwaltet.
- Kreis
- Rund
- Klassik
- Leer
- App-Daten zurücksetzen
- Blacklist leeren
- Leeren
- Playlist leeren
- %1$s leeren? Dies kann nicht r\u00fcckg\u00e4ngig gemacht werden!]]>
- Schließen
- Farbe
- Farbe
- Farben
- Komponist
- Geräteinformationen wurden kopiert
- Playlist konnte nicht erstellt werden.
- "Passendes Album Cover konnte nicht gedownloadet werden."
- Kauf konnte nicht wiederhergestellt werden.
- %d Dateien konnte(n) nicht gescannt werden.
- Erstellen
- Playlist %1$s erstellt.
- Helfende Hände
- Spielt zur Zeit %1$s von %2$s.
- Dunkel
- keine Lyrics
- Playlist löschen
- %1$s löschen?]]>
- Playlisten löschen
- Song löschen
- %1$s löschen?]]>
- Songs löschen
- %1$d Playlisten löschen?]]>
- %1$d Songs löschen?]]>
- %1$d Songs gelöscht.
- Lösche Songs
- Tiefe
- Beschreibung
- Geräteinfo
- Retro Music erlauben, Audioeinstellungen zu verändern
- Klingelton festlegen
- Möchtest du die Blacklist leeren?
- %1$s von der Blacklist entfernen?]]>
- Spenden
- Falls du denkst ich habe mir etwas für meine Arbeit verdient, kannst du hier gerne ein bisschen Geld hinterlassen.
- Kauf\' mir:
- Von Last.fm downloaden
- Fahrmodus
- Bearbeiten
- Cover bearbeiten
- Leer
- Equalizer
- Fehler
- FAQ
- Favoriten
- Letzten Song ganz spielen
- Anpassen
- Flach
- Ordner
- System folgen
- Für dich
- Kostenlos
- Voll
- Karte (Voll)
- Allgemeine Farben der App ändern
- Aussehen
- Genre
- Genres
- Projekt von GitHub forken
- Tritt\' der Google Plus-Community bei, um nach Hilfe zu fragen oder Updates zu Retro Music zu erhalten
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Vorschaubilder
- Scharnier
- Verlauf
- Zuhause
- Horizontale Drehung
- Bild
- Bild mit Farbverlauf
- Download-Verhalten für Interpretenbilder ändern
- %1$d Song(s) in Playlist %2$s eingefügt.
- Teile dein Retro Music-Design auf Instagram
- Tastatur
- Bitrate
- Formattieren
- Dateiname
- Dateipfad
- Größe
- Mehr von %s
- Sampling Rate
- Länge
- Beschriftet
- Zuletzt hinzugefügt
- Letzter Song
- Lass uns etwas abspielen
- Bibliothek
- Bibliothekkategorien
- Lizenzen
- Sehr weiß
- Zuhörer
- Gelistete Dateien
- Produkte werden geladen...
- Login
- Songtext
- Hergestellt mit ❤ in Indien
- Material
- Fehler
- Berechtigungsfehler
- Mein Name
- Meine Top Lieder
- Nie
- Neues Banner-Foto
- Neue Playlist
- Neues Profilbild
- %s ist das neue Startverzeichnis.
- Nächster Song
- Keine Alben
- Keine Künstler
- "Song abspielen und anschließend erneut versuchen."
- Keinen Equalizer gefunden.
- Keine Genres
- Keine Lyrics gefunden
- Kein Lied wird gespielt
- Keine Playlisten
- Kein Kauf gefunden.
- Keine Ergebnisse
- Keine Songs
- Normal
- Normaler Songtext
- Normal
- %s ist nicht im Medienspeicher aufgeführt.]]>
- Nichts zu scannen.
- Nichts zu sehen
- Benachrichtigung
- Benachrichtigungen bearbeiten
- Derzeit gespielt
- Aktuelle Wiedergabeliste
- Passe den Abspielbildschirm an
- Mehr als 10 Abspiel-Themes
- Nur über Wi-Fi
- Erweiterte Testfunktionen
- Anderes
- Passwort
- Letzte 3 Monate
- Songtext hier einfügen
- Spitze
- Berechtigung für den Zugriff auf externen Speicher verweigert.
- Berechtigung verweigert.
- Personalisieren
- Abspiel-Bildschirm und Interface bearbeiten
- Vom lokalen Speicher wählen
- Bild auswählen
- Pinterest
- Folge der Pinterest-Seite für Retro Music Design Inspirationen
- Einfach
- Die Abspielbenachrichtigung bietet Play/Pause-Steuerung
- Abspielbenachrichtigung
- Leere Playlist
- Playlist ist leer
- Playlistname
- Wiedergabelisten
- Style der Albumdetails
- Geringere Unschärfe benötigt weniger Rechenleistung.
- Unschärfe
- Adjust the bottom sheet dialog corners
- Dialog corner
- Lieder nach Länge filtern
- Nach Spieldauer filtern
- Erweitert
- Album-Stil
- Audio
- Blacklist
- Schaltflächen
- Allgemein
- Bilder
- Bibliothek
- Sperrbildschirm
- Playlist
- Die Musik pausieren, wenn die Lautstärke auf 0 gestellt wird. Achtung! Wenn die Lautstärke wieder erhöht wird, wird die Musik weiter abgespielt.
- Bei Stummstellung pausieren
- Beachte, dass diese Funktion sich auf die Akkulaufzeit auswirkt.
- Bildschirm anlassen
- Tippen oder wischen, um den Abspielbildschirm zu öffnen. Ist Wischen aktiv, kann die Navigationsleiste nicht transparent sein.
- Wischgesten
- Schneefall-Effekt
- Aktuelles Album-Cover als Sperrbildschrim verwenden.
- Benachrichtigungen, Benachrichtigung etc.
- Die Musik in Ordnern von der schwarzen Liste wird nicht angezeigt.
- Wiedergabe starten, sobald mit dem Bluetooth-Gerät verbunden wurde
- Verunschärft das Album-Cover des Sperrbildschirm. Kann Probleme mit anderen Apps und Widgets verursachen.
- Karusselleffekt beim Albumcover auf dem Abspiel-Bildschirm. Die Designs Karte und Karte (Unschärfe) unterstützen diese Funktion nicht.
- Nutze das klassische Benachrichtigungs-Design
- Hintergrund und Bedienelemente färben sich je nach Album-Cover
- Färbt die App-Verknüpfungen in der Akzentfarbe. Bitte bei Änderung der Akzentfarbe erneut einschalten.
- Färbt die Navigationsleiste in der Primärfarbe.
- "F\u00e4rbt die Benachrichtigung passend zum Albumcover"
- Wie nach Material Design Leitfaden sollten Linien in dunklen Modusfarben desaturatiert werden
- Dominierende Farbe wird vom Album- oder Interpretencover gewählt.
- Zusätzliche Schaltflächen für den Mini-Player
- Zeige zusätzliche Songinformationen wie Dateiformat, Bitrate und Häufigkeit
- "Kann bei manchen Geräten Probleme beim Playback verursachen."
- Genre-Tab
- Home-Banner
- Erhöt die Qualität des Album Covers aber verlangsamt die Ladezeit. Nur aktivieren, falls Probleme mit niedriger Auflösung entstehen.
- Stelle Sichtbarkeit und Reihenfolge der Bibliothekkategorien ein.
- Vollständige Musiksteuerung auf dem Sperrbildschirm einschalten.
- Details zu den Lizensen der Open Source Software
- Abgerundete Ecken für den Bildschirm, Album Cover, etc.
- Kategorienbezeichnungen in Navigationsleiste ein/ausschalten.
- Schalte den immersiven Modus ein.
- Mit Wiedergabe starten, sobald Kopfhörer verbunden sind.
- Shufflemodus wird ausgeschaltet, sobald neue Wiedergabe gestartet wird
- Falls Platz vorhanden ist, Lautstärkeregler auf Derzeit gespielt-Bildschirm zeigen
- Album Cover anzeigen
- Aussehen des Albumcovers
- Stil des Album-Covers
- Album-Rasteransicht
- Gefärbte App Shortcuts
- Interpreten-Rasteransicht
- Lautstärke bei Fokusverlust reduzieren
- Künstler Bild automatisch downloaden
- Schwarze Liste
- Bluetooth-Wiedergabe
- Album Cover weichzeichnen
- Equalizer wählen
- Klassisches Design für Benachrichtigungen.
- selbstanpassende Farbe
- Gefärbte Benachrichtigung
- Desaturatierte Farbe
- Zusätzliche Schaltflächen
- Song-Info
- Lückenlose Wiedergabe
- Hauptthema
- Genre-Tab anzeigen
- Künstlerbilder auf der Startseite
- Home-Banner
- Media Store Cover ignorieren
- Zuletzt hinzugefügtes Playlist Intervall
- Vollbildschirmsteuerung
- Gefärbte Navigationsleiste
- Erscheinungsbild
- Open Source Lizenzen
- abgerundet Ecken
- Beschriftung der Navigationselemente
- Karussell-Effekt
- Dominante Farbe
- Vollbild App
- Navigationsleistentitel
- Automatische Wiedergabe
- Shuffle-Modus
- Lautstärkeregler
- Benutzerinformationen
- Hauptfarbe
- Primäre Farbe des Farbthemas, Standard ist indigo
- Pro
- Themes für \"Now Playing\", Karussell-Effekte und mehr
- Profil
- Kaufen
- *Denke vor dem Kauf nach, frage nicht nach einer Rückerstattung.
- Warteschlange
- App bewerten
- Hinterlasse eine positive Bewertung auf Google Play, wenn die Retro Music gefällt.
- Kürzlich gespielte Alben
- Kürzlich gehörte Interpreten
- Entfernen
- Banner-Foto entfernen
- Cover entfernen
- Von der Blacklist löschen
- Profilbild entfernen
- Songs von Playlist entfernen
- %1$s von der Playlist entfernen?]]>
- Songs von Playlist entfernen
- %1$d Songs von der Playlist entfernen?]]>
- Playlist umbenennen
- Fehler melden
- Einen Fehler melden
- Zurücksetzen
- Interpretenbild zurücksetzen
- Wiederherstellen
- Vorherigen Kauf wiederherstellen. Starte die App bitte neu, um den Vorgang abzuschließen.
- Käufe wiederhergestellt
- Kauf wird wiederhergestellt...
- Retro Music-Equalizer
- Retro Music Player
- Retro Music Pro
- Löschen der Datei fehlgeschlagen: %s
-
- SAF-URI kann nicht geladen werden
- Open navigation drawer
- Aktiviere \'SD-Karte anzeigen\' im Überlaufmenü
-
- %s benötigt Zugriff auf die SD-Karte
- Sie müssen Ihr Stammverzeichnis für die SD-Karte auswählen
- SD-Karte im Navigationsmenü auswählen
- Keine Unterordner öffnen
- Tippe auf die \'auswählen\' Taste am unteren Bildschirmrand
- Datei schreiben fehlgeschlagen: %s
- Speichern
-
-
- Als Datei speichern
- Als Dateien speichern
- Playlist gespeichert zu %s.
- Änderungen speichern
- Medien scannen
- %1$d von %2$d Dateien gescannt.
- Scrobbles
- Bibliothek durchsuchen...
- Alle auswählen
- Banner-Foto auswählen
- Ausgewähltes beschriftet
- Crashlogs senden
- Setzen
- Wähle ein Interpretenbild
- Profilfoto festlegen
- App teilen
- In Stories teilen
- Zufall
- Einfach
- Sleep-Timer abgebrochen
- Sleep-Timer wurde auf %d minuten eingestellt.
- Folie
- Kleines Album
- Sozial
- Story teilen
- Lied
- Songdauer
- Titel
- Sortierreihenfolge
- Aufsteigend
- Album
- Künstler
- Komponist
- Datum
- Änderungsdatum
- Jahr
- Absteigend
- Tut uns leid! Dein Gerät unterstützt keine Spracheingabe
- Bibliothek durchsuchen
- Gestapelt
- Beginne Musik zu spielen.
- Für dich
- Zeige nur deinen Namen auf dem Startbildschirm
- Entwickler unterstützen
- Wischen zum Entsperren
- Synchronisierter Songtext
- System-Equalizer
-
- Telegram
- Betritt die Telegram-Gruppe um über Fehler zu diskutieren, um Vorschläge zu geben usw.
- Vielen Dank!
- Die Audiodatei
- Diesen Monat
- Diese Woche
- Dieses Jahr
- Winzig
- Titel
- Bedienfläche
- Guten Nachmittag!
- Guten Tag!
- Einen schönen Abend!
- Guten Morgen!
- Gute Nacht
- Wie heißt du?
- Heute
- Top Alben
- Top Interpreten
- "Songnummer (2 für Song 2 oder 3004 für CD3 Song 4)"
- Songnummer
- Übersetzen
- Hilf\' uns, die App in deine Sprache zu übersetzen!
- Twitter-Seite
- Teile dein Design mit RetroMusic
- Unbeschriftet
- Song konnte nicht abgespielt werden.
- Als Nächstes
- Bild aktualisieren
- Aktualisieren...
- Benutzername
- Version
- Vertikale Drehung
- Surroundsound
- Lautstärke
- Internetsuche
- Willkommen,
- Was möchtest du teilen?
- Neuigkeiten
- Fenster
- Runde Ecken
- %1$s als Klingelton verwenden.
- %1$d ausgewählt
- Jahr
- Du musst mindestens eine Kategorie auswählen
- Du wirst auf die Issue Tracker-Seite weitergeleitet.
- Deine Accountdaten werden ausschließlich zur Authentifizierung genutzt
- Anzahl
- Notiz(Optional)
- Zahlung starten
- \"Now Playing\" Bildschirm anzeigen
- Wenn Sie auf die Benachrichtigung klicken, wird das \"Now Playing\" Bildschirms statt des Startbildschirms angezeigt
- Kleinkartenschrank
-
diff --git a/app/src/main/res/master/values-el-rGR/strings.xml b/app/src/main/res/master/values-el-rGR/strings.xml
deleted file mode 100644
index b68f5bc70..000000000
--- a/app/src/main/res/master/values-el-rGR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Χρώμα Τονισμού
- Το χρώμα τονισμού του θέματος, η προεπιλογή είναι το πράσινο.
- Σχετικά με...
- Προσθήκη στα αγαπημένα
- Προσθήκη στην ουρά αναπ/γής
- Προσθήκη σε playlist...
- Εκκαθάριση ουράς αναπαραγωγής
- Εκκαθάριση playlist
- Cycle repeat mode
- Διαγραφή
- Διαγραφή από την συσκευή
- Λεπτομέρειες
- Πήγαινε στο άλμπουμ
- Πήγαινε στον καλλιτέχνη
- Go to genre
- Αναπήδηση σε κατάλογο εκκίνησης
- Παραχώρηση
- Μέγεθος Πλέγματος
- Μέγεθος Πλέγματος (landscape mode)
- New playlist
- Επόμενο
- Αναπαραγωγή
- Play all
- Αναπαραγωγή επόμενου
- Παίξε/Παύση
- Προηγούμενο
- Αφαίρεση από τα αγαπημένα
- Αφαίρεση από την ουρά αναπ/γής
- Αφαίρεση από playlist
- Μετονομασία
- Αποθήκευση τρέχων ουράς αναπ/γής
- Σάρωση
- Αναζήτηση
- Ορισμός
- Ορισμός ως ήχος κλήσης
- Ορισμός ως κατάλογο εκκίνησης
- "Ρυθμίσεις"
- Μοιράσου
- Τυχαία αναπ/γη όλων
- Τυχαία αναπ/γη playlist
- Χρονοδιακόπτης Ύπνου
- Sort order
- Επεξεργασία Ετικετών
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Προσθήκη
- Add lyrics
- Προσθήκη εικόνας
- "Προσθήκη στη playlist"
- Add time frame lyrics
- "Προστέθηκε 1 κομμάτι στην ουρά αναπ/γης."
- Προστέθηκαν %1$d κομμάτια στην ουρά αναπ/γης.
- Άλμπουμ
- Καλλιτέχνης Άλμπουμ
- Ο τίτλος ή το όνομα του καλλιτέχνη είναι κενό
- Άλμπουμ
- Πάντα
- Τσεκάρετε αυτό το κούλ music player στο:https://play.google.com/store/apps/details?id=%s
- Τυχαία αναπαραγωγή
- Κορυφαία Κομμάτια
- Μεγάλο
- Κάρτα
- Κλασσικό
- Μικρό
- Text
- Καλλιτέχνης
- Καλλιτέχνες
- Η εστίαση ήχου απορρίφθηκε.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Βιογραφία
- Απλά Μαύρο
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Ακύρωση τρέχων χρονοδιακόπτη
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Λίστα Αλλαγών
- Η Λίστα Αλλαγών συντηρείται από το Telegram app
- Circle
- Circular
- Classic
- Εκκαθάριση
- Clear app data
- Εκκαθάριση blacklist
- Clear queue
- Εκκαθάριση playlist
- %1$s? \u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03b1\u03bd\u03b1\u03af\u03c1\u03b5\u03c3\u03b7!]]>
- Close
- Color
- Color
- Χρώματα
- Composer
- Copied device info to clipboard.
- \u0391\u03b4\u03c5\u03bd\u03b1\u03bc\u03af\u03b1 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1\u03c2 playlist.
- "\u0391\u03b4\u03c5\u03bd\u03b1\u03bc\u03af\u03b1 \u03bb\u03ae\u03c8\u03b7\u03c2 \u03c4\u03b1\u03b9\u03c1\u03b9\u03b1\u03c3\u03c4\u03bf\u03cd \u03b5\u03be\u03c9\u03c6\u03cd\u03bb\u03bb\u03bf\u03c5 \u03ac\u03bb\u03bc\u03c0\u03bf\u03c5\u03bc."
- Could not restore purchase.
- Αδυναμία στο σκανάρισμα %d αρχείων.
- Δημιουργία
- Δημιουργήθηκε η playlist %1$s.
- Members and contributors
- Παίζει το %1$s από τους %2$s.
- Κάπως Σκούρο
- Δεν βρέθηκαν στίχοι.
- Διαγραφή playlist
- %1$s?]]>
- Διαγραφή αυτών των playlist
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlist?]]>
- %1$d κομματιών?]]>
- Διαγράφηκαν %1$d κομμάτια.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Εκκαθάριση της blacklist?
- %1$s από τη blacklist?]]>
- Δώρισε
- Αν σου άρεσε η εφαρμογή μπορείς να δωρίσεις εδώ.
- Αγορασέ μου ένα
- Λήψη από Last.fm
- Drive mode
- Edit
- Edit cover
- Κενό
- Ισοσταθμιστής
- Error
- FAQ
- Αγαπημένα
- Finish last song
- Fit
- Επίπεδο
- Φάκελοι
- Follow system
- For you
- Free
- Πλήρες
- Full card
- Change the theme and colors of the app
- Look and feel
- Είδος
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- Ιστορικό
- Αρχική
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Προστέθηκαν %1$d κομμάτια στη playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Μορφή
- Όνομα Αρχείου
- Διαδρομή Αρχείου
- Μέγεθος
- More from %s
- Συχνότητα δείγματος
- Μήκος
- Labeled
- Προστέθηκαν τελευταία
- Last song
- Ας παίξουμε κάτι
- Περιηγήσου
- Library categories
- Άδειες
- Ξεκάθαρα Λευκό
- Listeners
- Καταγραφή αρχείων
- Φόρτωση προϊόντων...
- Login
- Στίχοι
- Made with ❤️ in India
- Material
- Error
- Permission error
- Το Όνομά μου
- Τα Κορυφαία Κομμάτια μου
- Ποτέ
- New banner photo
- Νέα playlist
- New profile photo
- %s είναι ο νέος κατάλογος εκκίνησης.
- Next Song
- Κανένα άλμπουμ
- Κανένας καλλιτέχνης
- "Παίξτε ενα κομμάτι πρώτα, και ξαναπροσπαθήστε."
- Δεν βρέθηκε ισοσταθμιστής.
- Κανένα είδος
- Δεν βρέθηκαν στίχοι
- No songs playing
- Δεν βρέθηκαν playlists
- No purchase found.
- Κανένα αποτέλεσμα
- Δεν βρέθηκαν κομμάτια
- Κανονικό
- Normal lyrics
- Normal
- %s δεν υπάρχει στο media store.]]>
- Δεν υπάρχει στοιχείο προς σάρωση.
- Nothing to see
- Ειδοποίηση
- Customize the notification style
- Now playing
- Ουρά \"Παίζει Τώρα\"
- Customize the now playing screen
- 9+ now playing themes
- Μόνο από Wi-Fi
- Advanced testing features
- Other
- Password
- Τους περασμένους 3 μήνες
- Paste lyrics here
- Peak
- Η άδεια για προσπέλαση του external storage δεν παραχωρήθηκε.
- Οι άδειες δεν παραχωρήθηκαν.
- Personalize
- Customize your now playing and UI controls
- Επιλογή από Χώρο Αποθήκευσης
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Απλό
- Η ειδοποίηση αναπαραγωγής προσφέρει κουμπιά για play/pause, κλπ.
- Ειδοποίηση Αναπαραγωγής
- Κενή playlist
- H Playlist είναι κενή
- Όνομα Playlist
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Ήχος
- Blacklist
- Controls
- Theme
- Εικόνες
- Library
- Οθόνη Κλειδώματος
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Χρησιμοποιεί το εξώφυλλο του τρέχων κομματιού ως φόντο οθόνης κλειδώματος.
- Ειδοποιήσεις, πλοήγηση, κλπ.
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Θολώνει το εξώφυλλο άλμπουμ στην οθόνη κλειδώματος. Μπορεί να προκαλέσει προβλήματα με εφαρμογές και widgets.
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Χρήση του κλασσικού design ειδοποιήσεων.
- Το φόντο και το κουμπί ελέγχου αλλάζουν σύμφωνα με το εξώφυλλο άλμπουμ
- Χρωματίζει τα app shortcuts με το επιλεγμένο χρώμα τονισμού.
- Χρωματίζει το navigation bar με το κύριο χρώμα.
- "\u03a7\u03c1\u03c9\u03bc\u03b1\u03c4\u03af\u03b6\u03b5\u03b9 \u03c4\u03b7\u03bd \u03b5\u03b9\u03b4\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03bc\u03b5 \u03c4\u03bf \u03b6\u03c9\u03bd\u03c4\u03b1\u03bd\u03cc \u03c7\u03c1\u03ce\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03b5\u03be\u03c9\u03c6\u03cd\u03bb\u03bb\u03bf\u03c5 \u03ac\u03bb\u03bc\u03c0\u03bf\u03c5\u03bc."
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Μπορεί να προκαλέσει προβλήματα με την αναπαραγωγή σε κάποιες συσκευές."
- Toggle genre tab
- Show or hide the home banner
- Μπορεί να αυξήσει την ποιότητα των εξωφύλλων άλμπουμ, αλλά προκαλεί αργή φόρτωση εικόνων. Ενεργοποιήστε αυτή την επίλογη μόνο εαν αντιμετωπίζετε προβλήματα με εξώφυλλα χαμηλής ανάλυσης.
- Configure visibility and order of library categories.
- Ενεργοποίηση διακοπτών ρύθμισης στην οθόνη κλειδώματος.
- Λεπτομέρειες άδειας για τη χρήση open source λογισμικού
- Στρογγυλεμένες άκρες για το παράθυρο, εξώφυλλα άλμπουμ, κλπ.
- Ενεργοποίηση/ Απενεργοποίηση τίτλων από την κάτω μπάρα
- Ενεργοποίηση της επιλογής για χρήση πλήρους οθόνης
- Όταν συνδεθούν ηχεία/ακουστικά , αρχίζει η αναπαραγωγή
- Shuffle mode will turn off when playing a new list of songs
- Εαν υπάρχει χώρος στην οθόνη αναπαραγωγής, ενεργοποιήστε τον πίνακα ελέγχου έντασης.
- Εμφάνιση εξωφύλλου άλμπουμ.
- Album cover theme
- Album cover skip
- Album grid
- Χρωματιστά app shortcuts
- Artist grid
- Μείωση έντασης όταν υπάρχουν εισερχόμενες ειδοποιήσεις
- Αυτόματη λήψη εικόνων καλλιτεχνών
- Blacklist
- Bluetooth playback
- Θόλωμα εξωφύλλων άλμπουμ
- Choose equalizer
- Κλασσικό design ειδοποίησης
- Προσαρμοστικό Χρώμα
- Χρωματιστή ειδοποίηση
- Desaturated color
- Extra controls
- Song info
- Αναπαραγωγή χωρίς κενά
- Γενικό θέμα
- Show genre tab
- Artist grid
- Banner
- Παράληψη Media Store για εξώφυλλα
- Χρονικό διάστημα playlist \"Προστέθηκε τελευταία\"
- Full screen Ρυθμίσεις
- Χρωματιστό navigation bar
- Εμφάνιση
- Άδειες λογισμικού open source
- Στρογγυλεμένες Άκρες
- Tab titles mode
- Carousel effect
- Dominant color
- Full screen εφαρμογή
- Τίτλοι καρτελών
- Αυτόματη αναπαραγωγή
- Shuffle mode
- Πίνακας Ελέγχου Έντασης
- Πληροφορίες Χρήστη
- Κύριο χρώμα
- Το βασικό χρώμα του θέματος, η προεπιλογή είναι το άσπρο.
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Ουρά
- Βαθμολόγησε την εφαρμογή
- Σας αρέσει αυτό το app; Γράψτε μας τις εντυπώσεις σας στο Google Play για να σας παρέχουμε μια καλύτερη εμπειρία
- Recent albums
- Recent artists
- Αφαίρεση
- Remove banner photo
- Αφαίρεση Εξώφυλλου
- Αφαίρεση από τη blacklist
- Remove profile photo
- Αφαίρεσε το κομμάτι από την playlist
- %1$s από τη playlist?]]>
- Αφαίρεσε τα κομμάτια από την playlist
- %1$d κομματιών από τη playlist?]]>
- Μετονόμασε την playlist
- Report an issue
- Report bug
- Reset
- Επαναφορά εικόνας καλλιτέχνη
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Επαναφορά προηγούμενων αγορών επιτυχής.
- Restoring purchase…
- Retro Ισοσταθμιστής
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Αποθήκευσε ως αρχείο
- Save as files
- Η Playlist αποθηκεύτηκε στο %s.
- Αποθηκευόνται οι αλλαγές...
- Scan media
- Σαρώθηκαν %1$d από %2$d αρχεία.
- Scrobbles
- Αναζήτηση της βιβλιοθήκης σας...
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Ορισμός εικόνας καλλιτέχνη
- Set a profile photo
- Share app
- Share to Stories
- Τυχαία Αναπαραγωγή
- Απλό
- Χρονοδιακόπτης ύπνου ακυρώθηκε.
- Ο χρονοδιακόπτης ύπνου ορίστικε για %d λεπτά από τώρα.
- Slide
- Small album
- Social
- Share story
- Κομμάτι
- Διάρκεια κομματιού
- Κομμάτια
- Σειρά Διάταξης
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Ουπς! Η συσκευή σου δεν υποστηρίζει εισαγωγή φωνής
- Αναζητήστε στην Βιβλιοθήκη
- Stack
- Start playing music.
- Suggestions
- Δείξτε το όνομά σας στην οθόνη κλειδώματος
- Υποστήριξη ανάπτυξης της εφαρμογής
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Σας ευχαριστούμε!
- Το αρχείο ήχου
- Αυτό το μήνα
- Αυτή την εβδομάδα
- Αυτό το χρόνο
- Tiny
- Title
- Ταμπλό
- Καλό Μεσημέρι
- Καλημέρα
- Καλό Απόγευμα
- Καλημέρα
- Καληνύχτα
- Ποιό είναι το όνομά σας;
- Σήμερα
- Top albums
- Top artists
- "Κομμάτι (2 για κομμάτι 2, ή 3004 για CD3 κομμάτι 4)"
- Αριθμός Κομματιού
- Μετάφραση
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- \u0394\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03ad\u03c3\u03b1\u03bc\u03b5 \u03bd\u03b1 \u03c0\u03b1\u03af\u03be\u03bf\u03c5\u03bc\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ba\u03bf\u03bc\u03bc\u03ac\u03c4\u03b9.
- Αμέσως επόμενο
- Ενημέρωση εικόνας
- Ενημέρωση σε εξέλιξη...
- Username
- Έκδοση
- Vertical flip
- Virtualizer
- Volume
- Αναζήτηση στον ιστό
- Welcome,
- Τι θα θέλατε να μοιραστείτε;
- What\'s New
- Window
- Rounded corners
- Ορισμός %1$s ως ήχου κλήσης.
- %1$d έχει επιλεγεί
- Χρονιά
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-en-rUS/strings.xml b/app/src/main/res/master/values-en-rUS/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-en-rUS/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-es-rES/strings.xml b/app/src/main/res/master/values-es-rES/strings.xml
deleted file mode 100644
index 0fa279873..000000000
--- a/app/src/main/res/master/values-es-rES/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Equipo, enlaces sociales
- Color de énfasis
- El color de énfasis del tema, es morado por defecto
- Acerca de Retro Music Player
- Añadir a favoritos
- Añadir a la cola de reproducción
- Añadir a la lista de reproducción
- Vaciar cola de reproducción
- Limpiar lista de reproducción
- Modo de repetición
- Eliminar
- Eliminar del dispositivo
- Detalles
- Ir al álbum
- Ir al artista
- Ir al género
- Ir al directorio de inicio
- Permitir
- Tamaño de la cuadricula
- Tamaño de cuadrícula (horizontal)
- Nueva lista de reproducción
- Siguiente
- Reproducir
- Reproducir todo
- Reproducir siguiente
- Reproducir/Pausar
- Anterior
- Eliminar de favoritos
- Eliminar de la cola de reproducción
- Eliminar de la lista de reproducción
- Renombrar
- Guardar lista de reproducción
- Escanear
- Buscar
- Iniciar
- Establecer como tono de llamada
- Establecer como directorio de inicio
- "Ajustes"
- Compartir
- Mezclar todo
- Mezclar lista de reproducción
- Temporizador de apagado
- Ordenar por
- Editor de etiquetas
- Alternar favoritos
- Alternar el modo aleatorio
- Adaptativo
- Agregar
- Añadir letra
- Agregar foto
- "Agregar a lista de reproducción"
- Añadir retardo para letras
- "Se ha agregado 1 canción a la cola de reproducción"
- %1$d canciones agregadas a la cola de reproducción
- Álbum
- Artista del álbum
- El titulo o artista está vacío
- Álbumes
- Siempre
- Ve este cool reproductor de música en: https://play.google.com/store/apps/details?id=%s
- Aleatorio
- Canciones más reproducidas
- Grande
- Tarjeta
- Clásico
- Pequeño
- Texto
- Artista
- Artistas
- Enfoque de audio denegado
- Modifica los ajustes de sonido y ajusta los controles del ecualizador
- Automático
- Color base del tema
- Refuerzo de graves
- Biografía
- Biografía
- Negro
- Lista Negra
- Desenfoque
- Tarjeta con desenfoque
- Enviando el reporte a GitHub...
- Token de acceso inválido. Por favor, contacta con el desarrollador de la aplicación
- El problema no esta habilitado para el repositorio seleccionado. Por favor, contacta col el desarrollador de la app.
- Se ha producido un error inesperado. Por favor, contacta con el desarrollador de la aplicación
- Usuario o contraseña incorrectos
- Problema
- Enviar manualmente
- Por favor, describe el problema
- Por favor, introduce tu contraseña de GitHub
- Por favor, introduce un título para el problema
- Por favor, introduce tu nombre de usuario de GitHub
- Ocurrió un error inesperado. Lamento que hayas encontrado este error, si sigue fallando \"Borra los datos de la aplicación\"
- Subiendo reporte a GitHub...
- Enviar usando la cuenta de Github
- Comprar ahora
- Cancelar
- Tarjeta
- Circular
- Tarjeta Coloreada
- Tarjeta
- Carrusel
- Efecto carrusel en la pantalla de reproducción
- En cascada
- Transmitir
- Registro de cambios
- Registro de cambios disponible en el canal de Telegram
- Círculo
- Circular
- Clásico
- Limpiar
- Borrar datos de la aplicación
- Limpiar lista negra
- Limpiar la cola
- Vaciar lista de reproducción
- %1$s? Esto no se puede deshacer!]]>
- Cerrar
- Color
- Color
- Colores
- Compositor
- Información del dispositivo copiada al portapapeles
- No se pudo crear la lista de reproducción.
- "No se pudo descargar una portada de álbum coincidente."
- No se pudo restaurar la compra.
- No se pudieron escanear %d archivos
- Crear
- Lista de reproducción %1$s creada
- Miembros y colaboradores
- Actualmente estás escuchando %1$s de %2$s.
- Un poco oscuro
- No hay letras
- Eliminar lista de reproducción
- %1$s?]]>
- Eliminar listas de reproducción
- Eliminar canción
- %1$s?]]>
- Eliminar canciones
- %1$d listas de reproducción?]]>
- %1$d canciones?]]>
- %1$d canciones eliminadas.
- Eliminando canciones
- Profundidad
- Descripción
- Información del dispositivo
- Permitir a Retro Music modificar los ajustes de audio
- Establecer como tono
- ¿Deseas limpiar la lista negra?
- %1$s de la lista negra?]]>
- Donar
- Si crees que merezco que me paguen por mi trabajo, puedes dejar algo de dinero aquí
- Cómprame:
- Descargar de Last.fm
- Modo de conducir
- Editar
- Editar portada
- Vacio
- Ecualizador
- Error
- Preguntas más frecuentes
- Favoritos
- Termina la última canción
- Ajustado
- Plano
- Carpetas
- Seguir al sistema
- Para ti
- Gratuito
- Completo
- Tarjeta completa
- Cambiar el tema y colores de la aplicación
- Aspecto y la sensación
- Género
- Géneros
- Haz Fork del proyecto en GitHub
- Únase a la comunidad de Google Plus donde puede pedir ayuda o seguir las actualizaciones Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Cuadricula y estilo
- Giro
- Historial
- Inicio
- Giro horizontal
- Imagen
- Imagen de degradado
- Cambiar la configuración de descarga de imágenes del artista
- %1$d canciones agregadas a la lista de reproducción %2$s.
- Comparte tu configuración de Retro Music para exhibirlo en Instagram
- Teclado
- Velocidad de bits
- Formato
- Nombre del archivo
- Ruta del archivo
- Tamaño
- Más desde %s
- Frecuencia de muestreo
- Duración
- Etiquetado
- Añadidos recientemente
- Última canción
- Vamos a tocar un poco de música
- Biblioteca
- Categorías biblioteca
- Licencias
- Blanco claro
- Escuchadores
- Listando archivos
- Cargando productos...
- Iniciar Sección
- Letras
- Hecho con ❤️ en India
- Material
- Error
- Error de permisos
- Nombre
- Más reproducidas
- Nunca
- Nueva foto del banner
- Nueva lista
- Nueva foto de perfil
- %s es el nuevo directorio de inicio
- Próxima canción
- No hay Álbumes
- No hay Artistas
- "Primero reproduce una canción, luego intenta de nuevo."
- No se encontró ecualizador
- No hay Géneros
- No se encontró letra
- No hay canciones tocando
- No hay Listas de Reproducción
- No se encontraron compras.
- Sin resultados
- No hay Canciones
- Normal
- Letras normales
- Normal
- %s no aparece en la lista de medios.]]>
- Nada para escanear.
- Nada para escanear
- Notificaciones
- Personaliza el estilo de la notificación
- Reproduciendo ahora
- Cola de reproducción actual
- Personalizar la ventana de reproducción
- Más de 9 temas para la ventana de reproducción
- Solo con Wi-Fi
- Funciones avanzadas experimentales
- Otro
- Contraseña
- Más de 3 meses
- Pegar letra aquí
- Peak
- Permiso de acceso al almacenamiento externo denegado.
- Permiso denegado.
- Personalizar
- Personalizar la ventana de reproducción y los controles de la interfaz
- Elegir del almacenamiento local
- Escoger imagen
- Pinterest
- Síguenos en Pinterest para inspirarte en el diseño de Retro Music.
- Simple
- La notificación de reproducción proporciona acciones para reproducir/pausar, etc.
- Notificación de reproducción
- Lista de reproducción vacía
- La lista de reproducción está vacía
- Nombre de la lista
- Listas de reproducción
- Estilo del detalle del Album
- Cantidad de desenfoque aplicado a los temas desenfocados, más bajo es más rápido
- Cantidad de desenfoque
- Ajustar las esquinas del cuadro de diálogo de hoja inferior
- Esquina de diálogo
- Filtrar canciones por longitud
- Filtro por duración de la canción
- Avanzado
- Estilo del álbum
- Audio
- Lista Negra
- Controles
- Tema
- Imágenes
- Biblioteca
- Pantalla de bloqueo
- Listas de reproducción
- Pausar la reproducción cuando se esta en silencio y reproducir cuando se aumenta el volumen. ¡Cuidado! Cuando se aumenta el volumen se empezara la reproducción aunque se este fuera de la app.
- Pausar en cero
- Tenga en cuenta que habilitar esta función puede afectar la duración de la batería
- Mantener la pantalla encendida
- Click para abrir con o sin navegación transparente de la pantalla de reproducción actual
- Toca o desliza
- Efecto de nevada
- Usar la portada del álbum de la canción en reproducción como fondo de la pantalla de bloqueo
- Bajar el volumen cuando se reproduzca un sonido del sistema o se reciba una notificación
- Las carpetas en la lista negra, serán ocultado de tu librería.
- Comienza a reproducir tan pronto como esté conectado al dispositivo bluetooth
- Desenfocar la portada el álbum en la pantalla de bloqueo. Puede causar problemas con aplicaciones y widgets de terceros
- Efecto carrusel para la portada del álbum en la ventana de reproducción. En los temas \"Tarjeta\" y \"Tarjeta Desenfocada\" no funcionará
- Usar el diseño de notificación clásico
- El color del fondo y los botones de control cambian de acuerdo a la portada del álbum para la ventana de reproducción
- Colorea los accesos directos de la aplicación en el color de énfasis. Cada vez que cambie el color, active esta opción
- Colorea la barra de navegación con el color principal
- "Colorea la notificaci\u00f3n con el color vibrante de la portada del \u00e1lbum"
- Según las líneas de la guía Material Design en los colores del modo oscuro deben ser desaturados
- Se tomará el color dominante de la portada del álbum o imagen del artista
- Añadir controles extra al mini reproductor
- Mostrar información extra de canciones, como el formato de archivo, bitrate y frecuencia
- "Puede causar problemas de reproducción en algunos dispositivos"
- Mostrar/Ocultar pestaña de géneros
- Mostrar/Ocultar banner en inicio
- Puede aumentar la calidad de la portada del álbum, pero provoca tiempos de carga de imágenes más lentos. Solo habilite esto si tiene problemas con portadas de baja resolución
- Configure la visibilidad y el orden de las categorías de la biblioteca.
- Usar los controles personalizados de Retro Music en la pantalla de bloqueo
- Detalles de licencia para software de código abierto
- Redondear las esquinas de la aplicación
- Mostrar/Ocultar nombres de las pestañas de navegación
- Modo inmersivo
- Comenzar a reproducir inmediatamente se conecten audífonos
- El modo aleatorio se desactivará cuando se reproduzca una nueva lista de canciones
- Mostrar controles de volumen si hay suficiente espacio disponible.
- Mostrar/Ocultar portada del álbum
- Tema de la portada del álbum
- Estilo de portada del álbum en reproducción
- Cuadricula del álbum
- Accesos directos de la aplicación coloreados
- Cuadricula de los artistas
- Reducir el volumen en pérdida de enfoque
- Descarga automática de imágenes de artistas
- Lista Negra
- Reproducción por Bluetooth
- Desenfocar portada del álbum
- Elegir ecualizador
- Diseño de notificación clásico
- Color adaptativo
- Notificación coloreada
- Color Desaturado
- Controles extra
- Información de la canción
- Reproducción sin pausas
- Tema de la aplicación
- Mostrar pestaña de géneros
- Cuadricula de los artistas en inicio
- Banner de inicio
- Ignorar las portadas de la biblioteca de medios
- Intervalo de la lista \"Añadidos Recientemente\"
- Controles en pantalla completa
- Barra de navegación coloreada
- Tema de la ventana de reproducción
- Licencias de código abierto
- Bordes de las esquinas
- Forma de los títulos de las pestañas
- Efecto carrusel
- Color dominante
- Aplicación en pantalla completa
- Títulos de las pestañas
- Reproducir automáticamente
- Aleatorio
- Controles de volumen
- Información de usuario
- Color principal
- El color principal del tema, por defecto es gris azulado, por ahora funciona con colores oscuros
- Pro
- Temas en reproducción, efecto Carrusel, tema de color y más ...
- Perfil
- Comprar
- *Piense antes de comprar, no pida un reembolso.
- Cola
- Califica la aplicación
- ¿Te encanta la aplicación? Haznos saber en Google Play Store cómo podemos hacerla aún mejor
- Álbumes recientes
- Artistas recientes
- Eliminar
- Eliminar foto del banner
- Eliminar portada
- Eliminar de la lista negra
- Eliminar foto de perfil
- Eliminar canción de la lista
- %1$s de la lista?]]>
- Eliminar canciones de la lista
- %1$d canciones de la lista?]]>
- Renombrar lista
- Reporta un problema
- Reportar un error
- Restablecer
- Reiniciar imagen del artista
- Restaurar
- Compra anterior restaurada. Por favor, reinicie la aplicación para hacer uso de todas las funciones.
- Compras anteriores restauradas.
- Restaurando compra...
- Ecualizador de Reto Music
- Reproductor de Música Retro
- Retro Music Pro
- La eliminación del archivo falló
-
- No se puede obtener SAF URI
- Abrir panel de navegación
- Activar \"Mostrar tarjeta SD\" en el menú
-
- %s necesita acceder a la tarjeta SD
- Debes seleccionar el directorio raíz de tu tarjeta SD
- Selecciona tu tarjeta SD en el cajón de navegación
- No abra ninguna sub-carpeta
- Toca el botón \'seleccionar\' en la parte inferior de la pantalla
- Error al escribir: %s
- Guardar
-
-
- Guardar como archivo
- Guardar como archivos
- Guardar lista de reproducción a %s
- Guardando cambios
- Escanear medios
- %1$d de %2$d archivos escaneados.
- Scrobbles
- Busca en tu biblioteca...
- Seleccionar todos
- Seleccionar foto del banner
- Seleccionado
- Enviar registro de depuración
- Establecer
- Establecer imagen del artista
- Establecer imagen de perfil
- Compartir app
- Compartir en historias
- Aleatorio
- Sencillo
- Temporizador cancelado.
- Temporizador de apagado establecido para %d minutos desde ahora.
- Presentación
- Español
- Social
- Compartir historia
- Canción
- Duración de la canción
- Canciones
- Ordenar por
- Ascendente
- Álbum
- Artista
- Compositor
- Fecha
- Fecha de modificación
- Año
- Descendente
- ¡Lo siento! Su dispositivo no es compatible con la entrada de voz
- Busca en tu biblioteca
- Apilado
- Comenzar a reproducir música.
- Recomendaciones
- Muestra tu nombre en la pantalla de inicio
- Apoya el desarrollo
- Desbloquear
- Letras sincronizadas
- Ecualizador del Sistema
-
- Telegram
- Únete al grupo de Telegram para discutir los errores, hacer sugerencias, presumir y más
- ¡Gracias!
- El archivo de audio
- Este mes
- Esta semana
- Este año
- Pequeño
- Titulo
- Tablero
- ¡Buenas Tardes!
- ¡Buen Día!
- ¡Buenas Tardes!
- ¡Buenos días!
- Buenas noches
- ¿Cómo te llamas?
- Hoy
- Álbumes mas reproducidos
- Artistas más reproducidos
- "Pista (2 para pista 2 o 3004 para CD3 pista 4)"
- Número de pista
- Traducir
- Ayúdanos a traducir la aplicación a tu lenguaje
- Twitter
- Comparte tu diseño con Retro Music
- Sin etiqueta
- No se pudo reproducir esta canci\u00f3n
- A continuación
- Actualizar imagen
- Actualizando...
- Nombre de usuario
- Versión
- giro vertical
- Virtualizador
- Volumen
- Búsqueda web
- Bienvenido,
- ¿Qué quieres compartir?
- Lo Nuevo
- Ventana
- Esquinas redondeadas
- %1$s establecido como tono de llamada.
- %1$d seleccionados
- Año
- Tienes que seleccionar al menos una categoría
- Sera redirigido al sitio web para reportar problemas.
- Los datos de tu cuenta sólo se utilizan para la autenticación
- Cantidad
- Nota (Opcional)
- Iniciar pago
- Mostrar en pantalla de reproducción
- Al hacer clic en la notificación se mostrará la pantalla de reproducción en lugar de la pantalla de inicio
- Tiny card
-
diff --git a/app/src/main/res/master/values-eu-rES/strings.xml b/app/src/main/res/master/values-eu-rES/strings.xml
deleted file mode 100644
index eecacba57..000000000
--- a/app/src/main/res/master/values-eu-rES/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Azentu kolorea
- Gaiaren azentu kolorea. Lehenetsia: teal
- Honi buruz
- Gogokoetara gehitu
- Ilaran gehitu
- Erreprodukzio zerrendan gehitu
- Erreprodukzio ilara garbitu
- Erreprodukzio zerrenda garbitu
- Cycle repeat mode
- Ezabatu
- Gailutik ezabatu
- Xehetasunak
- Albumera joan
- Artistara joan
- Generora joan
- Hasierako direktoriora joan
- Onartu
- Sareta tamaina
- Sareta tamaina (paisaia)
- New playlist
- Hurrengoa
- Erreproduzitu
- Play all
- Hurrengoa erreproduzitu
- Erreproduzitu/Pausatu
- Aurrekoa
- Kendu gogokoetatik
- Erreprodukzio ilaratik kendu
- Erreprodukzio zerrendatik kendu
- Berrizendatu
- Erreprodukzio ilara gorde
- Eskaneatu
- Bilatu
- Hasi
- Dei-tonu bezala ezarri
- Hasierako direktorio bezala ezarri
- "Ezarpenak"
- Partekatu
- Nahastu guztiak
- Nahastu erreprodukzio zerrenda
- Lo tenporizadorea
- Ordenatze irizpidea
- Etiketa editorea
- Toggle favorite
- Toggle shuffle mode
- Moldagarria
- Gehitu
- Add lyrics
- Argazkia\ngehitu
- "Erreprodukzio zerrendan gehitu"
- Add time frame lyrics
- "Abestia erreprodukzio ilaran gehitu da"
- %1$d abesti erreproduzkio ilaran gehitu dira
- Albuma
- Albumeko artista
- Izenburua edo artista hutsik dago
- Albumak
- Beti
- Begiratu musika erreproduzitzaile hau: https://play.google.com/store/apps/details?id=%s
- Nahastu
- Pista onenak
- Handia
- Txartela
- Klasikoa
- Txikia
- Testua
- Artista
- Artistak
- Audio fokatzea ukatua
- Aldatu soinu ezarpenak eta doitu nahasgailuaren kontrolak
- Automatikoa
- Oinarrizko kolore gaia
- Baxu Bultzada
- Биография
- Biografia
- Beltza bakarrik
- Zerrenda beltza
- Lausotzea
- Txartel lausotua
- Ezin izan da txostena bidali
- Okerreko sarrera fitxa. Mesedez aplikazioaren garatzailearekin harremanetan jarri
- Arazoak ez daude gaituta aukeratutako biltegian. Mesedez aplikazioaren garatzailearekin harremanetan jarri
- Ustekabeko akats bat gertatu da. Mesedez aplikazioaren garatzailearekin harremanetan jarri
- Okerreko erabiltzaile izena edo pasahitza
- Arazoa
- Eskuz bidali
- Mesedez sartu arazoaren azalpen bat
- Mesedez sartu zure baliozko GitHub-eko pasahitza
- Mesedez sartu arazoaren titulu bat
- Mesedez sartu zure baliozko GitHub-eko erabiltzaile izena
- Ustekabeko akats bat gertatu da. Sentitzen dugu akats hau aurkitu izana, huts egiten jarraitzen batu \"Garbitu aplikazioaren datuak\"
- Txostena GitHub-era igotzen...
- GitHub kontua erabiliz bidali
- Buy now
- Ezeztatu
- Txartela
- Zirkularra
- Txartel koloreztatua
- Txartela
- Karrusela
- Karrusel efektua orain erreproduzitzen pantailan
- Ur jauzi moduan
- Igorri
- Aldaketa zerrenda
- Aldaketa zerrenda Telegrameko kanalean mantentzen da
- Circle
- Zirkularra
- Classic
- Garbitu
- Garbitu aplikazioaren datuak
- Zerrenda beltza garbitu
- Ilara garbitu
- Erreprodukzio zerrenda garbitu
- %1$s erreprodukzio zerrenda garbitu? Hau ezin da desegin!]]>
- Itxi
- Kolorea
- Kolorea
- Koloreak
- Composer
- Gailuaren informazioa arbelean kopiatuta
- Ezin izan da erreprodukzio zerrenda sortu
- "Ezin izan da bat datorren albumaren azalik deskargatu"
- Ezin izan da erosketa leheneratu
- Ezin izan dira %d fitxategiak eskaneatu
- Sortu
- %1$s erreprodukzio zerrenda sortua
- Kideak eta laguntzaileak
- %2$s-(r)en %1$s entzuten ari zara
- Nahiko iluna
- Letrarik ez
- Erreprodukzio zerrenda ezabatu
- %1$s erreprodukzio zerrenda ezabatu?]]>
- Erreprodukzio zerrendak ezabatu
- Delete song
- %1$s abestia ezabatu?]]>
- Delete songs
- %1$d erreprodukzio zerrenda ezabatu?]]>
- %1$d abesti ezabatu?]]>
- %1$d abesti ezabatu dira
- Deleting songs
- Sakonera
- Azalpena
- Gailuaren informazioa
- Allow Retro Music to modify audio settings
- Set ringtone
- Zerrenda beltza garbitu nahi duzu?
- %1$s zerrenda beltzetik ezabatu nahi duzu?]]>
- Lagundu diruz
- Nire lanagatik ordaindua izan behar dudala pentsatzen baduzu, diru apur bat utzi dezakezu hemen
- Erosidazu:
- Deskargatu Last.fm-tik
- Drive mode
- Edit
- Azala editatu
- Hutsik
- Nahasgailua
- Akatsa
- Ohiko galderak
- Gogokoak
- Finish last song
- Egokitu
- Laua
- Karpetak
- Follow system
- Zuretzako
- Free
- Beteta
- Txartel betea
- Aldatu applikazioaren gai eta koloreak
- Itxura
- Generoa
- Generoak
- GitHub-en proiektua zatitu
- Batu Google Plus-eko komunitatea laguntza eskatzeko edo Retro Music-en eguneraketak jarraitzeko
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Bisagra
- Historiala
- Hasiera
- Iraulketa horizontala
- Irudia
- Gradient image
- Aldatu artisten irudien deskarga ezarpenak
- %1$d abesti gehitu dira %2$s erreprodukzio zerrendan
- Partekatu zure Retro Music-en konfigurazioa Instagram-en
- Keyboard
- Bit-tasa
- Formatua
- Fitxategiaren izena
- Fitxategiaren kokalekua
- Tamaina
- More from %s
- Laginketa tasa
- Luzera
- Etiketaduna
- Gehitutako azkenak
- Last song
- Musika erreproduzitu dezagun
- Liburutegia
- Library categories
- Lizentziak
- Zuria jakina
- Listeners
- Fitxategien zerrenda
- Produktuak kargatzen...
- Saioa hasi
- Letrak
- ❤️-z Indian egina
- Материален
- Error
- Permission error
- Nire izena
- Gehien erreproduzituak
- Inoiz ez
- Banner argazki berria
- Erreprodukzio zerrenda berria
- Profileko argazki berria
- %s da hasierako direktorio berria
- Next Song
- Albumik ez
- Artistarik ez
- "Lehenik erreproduzitu abesti bat, saiatu berriro ondoren"
- Nahasgailurik ez da aurkitu
- Generorik ez
- Ez da letrarik aurkitu
- No songs playing
- Erreprodukzio zerrendarik ez
- Ez da erosketarik aurkitu
- Emaitzarik ez
- Abestirik ez
- Normala
- Letra normalak
- Normala
- %s ez dator dendan zerrendatua]]>
- Eskaneatzekorik ez
- Nothing to see
- Jakinarazpena
- Jakinarazpen estiloa pertsonalizatu
- Orain erreproduzitzen
- Erreprodukzio ilara
- Pertsonalizatu orain erreproduzitzen pantaila
- 9+ orain erreproduzitzen gai
- Wi-Fi-arekin bakarrik
- Advanced testing features
- Bestelako
- Pasahitza
- Azken 3 hilabeteak
- Paste lyrics here
- Peak
- Kanpoko biltegiratzera sarbidea ukatua
- Baimenak ukatuak izan dira
- Pertsonalizatu
- Pertsonalizatu zure orain erreproduzitzen eta UI kontrolak
- Tokiko biltegitik hautatu
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Arrunta
- Erreproduzitzen jakinarazpenak erreproduzitu/pausatu etab. ekintzak eskaintzen ditu
- Erreproduzitzen jakinarazpena
- Erreprodukzio zerrenda hutsa
- Erreprodukzio zerrenda hutsik dago
- Erreprodukzio zerrendaren izena
- Erreprodukzio zerrendak
- Albumaren xehetasunen estiloa
- Gai lausoetan ezarritako lausotze maila, baxuagoa azkarragoa da
- Lausotze maila
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audioa
- Blacklist
- Controls
- Gaia
- Irudiak
- Library
- Blokeo-pantaila
- Erreprodukzio zerrendak
- Pausaru zeroan eta erreproduzitu bolumena igotzean. Adi, bolumena igotzean aplikaziotik kanpo egonik ere erreproduzituko da
- Pausatu zeroan
- Gogoan izan eginbide hau aktibatzeak eragina izan dezakeela bateriaren iraupenean
- Mantendu pantaila pizturik
- Orain erreproduzitzen pantailaren nabigazio gardena irekitzeko klikatu, irristatu gardentasunik gabeko nabigaziorako
- Klikatu edo irristatu
- Elur efektua
- Erabili erreproduzitzen ari den abestiaren azala blokeo-pantailako horma-paper gisa
- Jaitsi bolumena sistemaren soinuren batek jotzean edo jakinarazpen bat jasotzean
- Zerrenda beltzean jarritako edukiak zure liburutegitik ezkutatuko dira
- Start playing as soon as connected to bluetooth device
- Lausotu albumaren azala blokeo-pantailan. Arazoak sor ditzazke hirugarrenen aplikazio edota widgetekin
- Karrusel efektua erreprodukzio pantailako album azalerako. Kontuan izan Txartela eta Txartel lausotua gaiek ez dutela funtzionatuko
- Erabili jakinarazpenen diseinu klasikoa
- Orain erreproduzitzen pantailan atzealdeko eta kontrol botoien koloreak album azalaren arabera aldatuko dira
- Aplikazioaren lasterbideak azentu kolorean ezartzen ditu. Kolorea aldatzen duzun bakoitzean hau birraktibatu aldaketak aplikatzeko
- Nabigazio barra kolore nagusian koloreztatu
- "Jakinarazpena albumaren azalaren kolore nagusian ezarri"
- As per Material Design guide lines in dark mode colors should be desaturated
- Albumaren edo artistaren azaletik kolore menderatzailea hartuko da
- Gehitu kontrol gehigarriak erreproduzitzaile txikirako
- Show extra Song information, such as file format, bitrate and frequency
- "Erreprodukzio arazoak sor ditzake gailu batzuetan"
- Txandakatu genero fitxa
- Txandakatu hasierako banner estiloa
- Album azalaren kalitatea hobetu dezake, baina irudien kargatze-denbora moteltzen du. Soilik bereizmen baxuko azalekin arazoa baduzu aktibatu
- Configure visibility and order of library categories.
- Retro Music-en pantaila-blokeoko kontrolak erabili
- Software librerako lizentziaren xehetasunak
- Biribildu aplikazioaren ertzak
- Aktibatu beheko nabigazio fitxetarako tituluak
- Murgiltze modua
- Hasi erreproduzitzen entzungailuak konektatzeaz bat
- Nahasketa modua desaktibatuko da abesti zerrenda berria erreproduzitzean
- Lekua egonik, erakutsi bolumenaren kontrolak orain erreproduzitzen pantailan
- Erakutsi albumaren azala
- Album azalaren gaia
- Albumaren azala saltatu
- Album sareta
- Koloreztaturiko aplikazio lasterbideak
- Artista sareta
- Jaitsi bolumena foku galeran
- Deskargatu artisten irudiak automatikoki
- Zerrenda beltza
- Bluetooth playback
- Lausotu albumaren azala
- Hautatu nahasgailua
- Jakinarazpenen diseinu klasikoa
- Kolore moldagarria
- Jakinarazpen koloreztatua
- Desaturated color
- Kontrol gehigarriak
- Song info
- Tarterik gabeko erreprodukzioa
- Aplikazioaren gaia
- Erakutsi genero fitxa
- Hasierako artista sareta
- Hasierako bannerra
- Media dendako azalei ez ikusi egin
- Gahitutako azkenen erreprodukzio zerrendaren tartea
- Pantaila osoko kontrolak
- Nabigazio barra koloreztatua
- Orain erreproduzitzen gaia
- Software libre lizentziak
- Izkinako ertzak
- Fitxen titulu modua
- Karrusel efektua
- Kolore menderatzailea
- Pantaila osoko aplikazioa
- Fitxen tituluak
- Erreprodukzio automatikoa
- Nahastu modua
- Bolumen kontrolak
- Erabiltzaileari buruz
- Kolore nagusia
- Gaiaren kolore nagusiak, lehentsia urdin-grisa, kolore ilunekin funtzionatzen du oraingoz
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profila
- Erosi
- *Pentsatu erosi aurretik, ez eskatu itzulketarik
- Ilara
- Baloratu aplikazioa
- Aplikazioa gustatzen zaizu? Esan iezaguzu Google Play Store-n nola hobetu dezakegun
- Azken albumak
- Azken artistak
- Kendu
- Banner argazkia kendu
- Azala kendu
- Zerrenda beltzetik kendu
- Profileko argazkia kendu
- Abestia erreprodukzio zerrendatik kendu
- %1$s abestia erreprodukzio zerrendatik kendu?]]>
- Abestiak erreprodukzio zerrendatik kendu
- %1$d abesti erreprodukzio zerrendatik kendu?]]>
- Erreprodukzio zerrenda berrizendatu
- Arazo baten berri eman
- Eman akatsen berri
- Reset
- Artistaren irudia berrezarri
- Leheneratu
- Aurreko erosketa leheneratua. Mesedez aplikazioa berrabiarazi ezaugarri guztiak erabiltzeko
- Aurreko erosketa leheneratua
- Erosketa leheneratzen...
- Retro Music Nahasgailua
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Gorde fitxategi gisa
- Gorde fitxategi gisa
- Erreprodukzio zerrenda %s-n gorde da
- Aldaketak gordetzen
- Eskaneatu media
- %2$d-tik %1$d fitxategi eskaneatu dira
- Scrobbles
- Zure liburutegian bilatu...
- Hautatu guztiak
- Banner argazkia hautatu
- Hautatua
- Send crash log
- Set
- Artistaren irudia ezarri
- Set a profile photo
- Partekatu aplikazioa
- Share to Stories
- Nahastu
- Soila
- Lo tenporizadorea bertan behera utzi da
- Lo tenporizadorea %d minuturako ezarri da
- Slide
- Album txikia
- Soziala
- Share story
- Abestia
- Abestiaren iraupena
- Abestiak
- Ordenatze irizpidea
- Gorakorra
- Albuma
- Artista
- Composer
- Data
- Date modified
- Urtea
- Beherakorra
- Sentitzen dugu! Zure gailuak ez du ahots bidezko idazketa onartzen
- Zure liburutegian bilatu
- Stack
- Start playing music.
- Iradokizunak
- Zure izena bakarrik erakutsi hasiera pantailan
- Onartutako garapena
- Swipe to unlock
- Letra sinkronizatuak
- Sistemako nahasgailua
-
- Telegram
- Batu Telegram-eko kanala akatsak, iradokizunak etab. kontatzeko
- Eskerrik asko!
- Audio fitxategia
- Hilabete hau
- Aste hau
- Urte hau
- Ñimiñoa
- Titulua
- Arbela
- Arratsalde on
- Egun on
- Arratsalde on
- Egun on
- Gabon
- Zein da zure izena
- Gaur
- Album onenak
- Artista onenak
- "Pista (2, 2. pistarako edo 3004 3. CDko 4. pistarako)"
- Pista zenbakia
- Itzuli
- Lagun iezaguzu aplikazioa zure hizkuntzara itzultzen
- Twitter
- Partekatu zure Retro Music-en diseinua
- Etiketa gabe
- Ezin izan da abestia erreproduzitu
- Jarraian
- Irudia eguneratu
- Eguneratzen...
- Erabiltzaile izena
- Bertsioa
- Iraulketa bertikala
- Birtualizatzailea
- Volume
- Web bilaketa
- Welcome,
- Zer partekatu nahi duzu?
- Zer berri
- Leihoa
- Ertz biribilduak
- Ezarri %1$s dei-tonu gisa
- %1$d hautaturik
- Urtea
- You have to select at least one category.
- Arazo bilatzaile webgunera birbidalia izango zara
- Zure kontuaren datuak autentifikaziorako soilik erabiliko dira
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-fa-rIR/strings.xml b/app/src/main/res/master/values-fa-rIR/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-fa-rIR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-fi-rFI/strings.xml b/app/src/main/res/master/values-fi-rFI/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-fi-rFI/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-fr-rFR/strings.xml b/app/src/main/res/master/values-fr-rFR/strings.xml
deleted file mode 100644
index 3a6dbae92..000000000
--- a/app/src/main/res/master/values-fr-rFR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Équipe, liens sociaux
- Couleur d\'accentuation
- Couleur d\'accentuation du thème, violette par défaut
- À propos de
- Ajouter aux favoris
- Ajouter à la file d\'attente
- Ajouter à la playlist
- Vider la file d\'attente
- Vider la playlist
- Mode de répétition du cycle
- Supprimer
- Supprimer de l\'appareil
- Détails
- Aller à l\'album
- Aller à l\'artiste
- Aller au genre
- Aller au dossier de départ
- Accorder
- Taille de la grille
- Taille de la grille (paysage)
- Nouvelle liste de lecture
- Suivant
- Lecture
- Jouer tout
- Jouer le suivant
- Lecture / Pause
- Précédent
- Supprimer des favoris
- Supprimer de la file d\'attente
- Supprimer de la liste de lecture
- Renommer
- Enregistrer la file d\'attente
- Scanner
- Rechercher
- Démarrer
- Définir en tant que sonnerie
- Définir comme dossier de départ
- "Paramètres"
- Partager
- Tout aléatoire
- Lancer en aléatoire
- Minuteur
- Trier par
- Éditeur de tag
- Activer les favoris
- Jouer en aléatoire
- Adaptatif
- Ajouter
- Ajouter des paroles
- Ajouter une photo
- "Ajouter à la playlist"
- Ajouter des paroles synchronisées
- "1 titre ajouté à la file d’attente."
- %1$d titres ajoutés à la liste d’attente.
- Album
- Artiste de l’album
- Le titre ou l’artiste est vide.
- Albums
- Toujours
- Hey, jetez un coup d’œil à cet excellent lecteur de musique: https://play.google.com/store/apps/details?id=%s
- Aléatoire
- Pistes préférées
- Retro Music – Grand
- Retro Music – Carte
- Retro Music – Classique
- Retro Music – Petit
- Texte
- Artiste
- Artistes
- Focus audio refusé.
- Changer les paramètres audio et ajuster l\'égaliseur
- Automatique
- Couleur par défaut
- Renforcement des basses
- Biographie
- Biographie
- Juste noir
- Liste noire
- Flou
- Carte floue
- Impossible d\'envoyer le rapport de bug
- Jeton d\'accès invalide. Veuillez contacter le développeur de l\'application.
- Les problèmes ne sont pas activés pour le dépôt sélectionné. Veuillez contacter le développeur de l\'application.
- Erreur inattendue. Veuillez contacter le développeur de l’application.
- Nom d\'utilisateur ou mot de passe invalide
- Problème
- Envoyer manuellement
- Veuillez entrer une description du problème
- Veuillez entrer votre mot de passe GitHub valide
- Veuillez entrer un titre pour le problème
- Veuillez entrer votre nom d\'utilisateur GitHub valide
- Une erreur imprévue s\'est produite. Nous sommes désolé que vous ayez rencontré ce bug, si l\'application continue de planter, effacez les données de l\'application
- Envoi du rapport de bug sur GitHub...
- Envoyer en utilisant un compte GitHub
- Acheter maintenant
- Annuler
- Carte
- Circulaire
- Cartes colorées
- Carte
- Carousel
- Effet carousel sur l\'écran de lecture en cours
- En cascade
- Caster
- Liste des changements
- Liste des changements maintenu sur la canal Telegram
- Circle
- Circulaire
- Classique
- Effacer
- Effacer les données d\'application
- Effacer la liste noire
- Vider la file d\'attente
- Effacer la liste de lecture
- %1$s ? Cette action ne pourra pas \u00eatre annul\u00e9e !]]>
- Fermer
- Couleur
- Couleur
- Couleurs
- Compositeur
- Informations sur l\'appareil copiées dans le presse-papier.
- La liste de lecture n\'a pas pu \u00eatre cr\u00e9\u00e9e.
- "Impossible de t\u00e9l\u00e9charger une image d'album qui corresponde."
- Les achats n\'ont pas pu être restaurés.
- Les fichiers %d n\'ont pas pu être scanné.
- Créer
- Liste de lecture %1$s créée.
- Membres et contributeurs
- Vous écoutez actuellement %1$s par %2$s.
- Plutôt Sombre
- Pas de Paroles
- Supprimer la liste de lecture
- %1$s ?]]>
- Supprimer les listes de lecture
- Supprimer le morceau
- %1$s ?]]>
- Supprimer les morceaux
- %1$d ?]]>
- %1$d ?]]>
- %1$d à été supprimé.
- Suppression des morceaux
- Profondeur
- Libellé
- Infos sur l\'appareil
- Autoriser Retro Music à modifier les réglages audio
- Choisir la sonnerie
- Souhaitez vous vraiment vider la liste noire ?
- %1$s de la liste noire ?]]>
- Faire un don
- Si vous penser que je mériterais d’être payé pour mon travail, vous pouvez laisser de l’argent ici
- Achetez moi:
- Télécharger via Last.fm
- Mode conduite
- Modifier
- Modifier la couverture
- Vide
- Égaliseur
- Erreur
- Foire Aux Questions
- Favoris
- Finissez la dernière chanson
- Adapter
- Plat
- Dossiers
- Suivre le réglage système
- Pour vous
- Gratuit
- Plein
- Carte complète
- Changer le thème et les couleurs de l\'application
- Apparence
- Genre
- Genres
- Cloner le projet sur GitHub
- Rejoignez la communauté Google Plus, où vous pouvez demander de l\'aide ou suivre les mises à jour de Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Style de grille
- Charnière
- Historique
- Accueil
- Balayage horizontal
- Image
- Image et dégradé
- Changer les paramètres de téléchargement des photos d\'artistes
- %1$d morceaux ont été inséré dans la liste %2$s.
- Partager votre configuration de Retro Music pour la montrer sur Instagram
- Clavier
- Débit
- Format
- Nom du fichier
- Chemin de fichier
- Taille
- More from %s
- Taux d’échantillonnage
- Longueur
- Étiqueté
- Dernier ajout
- Dernière Chanson
- Jouons un peu de musique
- Bibliothèque
- Catégories
- Licences
- Clairement blanc
- Listeners
- Listage des fichiers
- Chargement des produits…
- Se connecter
- Paroles
- Fait avec ❤️ en Inde
- Material
- Erreur
- Erreur d\'autorisation
- Mon nom
- Plus jouées
- jamais
- Nouvelle bannière photo
- Nouvelle liste de lecture
- Nouvelle photo de profil
- %s est le nouveau dossier de départ.
- Prochaine Chanson
- Pas d\'albums
- Pas d\'artistes
- "Lancez d'abord un morceau, puis réessayez."
- Aucun égaliseur trouvé
- Aucun genre
- Aucune parole trouvée
- No songs playing
- Aucune liste de lecture
- Aucun achat trouvé
- Aucun résultat
- Aucun morceau
- Normal
- Paroles normales
- Normal
- %s n'est pas repertorié dans le stockage.]]>
- Rien à scanner.
- Rien à afficher
- Notification
- Personnaliser le style de notification
- En cours de lecture
- File d\'attente
- Personnaliser l\'écran de lecture
- 9+ thèmes d\'écran de lecture en cours
- Uniquement via Wi-Fi
- Fonctions de test avancées
- Autres
- Mot de passe
- Au cours des 3 derniers mois
- Coller les paroles ici
- Pic
- Permission d’accéder au stockage externe refusée.
- Permission refusée.
- Personnaliser
- Personnalisez le lecteur et l\'interface
- Sélectionner depuis le stockage
- Choisissez l\'image
- Pinterest
- Suivez la page Pinterest pour plus d’inspiration de design pour Retro Music
- Simple
- La notification de lecture fournit des actions pour la lecture / pause etc.
- Notification de lecture
- Liste de lecture vide
- Cette liste de lecture est vide
- Nom de la liste de lecture
- Listes de lecture
- Style du détail de l\'album
- Quantité de flou appliqué aux thèmes flous, le moins flou est le plus rapide
- Quantité de flou
- Ajuster les coins de la fenêtre de résumé
- Coin de la fenêtre de dialogue
- Filtrer les morceaux par longueur
- Filtre des morceaux par durée
- Avancé
- Style de l\'album
- Audio
- Liste noire
- Contrôles
- Thème
- Images
- Bibliothèque
- Écran de verrouillage
- Listes de lecture
- La lecture se met en pause à zéro et se lance lorsque le volume augmente. Attention, lorsque vous augmentez le volume, la musique se lance même si vous êtes en dehors de l\'app.
- Pause sur zéro
- Veuillez garder en tête que l\'activation de cette fonctionnalité peut réduire la durée de vie de la batterie
- Garder l\'écran allumé
- Cliquez pour ouvrir avec ou glisser à sans navigation transparente de l\'écran de lecture
- Cliquez ou balayez
- Effet chute de neige
- Utiliser la couverture d\'album de la piste en cours de lecture comme fond sur l\'écran de verrouillage
- Baisser le volume quand un son système ou une notification est reçue
- Le contenu des dossiers en liste noire est masqué de votre bibliothèque.
- Commencez à jouer dès que vous êtes connecté à un appareil Bluetooth
- Flouter la couverture de l\'album sur l\'écran de verrouillage. Cela peut poser des problèmes avec des applications et widgets tiers.
- Effet carousel pour les couvertures d\'albums sur l\'écran de lecture en cours. Veuillez noter que les thèmes Carte et Carte floutée ne fonctionneront pas
- Utiliser le design classique pour les notifications
- La couleur du fond et des boutons de contrôles change en fonction de l\'image d\'album sur l\'écran de lecture en cours
- Les raccourcis rapides de l\'application prendront la couleur d\'accent. Chaque fois que vous changez de couleur, veuillez activer ceci afin que le changement soit pris en compte
- Colorer la barre de navigation avec la couleur primaire
- "Colorer la notification avec la couleur dominante des couvertures d'albums"
- As per Material Design guide lines in dark mode colors should be desaturated
- La couleur dominante sera choisie depuis la couverture de l\'album ou de l\'artiste
- Ajouter des contrôles supplémentaires pour le mini lecteur
- Show extra Song information, such as file format, bitrate and frequency
- "Peut causer des problèmes de lecture sur certains appareils."
- Activer/désactiver l\'onglet Genres
- Changer le style de la bannière sur l\'accueil
- Peut améliorer la qualité de l\'image d\'album, mais ralenti le chargement des images. N\'activez ceci que si vous avez des problèmes avec les images basse résolution
- Configurer la visibilité et l\'ordre des catégories de la librairie.
- Utiliser les contrôles personnalisés de Retro Music sur l\'écran de verrouillage
- Détails des licences pour les logiciels open source
- Coins arrondis pour les bords de l\'application
- Activer/désactiver les titres des onglets du bas
- Mode immersif
- Commencer immédiatement la lecture lors du branchement d\'un casque
- Le mode aléatoire se désactivera lors de la lecture d\'une nouvelle liste de morceaux
- Si vous avez assez de place, affiche les contrôle du volume sur l\'écran de lecture
- Afficher la couverture de l\'album
- Thème de la couverture d\'album
- Style du balayage de l\'image d\'album
- Grille d\'albums
- Raccourcis d\'application colorés
- Grille d\'artistes
- Réduire le volume à la perte de focus
- Télécharger automatiquement les photos des artistes
- Liste noire
- Bluetooth playback
- Flouter la couverture d\'album
- Choisir l\'égalisateur
- Design de notification classique
- Couleur adaptative
- Notification colorée
- Couleur désaturée
- Contrôles supplémentaires
- Détails sur le morceau
- Lecture sans pause
- Thème de l\'application
- Montrer l\'onglet Genres
- Style de la grille des artistes sur l\'accueil
- Bannière d\'accueil
- Ignorer les couvertures dans le stockage
- Intervalle de dernière liste de lecture ajoutée
- Contrôles plein-écran
- Barre de navigation colorée
- Thème d\'écran de lecture
- Licences open source
- Angles arrondis
- Mode des titres d’onglets
- Effet carousel
- Couleur dominante
- Application en plein écran
- Titres des onglets
- Lecture automatique
- Lecture aléatoire
- Contrôles de volume
- Informations utilisateur
- Couleur primaire
- La couleur de thème primaire, par défaut bleu-gris, fonctionne maintenant avec les couleurs sombres
- Pro
- Thème noir, thèmes pour la fenêtre de lecture, effet carrousel et plus...
- Profil
- Acheter
- * Veuillez bien réfléchir avant d\'acheter ! Ne demandez pas de remboursement.
- File d\'attente
- Noter l\'application
- Vous aimez l\'application ? Faites-le nous savoir sur le Play Store afin que nous puissions l\'améliorer davantage
- Albums récents
- Artistes récents
- Supprimer
- Retirer la photo en bannière
- Supprimer la couverture
- Retirer de la liste noire
- Supprimer la photo de profil
- Supprimer le morceau de la liste de lecture
- %1$s de la liste de lecture ?]]>
- Retirer le morceau de la liste de lecture
- %1$d morceaux de la liste de lecture ?]]>
- Renommer la liste de lecture
- Signaler un problème
- Signaler un bug
- Réinitialiser
- Réinitialiser la photo de l\'artiste
- Restaurer
- Achat précédent restauré. Veuillez redémarrer l\'application pour utiliser toutes les fonctionnalités.
- Achats précédents restaurés.
- Restauration de l\'achat…
- Égaliseur Retro Music
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Enregistrer
-
-
- Enregistrer en tant que fichier
- Enregistrer en tant que fichiers
- Liste de lecture enregistrée vers %s
- Enregistrement des changements
- Scanner le média
- Fichier %1$d sur %2$d scanné
- Scrobbles
- Recherche dans votre bibliothèque…
- Tout sélectionner
- Choisir la bannière photo
- Sélectionné
- Envoyer le journal du crash
- Définir
- Définir photo de l\'artiste
- Définir une photo de profil
- Partager l\'app
- Share to Stories
- Aléatoire
- Simple
- Minuteur d\'extinction annulé.
- Extinction dans %d minutes.
- Diapositive
- Petit album
- Social
- Share story
- Morceau
- Durée du morceau
- Morceaux
- Ordre de classement
- Ascendant
- Album
- Artiste
- Compositeur
- Date d\'ajout
- Date de modification
- Année
- Descendant
- Désolé ! Votre appareil ne prend pas en charge la saisie vocale
- Rechercher dans votre bibliothèque
- Pile
- Jouer de la musique.
- Suggestions
- N\'afficher que votre nom sur l\'écran d\'accueil
- Aider le développement
- Glisser pour déverrouiller
- Paroles synchronisées
- Égaliseur système
-
- Telegram
- Rejoignez le groupe Telegram pour discuter des bugs, faire des suggestions, montrer votre configuration, etc.
- Merci !
- Le fichier audio
- Ce mois-ci
- Cette semaine
- Cette année
- Petit
- Titre
- Tableau de bord
- Bon après-midi
- Bonne journée
- Bonsoir
- Bonne journée
- Bonne soirée
- Quel est votre nom
- Aujourd\'hui
- Albums les plus joués
- Artistes les plus joués
- "Morceau (2 pour morceau 2, 3004 pour morceau 4 du CD 3)"
- Numéro du morceau
- Traduire
- Aidez-nous à traduire l\'application dans votre langue
- Twitter
- Partager votre design avec Retro Music
- Non étiqueté
- Impossible de lire ce fichier.
- À suivre
- Mettre à jour l\'image
- Mise à jour en cours…
- Nom d\'utilisateur
- Version
- Balayage vertical
- Virtualisateur
- Volume
- Recherche internet
- Bienvenue,
- Que souhaitez-vous partager ?
- Quoi de neuf
- Fenêtre
- Bords arrondis
- Définir %1$s comme sonnerie.
- %1$d sélectionné
- Année
- Vous devez sélectionner au moins une catégorie.
- Vous allez être redirigé vers le site web de suivi des problèmes.
- Vos données de compte sont utilisées uniquement pour vous authentifier.
- Amount
- Note (Optionnel)
- Commencer le paiement
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Petite carte
-
diff --git a/app/src/main/res/master/values-hi-rIN/strings.xml b/app/src/main/res/master/values-hi-rIN/strings.xml
deleted file mode 100644
index d9822f7ae..000000000
--- a/app/src/main/res/master/values-hi-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- टीम, सामाजिक लिंक
- एक्सेंट रंग
- एक्सेंट विषयवस्तु रंग, डिफ़ॉल्ट हरा है।
- इसके बारे में
- पसंदीदा में जोड़े
- कतार में जोड़ें
- प्लेलिस्ट में जोड़ें
- कतार निकाल दे
- प्लेलिस्ट निकाल दे
- साइकिल रिपीट मोड
- हटाएं
- डिवाइस से हटाएं
- विवरण
- एल्बम पर जाएं
- कलाकार पर जाएं
- शैली पर जाएं
- शुरू निर्देशिका पर जाएं
- अनुदान
- ग्रीड आकार
- ग्रीड आकार (परीसदृश्य)
- नई प्लेलिस्ट
- अगला
- चलाएं
- सभी को बजाएं
- अगला चलाएं
- चलाएं/रोकें
- पिछला
- पसंदीदा में से निकाले
- कतार में से निकले
- प्लेलिस्ट में से निकालें
- नाम बदलें
- कतार सहेजें
- छाने
- खोजें
- सेट
- रिंगटोन के रूप में सेट करें
- शुरू निर्देशिका के रूप में सेट करें
- "सेटिंग"
- शेयर
- सभी शफ़ल करें
- शफ़ल प्लेलिस्ट
- स्लीप टाइमर
- क्रमबद्ध आदेश
- टैग एडिटर
- पसंदीदा टॉगल करें
- शफल मोड को टॉगल करें
- अनुकूली
- जोड़ें
- गीत जोड़ें
- फ़ोटो\nजोड़ें
- "प्लेलिस्ट में जोड़ें"
- समय सीमा गीत जोड़ें
- "कतार मे 1 शीर्षक जोड़ा गया है।"
- कतार मे %1$d शीर्षक जोड़ा गया है।
- एल्बम
- एल्बम कलाकार
- शीर्षक या कलाकार खाली है
- एल्बम
- हमेशा
- इस बढ़िया म्यूजिक प्लेयर को यहां देखें:https://play.google.com/store/apps/details?id=%s
- शफ़ल
- टॉप गीत
- रेट्रो म्यूजिक - बिग
- रेट्रो म्यूजिक - कार्ड
- रेट्रो म्यूजिक - क्लासिक
- Small
- Text
- कलाकार
- कलाकार
- ऑडियो फोकस से इनकार किया।
- ध्वनि सेटिंग्स बदलें और तुल्यकारक नियंत्रण समायोजित करें
- ऑटो
- आधार रंग विषय
- मंद्र को बढ़ाना
- जैव
- जीवनी
- सिर्फ काला
- ब्लैकलिस्ट
- कलंक
- ब्लर कार्ड
- रिपोर्ट भेजने में असमर्थ
- अमान्य प्रवेश टोकन। कृपया ऐप डेवलपर से संपर्क करें।
- चयनित रिपॉजिटरी के लिए समस्याएँ सक्षम नहीं हैं। कृपया ऐप डेवलपर से संपर्क करें।
- एक अप्रत्याशित त्रुटि हुई। कृपया ऐप डेवलपर से संपर्क करें।
- उपयोगकर्ता का गलत नाम और पासवर्ड
- मुद्दा
- मैन्युअल भेजें
- कृपया एक समस्या विवरण दर्ज करें
- कृपया अपना वैध GitHub पासवर्ड दर्ज करें
- कृपया एक समस्या शीर्षक दर्ज करें
- कृपया अपना वैध GitHub उपयोगकर्ता नाम दर्ज करें
- एक अप्रत्याशित त्रुटि हुई। क्षमा करें, आपको यह बग मिल गया है, अगर यह \"क्लियर ऐप डेटा\" को क्रैश करता है या ईमेल भेजता है
- GitHub पर रिपोर्ट अपलोड कर रहा है ...
- GitHub खाते का उपयोग करके भेजें
- अभी खरीदें
- वर्तमान टाइमर को रद्द करें
- कार्ड
- परिपत्र
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- चेंजलाग
- साफ़
- Circle
- Circular
- Classic
- साफ़
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Ghar
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-hr-rHR/strings.xml b/app/src/main/res/master/values-hr-rHR/strings.xml
deleted file mode 100644
index 75b32fb53..000000000
--- a/app/src/main/res/master/values-hr-rHR/strings.xml
+++ /dev/null
@@ -1,517 +0,0 @@
-
-
- Team, social links
- Naglašena boja
- Naglašena boja teme, zadana je plavo zelena
- O aplikaciji
- Dodaj u omiljene
- Dodaj u red čekanja
- Dodaj na popis naslova
- Očisti red čekanja
- Očisti popis naslova
- Cycle repeat mode
- Izbriši
- Izbriši s uređaja
- Detalji
- Odi na album
- Idi na izvođača
- Idi na žanr
- Idi na početni direktorij
- Dopusti
- Veličina rešetke
- Veličina rešetke (polja)
- New playlist
- Dalje
- Reproduciraj
- Play all
- Reproduciraj sljedeće
- Reproduciraj/pauziraj
- Prethodno
- Ukloni iz favorita
- Ukloni iz reda reprodukcije
- Ukloni sa popisa naslova
- Preimenuj
- Spremi red reproduciranja
- Skeniraj
- Traži
- Započni
- Postavi kao zvuk zvona
- Postavi kao početni direktorij
- "Postavke"
- Podijeli
- Izmješaj sve
- Izmiješaj popis naslova
- Brojač za spavanje
- Način sortiranja
- Uređivač oznaka
- Toggle favorite
- Toggle shuffle mode
- Prilagodljivo
- Dodaj
- Add lyrics
- Dodaj\nsliku
- "Dodaj na popis naslova"
- Add time frame lyrics
- "Dodana 1 pjesma na red reprodukcije."
- Dodano %1$d pjesama na red reprodukcije.
- Album
- Izvođač albuma
- Naziv ili izvođač su prazni.
- Albumi
- Uvijek
- Hej, pogledajte ovaj cool reproduktor glazbe: https://play.google.com/store/apps/details?id=%s
- Izmiješaj
- Najslušanije pjesme
- Velik
- Kartica
- Klasičan
- Malen
- Tekst
- Izvođač
- Izvođači
- Fokus zvuka je odbijen.
- Promijenite postavke zvuka i kontrole ekvalizatora
- Automatski
- Temeljna boja teme
- Pojačalo Bassa
- Biografija
- Biografija
- Samo crna
- Crni popis
- Zamagljenje
- Zamagljena kartica
- Nije moguće poslati izvješće
- Pristupni token nije valjan. Molimo kontaktirajte razvojnog programera aplikacije.
- Problemi nisu omogućeni za odabrani repozitorij. Molimo kontaktirajte razvojnog programera aplikacije.
- Dogodila se neočekivana pogreška. Molimo kontaktirajte razvojnog programera aplikacije.
- Krivo korisničko ime ili lozinka
- Problem
- Pošalji ručno
- Molimo unesite opis problema
- Molimo unesite vašu valjanu GitHub lozinku
- Molimo unesite naslov problema
- Molimo unesite vaše valjano GitHub korisničko ime
- Dogodila se neočekivana pogreška. Žao nam je što ste pronašli ovu pogrešku, ako se aplikacija
- nastavi rušiti \"Očisti podatke aplikacije\"
- Učitavanje izvješća na GitHub...
- Pošalji putem GitHub računa
- Buy now
- Odustani
- Kartica
- Kružno
- Obojena kartica
- Kartica
- Vrtuljak
- Efekt ringišpila za zaslon reprodukcije
- Kaskadno
- Emitiraj
- Popis promjena
- Popis promjena održavan na Telegramu
- Circle
- Kružno
- Classic
- Očisti
- Očisti podatke aplikacije
- Očisti crnu popis
- Očisti red čekanja
- Očisti popis naslova
- %1$s? Ovo se ne mo\u017ee poni\u0161titi!]]>
- Zatvori
- Boja
- Boja
- Boje
- Composer
- Informacije o uređaju su kopirane u međuspremnik.
- Stvaranje popisa naslova nije uspjelo.
- "Preuzimanje odgovaraju\u0107eg omota albuma nije uspjelo."
- Vraćanje kupnje nije uspjelo.
- Skeniranje %d datoteke nije uspjelo.
- Stvori
- Popis naslova %1$s je stvoren.
- Članovi i dobrinositelji
- Trenutno slušaš %1$s od %2$s.
- Otprilike mračna
- Nema Teksta
- Izbriši popis naslova
- %1$s?]]>
- Izbriši popise naslova
- Delete song
- %1$s?]]>
- Delete songs
- %1$d popisa naslova?]]>
- %1$d pjesama?]]>
- Izbrisano je %1$d pjesama.
- Deleting songs
- Dubina
- Opis
- Informacije o uređaju
- Allow Retro Music to modify audio settings
- Set ringtone
- Želite li očistiti crni popis?
- %1$s sa crnog popisa?]]>
- Doniraj
- Ako mislite da zaslužujem biti plaćen za svoj posao, možete mi ostaviti nešto
- novca ovdje
- Kupite mi:
- Preuzmi sa Last.fm-a
- Drive mode
- Uredi
- Uredi omot
- Prazno
- Ekvalizator
- Pogreška
- Često postavljena pitanja
- Favoriti
- Finish last song
- Podesi
- Ravno
- Mape
- Follow system
- Za vas
- Free
- Puno
- Potpuna kartica
- Promijenite temu i boje aplikacije
- Izgled i osjećaj
- Žanr
- Žanri
- Forkaj projekt na GitHubu
- Pridružite se Google plus zajednici, gdje možete pitati za pomoć ili pratiti ažuriranja Retro Musica
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Šarka
- Povijest
- Početna
- Horizontalni okret
- Slika
- Gradient image
- Promijenite postavke preuzimanja slika izvođača
- Dodano je %1$d pjesama na popis naslova %2$s.
- Podjelite svoju Retro Music postavu na Instagramu
- Keyboard
- Brzina prijenosa
- Format
- Naziv datoteke
- Put datoteke
- Veličina
- More from %s
- Brzina uzorkovanja
- Dužina
- Označeno
- Posljednje dodano
- Last song
- Reproducirajmo malo glazbe
- Biblioteka
- Library categories
- Licence
- Jasno bijela
- Listeners
- Popisivanje datoteka
- Učitavanje proizvoda...
- Prijava
- Tekst
- Napravljeno sa ❤️ u Indiji
- Materijal
- Error
- Permission error
- Moje ime
- Najslušanije
- Nikad
- Nova slika naslovnice
- Novi popis naslova
- Nova slika profila
- %s je novi početni direktorij.
- Next Song
- Nema albuma
- Nema izvođača
- "Prvo reproducirajte pjesmu, zatim pokušajte ponovo."
- Ekvalizator nije pronađen
- Nema žanrova
- Tekst nije pronađen
- No songs playing
- Nema popisa naslova
- Kupnja nije pronađena.
- Nema rezultata
- Nema pjesama
- Normalno
- Normalni tekst
- Normalno
- %s nije na popisu medijske pohrane.]]>
- Nema stavki za skeniranje.
- Nothing to see
- Obavijest
- Prilagodite stil obavijesti
- Zaslon reprodukcije
- Red reprodukcije
- Prilagodite zaslon reprodukcije
- 9+ tema za zaslon reprodukcije
- Samo na Wi-Fi-u
- Advanced testing features
- Ostalo
- Lozinka
- Prošla 3 mjeseca
- Paste lyrics here
- Peak
- Dopuštenje za pristup eksternoj memoriji odbijeno.
- Dopuštenja odbijena.
- Prilagodba
- Prilagodite vaš zaslon reprodukcije i kontrole sučelja
- Odaberi sa lokalne pohrane
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Jasno
- Obavijest reprodukcije pruža mogućnosti reprodukcije/pauziranja itd.
- Obavijest reprodukcije
- Prazan popis naslova
- Popis naslova je prazan
- Naziv popisa naslova
- Popisi naslova
- Stil detalja albuma
- Količina zamagljenja koja se primjenjuje na teme, manje je brže
- Količina zamagljenja
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Zvuk
- Blacklist
- Controls
- Tema
- Slike
- Library
- Zaključani zaslon
- Playliste
- Pauzirajte reprodukciju na nuli i započnite ju nakon podizanja glasnoće. Budite oprezni prilikom podizanja glasnoće jer se reprodukcija nastavlja čak i izvan aplikacije
- Pauziraj na nuli
- Imajte na umu da omogućavanje ove značajke može utjecati na trajanje baterije
- Drži zaslon uključenim
- Dodirnite za otvaranje ili klizanje bez prozirne navigacije zaslona za reprodukciju
- Klik ili klizanje
- Efekt padanja snijega
- Koristite omot albuma trenutne pjesme kao pozadinu zaključanog zaslona.
- Smanjuje glasnoću kada je reproduciran zvuk sustava ili kad je stigla obavijest
- Sadržaj mapa na crnom popisu će biti skriven iz vaše biblioteke.
- Start playing as soon as connected to bluetooth device
- Zamagljuje omot albuma na zaključanom zaslonu. Može uzrokovati probleme s widgetima i aplikacijama treće strane.
- Efekt ringišpila za omot albuma na zaslonu reprodukcije. Zapamtite da teme Kartica i Zamagljena Kartica neće raditi
- Koristite klasični dizajn obavijesti
- Pozadina i kontrolne tipke se mijenjaju prema omotu albuma na zaslonu reprodukcije
- Boja prečace aplikacije u naglašenu boju. Svaki put kad promijenite boju molimo ponovno uključite ovo
- Boja navigacijsku traku u primarnu boju
- "Boja obavijest u istaknutu boju albuma"
- As per Material Design guide lines in dark mode colors should be desaturated
- Najdominantnija boja će biti odabrana iz omota albuma ili izvođača.
- Dodajte dodatne kontrole za mini reproduktor
- Show extra Song information, such as file format, bitrate and frequency
- "Može uzrokovati probleme sa reprodukcijom na nekim uređajima."
- Uključite/isključite karticu žanra
- Uključite/isključite način naslovnice na početnoj stranici
- Može povećati kvalitetu omota albuma, ali uzrokuje sporije učitavanje slika. Omogućite ovo samo ako imate problema sa omotima niske rezolucije
- Configure visibility and order of library categories.
- Koristite Retro Music prilagođene kontrole zaklj. zaslona
- Detalji o licenci za softver otvorenog koda
- Zaoblite rubove aplikacije
- Uključi/isključi nazive kartica pri dnu
- Uvjerljivi način
- Započni reprodukciju odmah nakon što su slušalice povezane
- Nasumični naćin će biti isključen prilikom sviranja novog popisa pjesama
- Ako ima dovoljno prostora, prikazati će se kontrole glasnoće na zaslonu reprodukcije
- Prikaži omot albuma
- Teme omota albuma
- Preskakanje omota albuma
- Rešetka albuma
- Obojeni prečaci aplikacije
- Rešetka izvođača
- Smanji glasnoću pri gubitku fokusa
- Automatsko preuzimanje slika izvođača
- Crni popis
- Bluetooth playback
- Zamagli prevlaku albuma
- Odaberi ekvalizator
- Klasični dizajn obavijesti
- Prilagodljiva boja
- Obojena obavijest
- Desaturated color
- Dodatne kontrole
- Song info
- Reprodukcija bez prekida
- Tema aplikacije
- Prikaži karticu žanra
- Rešetka izvođača na početnoj stranici
- Naslovnica na početnoj stranici
- Ignoriraj omote iz medijske pohrane
- Interval zadnje dodanih popisa naslova
- Kontrole preko cjelog zaslona
- Obojena navigacijska traka
- Tema zaslona reprodukcije
- Licence otvorenog koda
- Rubovi uglova
- Način oznaka na karticama
- Efekt ringišpila
- Dominantna boja
- Aplikacija preko cijelog zaslona
- Nazivi kartica
- Automatska reprodukcija
- Način mješanja
- Kontrole glasnoće
- Informacije o Korisniku
- Primarna boja
- Primarna boja teme, zadano je plavo-siva, zasad radi s tamnim bojama
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profil
- Kupi
- *Razmisli prije kupnje, ne pitaj za povrat novca.
- Red
- Ocijeni aplikaciju
- Volite ovu aplikaciju? Javite nam to na Google Play trgovini kako bi smo vam poboljšali iskustvo
- Nedavni albumi
- Nedavni izvođači
- Ukloni
- Ukloni sliku naslovnice
- Ukloni omot
- Ukloni sa crnog popisa
- Ukloni sliku profila
- Ukloni pjesmu s popisa naslova
- %1$s sa popisa naslova?]]>
- Ukloni pjesme sa popisa naslova
- %1$d pjesama sa popisa naslova?]]>
- Preimenuj popis naslova
- Prijavi pogrešku
- Prijavi pogrešku
- Reset
- Resetiraj sliku izvođača
- Vrati
- Vrati prošlu kupnju. Molimo vas ponovno pokrenite aplikaciju da biste koristili sve značajke.
- Bivše kupnje vraćene.
- Vraćanje kupnje...
- Retro Music Ekvalizator
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Spremi kao datoteku
- Spremi kao datoteke
- Popis naslova je spremljen u %s.
- Spremanje promjena
- Skeniraj medije
- Skenirano %1$d od %2$d datoteka.
- Scrobbles
- Pretraži svoju biblioteku...
- Odaberi sve
- Odaberi sliku naslovnice
- Odabrano
- Send crash log
- Set
- Postavi sliku izvođača
- Set a profile photo
- Podijeli aplikaciju
- Share to Stories
- Izmiješaj
- Jednostavno
- Brojač za spavanje je otkazan.
- Brojač za spavanje je postavljen za %d minuta od sada.
- Slide
- Mali album
- Društveno
- Share story
- Pjesma
- Trajanje pjesme
- Pjesme
- Red sortiranja
- Uzlazno
- Album
- Izvođač
- Composer
- Datum
- Date modified
- Godina
- Silazno
- Žao mi je! Tvoj uređaj ne podržava unos govora
- Pretraži svoju biblioteku
- Stack
- Start playing music.
- Preporuke
- Prikažite samo svoje ime na početnoj stranici
- Podrži razvijanje
- Swipe to unlock
- Sinkroniziran tekst
- Sustavski ekvalizator
-
- Telegram
- Pridružite se Telegram grupi da biste raspravili o pogreškama, dali preporuke, te još mnogo toga
- Hvala ti!
- Zvučna datoteka
- Ovaj mjesec
- Ovaj tjedan
- Ove godine
- Sitno
- Naziv
- Kontrolna ploča
- Dobar dan
- Dobar dan
- Dobra večer
- Dobro jutro
- Laku noć
- Kako se zoveš
- Danas
- Najslušaniji albumi
- Najslušaniji izvođači
- "Pjesma (2 za 2. pjesmu ili 3004 za 3. CD 4. pjesmu)"
- Broj pjesme
- Prevedi
- Pomozite nam prevesti našu aplikaciju na svoj jezik
- Twitter
- Podjeli svoj dizajn sa Retro Music-om
- Neoznačeno
- Nije mogu\u0107e reproducirati ovu pjesmu.
- Sljedeće
- Ažuriraj sliku
- Ažuriranje...
- Korisničko ime
- Verzija
- Vertikalni okret
- Virtualizator
- Volume
- Web pretraživanje
- Welcome,
- Što želite podijeliti?
- Što je novo
- Prozor
- Zaobljeni kutovi
- Postavi %1$s kao zvuk zvona.
- %1$d odabran
- Godina
- You have to select at least one category.
- Biti će te preusmjereni na web stranicu za praćenje pogrešaka.
- Vaši podatci o računu su korišteni samo za autentikaciju.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-hu-rHU/strings.xml b/app/src/main/res/master/values-hu-rHU/strings.xml
deleted file mode 100644
index a380edb3f..000000000
--- a/app/src/main/res/master/values-hu-rHU/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Csapat, társadalmi kapcsolatok
- Kiemelő szín
- Az kiemelő téma színe alapértelmezés szerint színtiszta
- Rólunk
- Hozzáadás a kedvencekhez
- Hozzáadás a lejátszási kvótához
- Hozzáadás lejátszási listához
- Lejátszási kvóta törlése
- Lejátszási lista törlése
- Ciklus ismétlés üzemmód
- Törlés
- Törlés az eszközről
- Részletek
- Ugrás az albumhoz
- Ugrás az előadóhoz
- Ugrás a műfajhoz
- Ugrás a kiindulási könyvtárhoz
- Engedélyezés
- Rácsméret
- Rácsméret (Fekvő)
- Új lejátszási lista
- Következő
- Lejátszás
- Összes lejátszása
- Lejátszás következőnek
- Lejátszás / Szünet
- Előző
- Eltávolítás a kedvencekből
- Lejátszási kvóta törlése
- Eltávolítás a lejátszási listáról
- Átnevezés
- Lejátszási kvóta mentése
- Keresés
- Keresés
- Elkezdés
- Beállítás csengőhangként
- Beállítás kezdőkönyvtárként
- "Beállítások"
- Megosztás
- Összes keverése
- Lejátszási lista keverése
- Elalvás időzítő
- Rendezési sorrend
- Címkeszerkesztő
- A kedvenc váltása
- A véletlenszerű lejátszás megváltoztatása
- Adaptív
- Hozzáad
- Dalszöveg hozzáadása
- Fénykép\nhozzáadása
- "Hozzáadás lejátszási listához"
- Adjon hozzá időkeretet dalszövegeket
- "1 cím lett hozzáadva a lejátszási kvótához."
- %1$d cím hozzáadva a lejátszási kvótához.
- Album
- Album előadó
- A cím vagy az előadó üres.
- Albumok
- Mindig
- Hé, nézd meg ezt a menő zenelejátszót itt: https://play.google.com/store/apps/details?id=%s
- Keverés
- Legjobb zeneszámok
- Nagy
- Kártya
- Retro zene - Klasszikus
- Retro zene - Kicsi
- Retro zene - Szöveg
- Előadó
- Előadók
- Az audiofókusz megtagadva.
- Módosítsa a hangbeállításokat és állítsa be a hangszínszabályzó irányítását
- Automatikus
- Alapszín téma
- Bass Boost
- Bio
- Életrajz
- Csak Fekete
- Feketelista
- Homályosítás
- Kártya homályosítása
- Nem sikerült elküldeni a jelentést
- Érvénytelen belépési azonosító. Kérem, lépjen kapcsolatba az alkalmazás fejlesztőjével.
- A problémák jelentése nincs engedélyezve a repository-ban. Kérem, lépjen kapcsolatba az alkalmazás fejlesztőjével.
- Váratlan hiba történt. Kérem, lépjen kapcsolatba az alkalmazás fejlesztőjével.
- Rossz felhasználónév vagy jelszó
- Probléma
- Küldés manuálisan
- Kérem, adja meg a leírást
- Kérem, adja meg az érvényes GitHub jelszavát
- Kérem, adjon meg egy címet
- Kérem, adja meg az érvényes GitHub felhasználónevét
- Egy váratlan hiba történt. Sajnáljuk, hogy hibába botlottál, ha folyton összeomlik, töröld az alkalmazásadatokat, vagy küldj nekünk E-Mailt
- Jelentés feltöltése GitHub-ra…
- Küldés a GitHub fiókkal
- Vásárolj most
- Mégse
- Kártya
- Kör alakú
- Színes Kártya
- Kártya
- Körhinta
- Körhinta effekt a most játszik képernyőn
- Növelés
- Cast
- Változtatási napló
- A Változtatási napló a Telegram csatornán működik
- Kör
- Kör alakú
- Klasszikus
- Kiürítés
- App adat törlése
- Feketelista kiürítése
- Lejátszási sor törlése
- Lejátszási lista kiürítése
- %1$s lejátszási listát? Ezt nem lehet visszavonni!]]>
- Bezárás
- Szín
- Szín
- Színek
- Zeneszerző
- Eszköz információk a vágólapra másolva.
- Nem sikerült létrehozni a lejátszási listát.
- "Nem sikerült letölteni a megfelelő album borítóját."
- A vásárlást nem sikerült visszaállítani.
- Nem sikerült beolvasni %d fájlt.
- Létrehozás
- Létrehozott lejátszási lista %1$s.
- Tagok és támogatók
- Jelenleg hallgat %1$s által %2$s.
- Kissé sötét
- Nincs dalszöveg
- Lejátszási lista törlése
- %1$s lejátszási listát?]]>
- Lejátszási listák törlése
- Zeneszám törlése
- %1$s dalt?]]>
- Dalok törlése
- %1$d lejátszási listát?]]>
- %1$d zenéket?]]>
- Törölte a %1$d zenét.
- Dalok törlése
- Mélység
- Leírás
- Eszköz információ
- Hagyja, hogy a Retro Music módosítsa az audiobeállításokat
- Csengőhang beállítás
- Szeretné törölni a feketelistát?
- %1$s a feketelistáról?]]>
- Támogatás
- Ha úgy gondolja, hogy megérdemlem fizetni a munkámért, hagyhatsz néhányat pénzt itt
- Vegyél nekem egy:
- Letöltés a Last.fm-ről
- Vezetés mód
- Szerkesztés
- Borító szerkesztése
- Üres
- Hangszínszabályzó
- Hiba
- GYIK
- Kedvencek
- Fejezze be az utolsó dalt
- Illeszkedő
- Lapos
- Mappák
- Kövesse a rendszert
- Neked
- Ingyenes
- Teljes
- Teljes kártya
- Módosítsa az alkalmazás témáját és színeit
- Megjelenés
- Műfaj
- Műfajok
- Szerezd meg a projektet a githubon
- Csatlakozzon a Google Plus közösséghez ahol segítséget kérhet, vagy követheti a Retro Zene Alkalmazás frissítéseit
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Rácsok stílus
- Zsanér
- Előzmény
- Kezdőlap
- Vízszintes forgatás
- Kép
- Színátmenet kép
- A művészképek letöltésének megváltoztatása
- %1$d dalt betett a %2$s lejátszási listába.
- Ossza meg Retro Music beállításait, hogy bemutassa a Instagram-on
- Billentyűzet
- Bitrát
- Formátum
- Fájl név
- Fájl elérési út
- Méret
- Több a következőtől: %s
- Mintavételi arány
- Hossz
- Címkézve
- Utoljára hozzáadva
- Utolsó dal
- Játsszunk le egy zenét
- Könyvtár
- Könyvtár kategóriák
- Licencek
- Világos fehér
- Hallgatók
- Listázási fájlok
- A termékek betöltése…
- Bejelentkezés
- Dalszöveg
- ❤️-el készítve Indiából
- Materiál
- Hiba
- Engedély hiba
- Név
- Legtöbbet játszott
- Soha
- Új banner fotó
- Új lejátszási lista
- Új profilfotó
- %s az új indítókönyvtár.
- Következő dal
- Nincsenek albumok
- Nincs előadó
- "Először játssz le egy dalt, majd próbálkozzon újra."
- Nem találtunk hangszínszabályzott
- Nincsenek műfajok
- Nem található dalszöveg
- Nincs lejátszott dal
- Nincs lejátszási lista
- Nincs vásárlás.
- Nincs eredmény
- Nincs dal
- Normál
- Normál dalszövegek
- Normál
- %s nem szerepel a média tárban.]]>
- Nincs szkennelve.
- Semmit sem látni
- Értesítés
- Értesítési stílus testreszabása
- Most lejátszott
- Sorban áll
- Most játszik képernyő személyre szabása
- 9+ most játszik témákat
- Csak Wi-Fi-n
- Speciális tesztelési szolgáltatások
- Egyéb
- Jelszó
- Az elmúlt 3 hónapban
- Ide illessze be a dalszövegeket
- Csúcs
- A külső tárolási hozzáférés engedélyezése tiltva.
- Engedélyek megtagadva.
- Személyre szabás
- Szabd személyre a jelenleg játszott felületet és a kezelőfelületet
- Válasszon a helyi tárolóból
- Válasszon képet
- Pinterest
- Kövesse a Pinterest oldalt a Retro Music design inspirációjához
- Egyszerű
- A lejátszási értesítés lejátszási/szüneteltetési intézkedéseket tartalmaz.
- Értesítés lejátszása
- Üres lejátszási lista
- A lejátszási lista üres
- Lejátszási lista neve
- Lejátszási listák
- Albumrészletek stílusa
- Homályosítás mértéke homályos témákhoz, az alacsonyabb gyorsabb
- Homályosítás mértéke
- Állítsa be az alsó párbeszédpanel sarkait
- Párbeszéd sarok
- A dalok szűrése hossz szerint
- Szűrje a dal időtartamát
- Haladó
- Album stílusa
- Hang
- Feketelista
- Vezérlők
- Téma
- Képek
- Könyvtár
- Zárképernyő
- Lejátszási listák
- Szünetelteti a dalt, amikor a hangerő nullára csökken, és elindítja a lejátszást, ha a hangerő emelkedik. Az alkalmazáson kívül is működik
- Szünet a nullára
- Vedd figyelembe, hogy ezen funkció engedélyezése hatással lehet az akkuidőre
- Tartsa bekapcsolva a képernyőt
- Kattintson a megnyitáshoz vagy a csúsztatáshoz a most játszott képernyő átlátható navigálása nélkül
- Kattintson vagy Csúsztatson
- Hóesés hatás
- A jelenlegi zeneszámok albumborítóját zárolt háttérképként használja
- Hangerő csökkentése rendszerhang vagy értesítés érkezik
- A feketelistán szereplő mappák tartalma el van rejtve a könyvtárban.
- Amint csatlakoztatta a bluetooth készüléket, kezdje el a lejátszást
- Elhomályosítja az album borítóját a zárolás képernyőjén. Problémákat okozhat harmadik féltől származó alkalmazásokkal és widgetekkel
- Körhinta effektus a most játszott képernyőn lévő albumborítón. Ne feledje, hogy a Kártya és a Homályosított Kártya téma nem fog működni
- Használja a klasszikus értesítési kinézetet
- A háttér és a vezérlőgombok színe a most játszott képernyőn megjelenő albumborító szerint változik
- Színek az alkalmazás parancsikonjai a kiemelő színében. Minden alkalommal, amikor megváltoztatta a színét, kérjük, kapcsolja be ezt a hatást
- Színezi a navigációs sávot az elsődleges színben
- "Színezi az értesítést az album borítójának élénk színéről"
- Az Anyagtervezés szerint a sötét módban a színeket deszaturálni kell
- A legtöbb domináns színt az album vagy az előadó borítója veszi fel
- Extra irányítás a mini lejátszóhoz
- Mutasson további dalinformációkat, például a fájl formátumát, bitrátáját és frekvenciáját
- "Egyes eszközökön lejátszási problémákat okozhat."
- Váltás a műfaj fülre
- Kezdőlap banner stílusának kapcsolása
- Növelheti az album borításminőségét, de lassabb kép betöltési időt eredményez. Csak akkor engedélyezze ezt, ha problémái vannak az alacsony felbontású művekkel kapcsolatban
- A láthatóság és a könyvtári kategóriák sorrendjének beállítása.
- Retro zeneszámok zárolása a képernyőn
- A nyílt forráskódú szoftverek licence részletei
- Sarokszegélyek az ablakhoz, albumművészethez stb
- Az alsó fül címének engedélyezése/tiltása
- Kiterjesztett üzemmód
- Indítsa el a lejátszást, amikor a fejhallgató csatlakoztatva van
- A véletlen sorrendű mód kikapcsol, ha új számlistát játszik le
- Ha van szabad hely a képernyőn engedélyezett hangerőszabályzókkal
- Az album borítójának megjelenítése
- Album borító téma
- Most játszik album borító stílusa
- Album rács stílusa
- Színes alkalmazás parancsikonok
- Előadói rács stílusa
- Csökkentse a fókuszvesztés hangerejét
- Automatikus letölti képeket
- Feketelista
- Bluetooth lejátszás
- Elhomályosított albumborító
- Válasszon Hangszínszabélyzott
- Klasszikus értesítési terv
- Adaptív szín
- Színes értesítés
- Deszaturált szín
- Extra vezérlők
- Dalinformáció
- Végtelen lejátszás
- Alkalmazás téma
- Mutasd a műfaj lapot
- Kezdőlapi előadó rács
- Kezdőlap banner
- Figyelmen kívül hagyja a médiatárolók borítóját
- Utoljára hozzáadott lejátszási lista intervallum
- Teljes képernyős vezérlők
- Színes navigációs sáv
- Most játszott témája
- Nyílt forráskódú licencek
- Sarokélek
- Lap címek módja
- Carousel hatás
- Domináns szín
- Teljes képernyős alkalmazás
- Alcímek
- Automatikus lejátszás
- Kevert mód
- Hangerőszabályzók
- Felhasználói adatok
- Elsődleges szín
- Az elsődleges téma színe, alapértelmezés szerint kék szürke, jelenleg sötét színekkel működik
- Pro
- Jelenleg témákat játszik, körhinta effektus és még sok más..
- Profil
- Vásárlás
- *Gondoljon vásárolása előtt, ne kérjen visszatérítést.
- Sorban áll
- Értékeld az alkalmazást
- Szereted ezt az app-ot? Tudassa velünk a Google Play Áruházban, hogyan tehetjük még jobbá
- Legutóbbi albumok
- Legújabb előadók
- Eltávolítás
- Banner fotó törlése
- Borító eltávolítása
- Eltávolítás a feketelistáról
- Profilfotó eltávolítása
- Távolítsa el a dalt a lejátszási listáról
- %1$s dalt a lejátszási listából?]]>
- A dalok eltávolítása a lejátszási listáról
- %1$d dalt a lejátszási listából?]]>
- Lejátszási lista átnevezése
- Hibajelentés
- Hibajelentés
- Visszaállítás
- Az előadó képének visszaállítása
- Visszaállítás
- Az előző vásárlás helyreállítása. Kérjük, indítsa újra az alkalmazást az összes funkció használatához.
- Korábbi vásárlások visszaállítása.
- A vásárlás visszaállítása…
- Retro Zene Hangszínszabályzó
- Retro Music Player
- Retro Music Pro
- A fájl törlése sikertelen: %s
-
- Nem lehet SAF URI
- Nyissa meg a navigációs fiókot
- Engedélyezze az \"SD kártya megjelenítése\" lehetőséget a túlcsordulási menüben
-
- %s SD kártya hozzáférést igényel
- Meg kell választanod az SD-kártya gyökérkönyvtárát
- Válassza ki az SD kártyát a navigációs fiókban
- Ne nyisson semmilyen almappát
- Érintse meg a \"kiválaszt\" gombot a képernyő alján
- A fájl írása sikertelen: %s
- Mentés
-
-
- Mentés fájlként
- Mentés fájlokként
- Mentett lejátszási lista a következőhöz: %s.
- A változtatások mentése
- Média szkennelés
- %2$d fájlt %1$d szkennelt.
- Scrobblek
- Keresés a könyvtárban…
- Minden kiválasztása
- Banner fotó kiválasztása
- Kiválaszott
- Küldjön összeomlási naplót
- Beállít
- Állítsa be az előadó képét
- Profilfotó beállítása
- Alkalmazás megosztása
- Ossza meg a Történet-ben
- Keverés
- Egyszerű
- Az elalváskapcsoló kikapcsolva.
- Az alvásidőzítő mostantól %d percre van beállítva.
- Csúsztat
- Kis album
- Közösségi
- Ossza meg a történetet
- Dal
- A dal időtartama
- Dalok
- Rendezési sorrend
- Növekvő
- Album
- Előadó
- Zeneszerző
- Dátum
- Módosítás dátuma
- Év
- Csökkenő
- Sajnálom! A készülék nem támogatja a beszédet
- Keresés a könyvtárában
- Rakás
- Kezdje el lejátszani a zenét.
- Javaslatok
- Csak mutassa meg a nevét a kezdőképernyőn
- Támogassa a fejlesztést
- Csúsztasd fel a feloldáshoz
- Szinkronizált dalszövegek
- Rendszer hangszínszabályzó
-
- Telegram
- Csatlakozz a Telegram csoporthoz hogy megbeszélhesd a hibákat, ajánlásokat tegyél, bemutass valamit stb.
- Köszönöm!
- Az audio fájl
- Ebben a hónapban
- Ezen a héten
- Egy éve
- Apró
- Cím
- Irányítópult
- Jó napot
- Jó nap
- Jó estét
- Jó reggelt
- Jó éjszakát
- Mi a neved
- Ma
- Legjobb albumok
- Legjobb előadok
- "Sáv (2 a 2. vagy a 3004-es számhoz a CD3 4. sávjához)"
- Sorszáma
- Fordítás
- Segítsen nekünk az alkalmazás nyelvének fordításához
- Twitter oldal
- Ossza meg tervét a RetroMusicApp segítségével
- Címkézetlen
- Nem lehet lejátszani ezt a dalt.
- A következő
- Kép frissítése
- Frissítés…
- Felhasználónév
- Verzió
- Függőleges forgatás
- Virtualizáló
- Hangerő
- Webes keresés
- Üdvözöljük,
- Mit szeretne megosztani?
- Mi az újdonság
- Ablak
- Lekerekített sarkak
- Állítsa be a (z) %1$s csengőhangot.
- %1$d kiválasztása
- Év
- Legalább egy kategóriát kell kiválasztania.
- Továbbítani fogjuk a problémakezelő weboldalra.
- Fiókja adatait kizárólag a hitelesítéshez fogjuk használni.
- Tartalom
- Megjegyzés (opcionális)
- Kezdje a fizetést
- Jelenítse meg a most játszó képernyőt
- Az értesítésre kattintva a kezdőképernyő helyett a lejátszási képernyő jelenik meg
- Apró kártya
-
diff --git a/app/src/main/res/master/values-in-rID/strings.xml b/app/src/main/res/master/values-in-rID/strings.xml
deleted file mode 100644
index ca17b572c..000000000
--- a/app/src/main/res/master/values-in-rID/strings.xml
+++ /dev/null
@@ -1,517 +0,0 @@
-
-
- Tim, tautan sosial
- Warna aksen
- Warna aksen tema, bawaan adalah ungu
- Tentang
- Tambahkan ke favorit
- Tambahkan ke antrean pemutaran
- Tambahkan ke daftar putar
- Bersihkan antrean pemutaran
- Bersihkan daftar putar
- Mode pengulangan siklus
- Hapus
- Hapus dari perangkat
- Rincian
- Ke album
- Ke artis
- Ke aliran
- Ke direktori awal
- Izinkan
- Ukuran kisi
- Ukuran kisi (lanskap)
- Daftar putar baru
- Selanjutnya
- Putar
- Putar semua
- Putar selanjutnya
- Putar/jeda
- Sebelumnya
- Hapus dari favorit
- Hapus dari antrean pemutaran
- Hapus dari daftar putar
- Ubah nama
- Simpan antrean pemutaran
- Pindai
- Cari
- Mulai
- Atur sebagai nada dering
- Atur sebagai direktori awal
- "Pengaturan"
- Bagikan
- Acak semua
- Acak daftar putar
- Pewaktu tidur
- Urutkan
- Pengubah tag
- Toggle favorit
- Toggle mode acak
- Adaptif
- Tambah
- Tambah lirik
- Tambah\nFoto
- "Tambahkan ke daftar putar"
- Tambah frame waktu lirik
- "1 judul ditambahkan ke antrean pemutaran."
- %1$d ditambahkan ke antrean pemutaran.
- Album
- Album artis
- Judul atau artis kosong.
- Album
- Selalu
- Hei lihat pemutar musik keren ini di:
-https://play.google.com/store/apps/details?id=%s
- Acak
- Lagu teratas
- Besar
- Kartu
- Klasik
- Kecil
- Teks
- Artis
- Artis
- Fokus audio ditolak.
- Ubah pengaturan suara dan sesuaikan ekualiser
- Otomatis
- Berdasarkan warna tema
- Penguat Bas
- Bio
- Biografi
- Hanya Hitam
- Daftar hitam
- Buram
- Kartu Buram
- Tidak dapat mengirimkan laporan
- Token akses tidak valid. Mohon hubungi pengembang apl.
- Masalah tidak diaktifkan untuk repositori yang dipilih. Mohon hubungi pengembang apl.
- Terjadi kesalahan tak terduga. Mohon hubungi pengembang apl.
- Nama pengguna atau kata sandi salah
- Isu
- Kirimkan secara manual
- Mohon masukkan deskripsi dari isu tersebut
- Mohon masukkan kata sandi GitHub yang valid
- Mohon masukkan judul isu
- Mohon masukkan nama akun GitHub yang valid
- Terjadi kesalahan tidak terduga. Maaf kamu mengalami masalah ini, jika
-tetap bermasalah, \"Hapus data Aplikasi\" atau kirim Email
- Mengunggah laporan ke GitHub…
- Kirim menggunakan akun GitHub
- Beli sekarang
- Batalkan
- Kartu
- Bulat
- Kartu Berwarna
- Kartu
- Karosel
- Efek karosel pada layar sedang diputar
- Tersusun ke bawah
- Cast
- Catatan perubahan
- Catatan perubahan ada di aplikasi Telegram
- Lingkaran
- Bulat
- Klasik
- Bersihkan
- Hapus data aplikasi
- Bersihkan daftar hitam
- Hapus antrean
- Bersihkan daftar putar
- %1$s? Ini tidak bisa dibatalkan!]]>
- Tutup
- Warna
- Warna
- Warna
- Komposer
- Info perangkat telah disalin ke papan klip.
- Tidak dapat membuat daftar putar.
- "Tidak dapat mengunduh sampul album yang cocok."
- Tidak dapat mengembalikan pembelian.
- Tidak dapat memindai %d file.
- Buat
- Daftar putar %1$s dibuat.
- Member dan kontributor
- Terakhir kali mengdengarkan %1$s oleh %2$s.
- Agak gelap
- Tidak ada lirik
- Hapus daftar putar
- %1$s?]]>
- Hapus daftar putar
- Hapus lagu
- %1$s?]]>
- Hapus lagu
- %1$d daftar putar?]]>
- %1$d lagu?]]>
- Lagu %1$d dihapus.
- Mengapus lagu
- Kedalaman
- Deskripsi
- Info perangkat
- Izinkan Retro Music untuk mengubah pengaturan suara
- Atur nada dering
- Bersihkan daftar hitam?
- %1$s dari daftar hitam?]]>
- Donasi
- Jika anda rasa saya berhak dibayar untuk karya saya, anda dapat berdonasi disini
- Belikan saya:
- Unduh dari Last.fm
- Mode berkendara
- Ubah
- Ubah sampul
- Kosong
- Ekualiser
- Galat
- Tanya-Jawab
- Favorit
- Menyelesaikan lagu terakhir
- Pas
- Datar
- Folder
- Ikuti sistem
- Untuk anda
- Gratis
- Penuh
- Kartu penuh
- Ubah tema dan warna dari aplikasi
- Tampilan
- Aliran
- Aliran
- Fork projek di GitHub
- Gabung di komunitas Google plus, anda dapat bertanya ataupun mengikuti pembaruan dari aplikasi Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Gaya kisi
- Engsel
- Riwayat
- Beranda
- Balik horizontal
- Gambar
- Gradasi gambar
- Ubah pengaturan pengunduhan gambar artis
- Lagu %1$d dimasukan ke daftar putar %2$s.
- Bagikan pengaturan Retro Musicmu di Instagram untuk menunjukannya
- Papan ketik
- Bitrate
- Format
- Nama berkas
- Direktori berkas
- Ukuran
- Selebihnya dari %s
- Tingkat pengambilan sampel
- Durasi
- Berlabel
- Terakhir ditambahkan
- Lagu terakhir
- Mari putar sebuah lagu
- Pustaka
- Kategori pustaka
- Lisensi
- Putih jelas
- Pendengar
- Pengurutan berkas
- Memuat produk…
- Masuk
- Lirik
- Dibuat dengan cinta ❤️ di India
- Material
- Galat
- Kesalahan perizinan
- Nama
- Sering dimainkan
- Tidak pernah
- Banner foto baru
- Daftar putar baru
- Foto profil baru
- %s adalah direktori awal yang baru.
- Lagu selanjutnya
- Tidak ada album
- Tidak ada artis
- "Putar lagu lebih dahulu, lalu coba lagi."
- Ekualiser tidak ditemukan
- Tidak ada genre
- Lirik tidak ditemukan
- Tidak ada lagu diputar
- Tidak ada daftar putar
- Pembelian tidak ditemukan.
- Tidak ada hasil
- Tidak ada lagu
- Normal
- Lirik normal
- Normal
- %s tidak ada di daftar media.]]>
- Tak ada apapun untuk dipindai.
- Tidak ada apapun untuk dilihat
- Pemberitahuan
- Sesuaikan gaya pemberitahuan
- Sedang diputar
- Antrean sedang dimutar
- Kostumisasi layar sedang diputar
- 9+ gaya sedang diputar
- Hanya melalui Wi-Fi
- Fitur percobaan lanjutan
- Lainnya
- Kata sandi
- 3 bulan lalu
- Tempel lirik di sini
- Peak
- Izin untuk mengakses penyimpanan eksternal ditolak.
- Izin ditolak.
- Personalisasi
- Sesuaikan sedang diputar dan tampilan kontrol
- Pilih dari penyimpanan lokal
- Pilih gambar
- Pinterest
- Ikuti laman Pinterest untuk inspirasi desain Retro Music
- Polos
- Notifikasi pemutaran menyediakan tindakan untuk mainkan/jeda, dsb.
- Notifikasi pemutaran
- Kosongkan daftar putar
- Daftar putar kosong
- Nama daftar putar
- Daftar putar
- Gaya rinci album
- Tingkat keburaman diaplikasikan pada tema buram, lebih rendah membuat lebih cepat
- Tingkat keburaman
- Atur sudut bagian bawah dialog
- Sudut dialog
- Urutkan berdasar panjang lagu
- Filter berdasar durasi lagu
- Lanjutan
- Gaya album
- Audio
- Daftar hitam
- Kontrol
- Tema
- Gambar
- Pustaka
- Layar kunci
- Daftar putar
- Jeda saat volume sedang nol dan putar setelah menaikan volume. Peringatan, ketika anda menaikan volume, musik akan mulai berputar, bahkan jika anda berada di luar aplikasi
- Jeda saat volume nol
- Membiarkan fitur ini aktif mungkin akan berpengaruh pada daya baterai
- Biarkan layar tetap menyala
- Klik atau geser untuk membuka layar sedang diputar
- Klik atau geser
- Efek salju jatuh
- Menggunakan sampul album lagu yang sedang diputar sebagai wallpaper layar kunci
- Volume lebih rendah ketika suara sistem diputar atau terdapat notifikasi baru
- Konten folder yang telah didaftar hitamkan disembunyikan dari pustaka.
- Mulai pemutaran saat terhubung dengan perangkat bluetooth
- Blur sampul album di layar kunci. Dapat menyebabkan masalah dengan aplikasi pihak ketiga dan widget
- Efek karosel di sampul album yang sedang diputar. Ingat bahwa Kartu dan Kartu Buram tidak akan bekerja
- Gunakan desain notifikasi klasik
- Latar belakang, Warna tombol kontrol berubah sesuai sampul album lagu yang diputar
- Warna pintasan aplikasi dalam warna aksen. Setiap kali anda mengubahnya, restart aplikasi untuk menerapkan efek
- Warna bar navigasi primer
- "Warna notifikasi berdasarkan warna dominan sampul album"
- Berdasarkan peraturan Desain Material dalam mode gelap, warna haruslah didesaturasikan
- Warna paling dominan akan dipilih sampul album atau artis
- Tambahkan kontrol tambahan untuk pemutar mini
- Tampilkan informasi lagu tambahan, seperti format file, bitrate dan frekuensi
- "Dapat menyebabkan masalah pemutaran pada beberapa perangkat."
- Toggle tab aliran
- Toggle gaya banner beranda
- Dapat meningkatkan kualitas sampul album tetapi menyebabkan waktu pemuatan gambar lebih lambat. Hanya aktifkan ini jika Anda memiliki masalah dengan gambar resolusi rendah
- Atur visibilitas dan perintah dari kategori pustaka.
- Gunakan kontrol layar kunci Retro Music
- Rincian Lisensi untuk aplikasi sumber terbuka
- Lengkungkan sudut aplikasi
- Toggle judul untuk tab bilah navigasi bawah
- Mode immersif
- Putar segera setelah headphones terhubung
- Mode acak akan non-aktif ketika memutar lagu baru dari daftar
- Jika tersedia ruang yang memadai, tampilkan pengendai suara di layar sedang diputar
- Tampilkan sampul album
- Tema sampul album
- Sampul album lewati
- Kisi album
- Pintasan aplikasi berwarna
- Gaya grid artis
- Kurangi volume ketika hilang fokus
- Otomatis unduh gambar artis
- Daftar hitam
- Pemutaran bluetooth
- Buramkan sampul album
- Pilih ekualiser
- Desain notifikasi klasik
- Warna adaptif
- Notifikasi berwarna
- Desaturasi warna
- Kontrol tambahan
- Info lagu
- Pemutaran tanpa jeda
- Tema aplikasi
- Tampilkan tab aliran
- Kisi beranda artis
- Banner beranda
- Abaikan sampul Media Store
- Interval daftar putar terbaru
- Kontrol layar penuh
- Bilah navigasi berwarna
- Tema sedang diputar
- Lisensi sumber terbuka
- Tepi sudut
- Mode tab judul
- Efek Karosel
- Warna dominan
- Layar penuh aplikasi
- Tab judul
- Putar otomatis
- Mode acak
- Kontrol volume
- Info pengguna
- Warna primer
- Warna tema primer, warna bawaab biru keabu-abuan, untuk saat ini berfungsi dengan warna gelap
- Pro
- Tema hitam, tema sedang diputar, efek karosel dan lainnya..
- Profil
- Beli
- *Pikirkan sebelum membeli, jangan minta pengembalian uang.
- Antrean
- Nilai aplikasi
- Suka aplikasi ini? beri tahu kami di Google Play Store untuk memberikan pengalaman yang lebih baik
- Album terbaru
- Artis terbaru
- Hapus
- Hapus foto banner
- Hapus sampul
- Hapus dari daftar hitam
- Hapus foto profil
- Hapus lagu dari daftar putar
- %1$s dari daftar putar?]]>
- Hapus lagu dari daftar putar
- %1$d dari daftar putar?]]>
- Ganti nama daftar putar
- Laporkan isu
- Laporkan bug
- Setel ulang
- Setel ulang gambar artis
- Pulihkan
- Pembelian dipulihkan. Mulai kembali aplikasi agar semua fitur dapat digunakan.
- Pembelian dipulihkan.
- Memulihkan pembelian…
- Ekualiser Retro Music
- Retro Music Player
- Retro Music Pro
- Gagal menghapus file: %s
-
- Gagal mendapatkan SAF URI
- Buka laci notifikasi
- Aktifkan \'Tampilkan Kartu SD\' di menu luapan
-
- %s membutuhkan akses kartu SD
- Anda perlu memilih direktori akar kartu SD anda
- Pilih kartu SD anda di laci navigasi
- Jangan buka sub-folder apapun
- Ketuk tombol \'pilih\' pada bagaian bawah layar
- Gagal menulis file: %s
- Simpan
-
-
- Simpan berkas sebagai
- Simpan file sebagai
- Daftar putar disimpan ke %s.
- Menyimpan perubahan
- Pindai media
- %1$d dari %2$d selesai dipindai.
- Scrobbles
- Cari di pustaka…
- Pilih semua
- Pilih foto banner
- Terpilih
- Kirim catatan kerusakan
- Atur
- Setel gambar artis
- Atur foto profil
- Bagikan Apl
- Bagikan ke Cerita
- Acak
- Sederhana
- Waktu tidur dibatalkan.
- Pewaktu tidur diatur %d menit dari sekarang.
- Meluncur
- Album kecil
- Sosial
- Bagikan cerita
- Lagu
- Durasi lagu
- Lagu
- Urutkan
- Meningkat
- Album
- Artis
- Komposer
- Tanggal ditambahkan
- Tanggal diubah
- Tahun
- Menurun
- Maaf! Perangkat anda tidak mendukung masukan suara
- Cari pustaka anda
- Tumpuk
- Mulai pemutaran musik.
- Saran
- Hanya tampilkan nama anda di beranda
- Dukung pengembangan
- Geser untuk membuka
- Lirik tersinkron
- Ekualiser Sistem
-
- Telegram
- Gabung ke grup Telegram untuk mendiskusikan masalah, membuat permintaan, memamerkan dan lainnya
- Terima kasih!
- Berkas audio
- Bulan ini
- Pekan ini
- Tahun ini
- Kecil
- Judul
- Dasbor
- Selamat sore
- Selamat siang
- Selamat malam
- Selamat pagi
- Selamat malam
- Siapa namamu
- Hari ini
- Album teratas
- Artis teratas
- "Trek (2 untuk trek 2 atau 3004 untuk CD3 trek 4)"
- Nomor trek
- Terjemahkan
- Help us translating app to your language
- Twitter
- Bagikan desain anda dengan Retro Music
- Tidak berlabel
- Tidak dapat memutar lagu ini.
- Selanjutnya
- Perbarui gambar
- Memperbarui…
- Nama pengguna
- Versi
- Balik vertikal
- Virtualiser
- Volume
- Pencarian web
- Selamat datang,
- Apa yang ingin anda bagikan?
- Apa yang baru
- Jendela
- Sudut melengkung
- Atur %1$s sebagai nada dering.
- %1$d dipilih
- Tahun
- Anda harus memilih setidaknya satu kategori.
- Anda akan diteruskan ke situs web pelacak masalah.
- Data akun anda hanya digunakan untuk otentikasi.
- Jumlah
- Catatan(Opsional)
- Mulai pembayaran
- Tampilkan layar sedang diputar
- Mengklik pada notifikasi akan menampilkan layar sedang diputar bukan layar beranda
- Kartu kecil
-
diff --git a/app/src/main/res/master/values-it-rIT/strings.xml b/app/src/main/res/master/values-it-rIT/strings.xml
deleted file mode 100644
index 3ab5f6486..000000000
--- a/app/src/main/res/master/values-it-rIT/strings.xml
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
- Team e pagine social
- Colore in rilievo
- Il colore secondario del tema, il predefinito è verde
- Informazioni
- Aggiungi ai preferiti
- Aggiungi alla coda
- Aggiungi alla playlist
- Cancella coda
- Svuota la playlist
- Modalità ripetizione continua
- Elimina
- Elimina dal dispositivo
- Dettagli
- Vai all\'album
- Vai all\'artista
- Vai al genere
- Torna al percorso iniziale
- Concedi
- Dimensione griglia
- Dimensione griglia (orizzontale)
- Nuova playlist
- Successivo
- Riproduci
- Riproduci tutti
- Riproduci successivo
- Riproduci/Pausa
- Precedente
- Rimuovi dai preferiti
- Rimuovi dalla coda
- Rimuovi dalla playlist
- Rinomina
- Salva coda di riproduzione
- Scansiona
- Cerca
- Inizia
- Imposta come suoneria
- Imposta come percorso iniziale
- "Impostazioni"
- Condividi
- Riproduzione casuale
- Riproduzione casuale playlist
- Timer sonno
- Ordina per
- Modifica tag
- Seleziona preferito
- Seleziona modalità di riproduzione casuale
- Adattivo
- Aggiungi
- Aggiungi testi
- Aggiungi foto
- "Aggiungi alla playlist"
- Aggiungi testi sincronizzati
- "Aggiunto un brano alla coda."
- Aggiungi %1$d brani alla coda.
- Album
- Artista dell\'album
- Il titolo o l\'artista sono vuoti
- Album
- Sempre
- Hey, dai un\'occhiata a questo fantastico lettore musicale:
-https://play.google.com/store/apps/details?id=%s
- Casuale
- Tracce migliori
- Grande
- Card
- Classico
- Piccolo
- Testo
- Artista
- Artisti
- Focalizzazione audio negata.
- Modifica le impostazioni audio e regola i controlli dell\'equalizzatore
- Automatico
- Colore base del tema
- Amplificazione bassi
- Biografia
- Biografia
- Solo nero
- Blacklist
- Sfocatura
- Card sfocata
- Impossibile inviare il rapporto
- Token di accesso non valido. Contatta lo sviluppatore dell\'app.
- I problemi non sono abilitati per la repository selezionata. Contatta lo sviluppatore dell\'app.
- Si è verificato un errore imprevisto. Contatta lo sviluppatore dell\'app.
- Nome utente o password errati
- Problema
- Invia manualmente
- Inserisci una descrizione del problema
- Inserisci la tua password GitHub
- Inserisci un titolo al problema
- Inserisci il tuo nome utente GitHub
- Si è verificato un errore imprevisto. Mi dispiace, se continua a bloccarsi \"Cancella i dati\" dell\'app o inviami un\'email
- Caricando il rapporto su GitHub...
- Invia con l\'account GitHub
- Acquista ora
- Annulla
- Card
- Circolare
- Card colorata
- Card
- Carosello
- Effetto scorrimento sulla schermata di riproduzione
- Cascata
- Forma
- Ultime modifiche
- Per visualizzare le ultime modifiche, entra nel canale Telegram
- Cerchio
- Circolare
- Classico
- Vuoto
- Cancella i dati dell\'app
- Cancella blacklist
- Cancella coda
- Cancella playlist
- %1$s b>? Questo non pu\u00f2 essere annullato!]]>
- Chiudi
- Colore
- Colore
- Colori
- Compositore
- Info dispositivo copiate negli appunti.
- Impossibile creare la playlist.
- "Impossibile scaricare la copertina dell'album corrispondente."
- Impossibile ripristinare l\'acquisto.
- Impossibile scansionare %d file.
- Crea
- Playlist %1$s creata.
- Membri e collaboratori
- Ascoltando attualmente %1$s di %2$s.
- Scuro
- Nessun testo
- Elimina playlist
- %1$s?]]>
- Elimina playlist
- Elimina brano
- %1$s?]]>
- Elimina brani
- %1$d playlist?]]>
- %1$d brani?]]>
- Eliminati %1$d brani
- Eliminando i brani
- Profondità
- Descrizione
- Info dispositivo
- Consenti a Retro Music di modificare le impostazioni audio
- Imposta suoneria
- Vuoi cancellare la blacklist?
- %1$s dalla blacklist?]]>
- Dona
- Se pensi che io meriti di essere pagato per il mio lavoro, puoi lasciarmi qualche soldo qui
- Pagami un:
- Scarica da Last.fm
- Modalità alla guida
- Modifica
- Modifica copertina
- Vuoto
- Equalizzatore
- Errore
- FAQ
- Preferiti
- Termina ultimo brano
- Adatta
- Piatto
- Cartelle
- Sistema
- Per te
- Gratis
- Pieno
- Card intera
- Cambia il tema e i colori dell\'app
- Aspetto
- Genere
- Generi
- Sviluppa il progetto su GitHub
- Unisciti alla community di Google Plus, dove puoi chiedere aiuto o seguire gli aggiornamenti di Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Griglie e stile
- Cerniera
- Cronologia
- Homepage
- Flip orizzontale
- Immagine
- Immagine sfumata
- Modifica le impostazioni di download delle immagini
- Inseriti %1$d brani nella playlist %2$s.
- Condividi la tua configurazione di Retro Music per mostrarla su Instagram
- Tastiera
- Bitrate
- Formato
- Nome del file
- Percorso del file
- Dimensione
- Altro da %s
- Frequenza di campionamento
- Lunghezza
- Etichettato
- Ultimi aggiunti
- Ultimo brano
- Suoniamo un po\' di musica
- Raccolta
- Categorie della raccolta
- Licenze
- Chiaro
- Ascoltatori
- Elenco dei file
- Caricamento prodotti...
- Accedi
- Testi
- Creato con ❤ in India
- Material
- Errore
- Errore di autorizzazione
- Nome
- I più riprodotti
- Mai
- Nuova immagine copertina
- Nuova playlist
- Nuova foto del profilo
- %s è la nuova directory di avvio
- Brano successivo
- Nessun album
- Nessun artista
- "Prima riproduci un brano, poi riprova."
- Nessun equalizzatore trovato
- Nessun genere
- Nessun testo trovato
- Nessun brano in riproduzione
- Nessuna playlist
- Nessun acquisto trovato.
- Nessun risultato
- Nessun brano
- Normale
- Testi normali
- Normale
- %s non è presente nel Media Store.]]>
- Niente da rilevare
- Non c\'è niente da vedere
- Notifica
- Modifica lo stile delle notifiche
- In riproduzione
- Coda in riproduzione
- Personalizza la schermata riproduzione
- Più di 9 schermate di riproduzione
- Solo tramite Wi-fi
- Funzionalità sperimentali
- Altro
- Password
- Ultimi 3 mesi
- Incolla i testi qui
- Picco
- Autorizzazione ad accedere all\'archiviazione esterna negata.
- Autorizzazione negata.
- Personalizza
- Personalizza i comandi riproduzione
- Scegli dalla memoria locale
- Scegli immagine
- Pinterest
- Segui la pagina Pinterest per ispirazioni sul design di Retro Music
- Piatto
- La notifica di riproduzione fornisce azioni per riproduzione/pausa ecc.
- Notifica di riproduzione
- Playlist vuota
- La playlist è vuota
- Nome playlist
- Playlist
- Stile dettagli album
- Quantità di sfocatura applicata per i temi con sfocatura, minore è più veloce
- Quantità di sfocatura
- Regola gli angoli della finestra di dialogo inferiore
- Angoli finestra
- Filtra brani per durata
- Filtro durata brano
- Avanzate
- Stile album
- Audio
- Blacklist
- Controlli
- Tema
- Immagini
- Raccolta
- Schermata di blocco
- Playlist
- Mette in pausa la riproduzione quando il volume scende a zero e riprende aumentando il volume. Funziona anche al di fuori dell\'app
- Pausa a zero
- Ricorda che abilitando questa opzione l\'autonomia del tuo dispositivo potrebbe risentirne
- Mantieni lo schermo acceso
- Premi per aprire o scorri nella schermata di riproduzione
- Premi o scorri
- Effetto neve
- Imposta la copertina del brano riprodotto come sfondo del blocco schermo
- Riduce il volume quando viene riprodotto un suono di sistema o viene ricevuta una notifica
- Il contenuto delle cartelle nella blacklist non compare nella raccolta
- Avvia la riproduzione non appena connesso al dispositivo bluetooth
- Sfoca la copertina dell\'album sulla schermata di blocco. Può causare problemi con app e widget di terze parti
- Effetto scorrimento della copertina nella schermata in riproduzione. Non funziona con i temi Scheda e Scheda sfocata
- Usa il design classico delle notifiche
- Lo sfondo e il pulsante di riproduzione cambiano colore in base alla copertina dell\'album in riproduzione
- Colora le scorciatoie dell\'app con il colore in rilievo. Ogni volta che cambi colore attiva questo perché abbia effetto
- Colora la barra di navigazione con il colore primario
- "Colora la notifica con il colore principale della copertina dell'album"
- Secondo le linee guida del Material Design, in modalità scura i colori devono essere desaturati
- Il colore dominante verrà selezionato dall\'album o dalla copertina dell\'artista
- Aggiungi controlli extra nel mini player
- Mostra informazioni extra sul brano come formato del file, bitrate e frequenza
- "Può causare problemi di riproduzione su alcuni dispositivi"
- Attiva la scheda Genere
- Attiva banner nella home
- Può aumentare la qualità delle copertine degli album, ma causa un rallentamento nel caricamento delle immagini. Abilita solo se hai problemi con la bassa qualità delle copertine
- Configura la visibilità e l\'ordine delle categorie
- Usa i comandi di Retro Music nella schermata di blocco
- Dettagli licenza per il software open source
- Arrotonda i bordi dell\'app
- Attiva i titoli delle schede
- Modalità immersiva
- Inizia la riproduzione subito dopo aver collegato le cuffie
- La modalità casuale viene disattivata quando si riproduce un nuovo elenco di brani
- Se c\'è spazio sufficiente, mostra i controlli del volume nella schermata in riproduzione
- Mostra la copertina dell\'album
- Tema copertina dell\'album
- Modalità cambio copertina dell\'album
- Griglia album
- Scorciatoie app colorate
- Griglia artista
- Riduzione volume con perdita di focalizzazione audio
- Scarica automaticamente immagini artista
- Blacklist
- Riproduzione bluetooth
- Copertina dell\'album sfocata
- Scegli un equalizzatore
- Design classico per le notifiche
- Colore adattivo
- Notifica colorata
- Colori desaturati
- Controlli extra
- Informazioni brano
- Riproduzione senza interruzioni
- Tema generale
- Mostra scheda Genere
- Griglia schermata artista
- Banner
- Ignora le copertine del Media Store
- Intervallo playlist ultimi aggiunti
- Controlli a schermo intero
- Barra di navigazione colorata
- Tema schermata riproduzione
- Licenze open source
- Angoli arrotondati
- Modalità titoli schede
- Effetto scorrimento
- Colore dominante
- Applicazione a schermo intero
- Titoli schede
- Riproduzione automatica
- Modalità casuale
- Controlli volume
- Info utente
- Colore primario
- Il colore primario del tema, blu-grigio di default, per ora funziona con colori scuri
- Pro
- Temi in riproduzione, effetto scorrimento e molto altro...
- Profilo
- Acquista
- * Pensaci prima di acquistare, non chiedere il rimborso.
- Coda
- Valuta l\'app
- Adori quest\'app? Facci sapere sul Play Store come possiamo renderla ancora migliore
- Album recenti
- Artisti recenti
- Rimuovi
- Rimuovi la foto del banner
- Rimuovi copertina
- Rimuovi dalla blacklist
- Rimuovi la foto profilo
- Rimuovi il brano dalla playlist
- %1$s dalla playlist?]]>
- Rimuovi brani dalla playlist
- %1$d dalla playlist?]]>
- Rinomina playlist
- Segnala un problema
- Segnala bug
- Ripristina
- Ripristina immagine artista
- Ripristina
- Acquisto precedente ripristinato. Riavvia l\'app per utilizzare tutte le funzionalità.
- Acquisti precedenti ripristinati.
- Ripristino acquisto...
- Equalizzatore di Retro Music
- Retro Music Player
- Retro Music Pro
- Eliminazione file fallita: %s
-
- Impossibile ottenere l\'URI dal SAF
- Apri il pannello di navigazione
- Abilita \'Mostra scheda SD\' nel menu a comparsa
-
- %s richiede l\'accesso alla scheda SD
- Seleziona la directory principale della scheda SD
- Seleziona la tua scheda SD nel pannello di navigazione
- Non aprire alcuna sottocartella
- Tocca \'seleziona\' nella parte inferiore dello schermo
- Scrittura file fallita: %s
- Salva
-
-
- Salva come file
- Salva come file
- Playlist salvata in %s.
- Salvataggio modifiche
- Scansiona media
- Scansionati %1$d di %2$d file.
- Scrobbles
- Cerca nella tua raccolta...
- Seleziona tutto
- Seleziona la foto del banner
- Selezionato
- Invia registro errori
- Imposta
- Imposta immagine artista
- Imposta una foto profilo
- Condividi app
- Condividi nelle Storie
- Casuale
- Semplice
- Timer sonno cancellato.
- Timer sonno impostato per %d minuti da ora.
- Scorri
- Album piccolo
- Social
- Condividi storia
- Brano
- Durata brano
- Brani
- Ordina per
- Crescente
- Album
- Artista
- Compositore
- Data
- Ultima modifica
- Anno
- Decrescente
- Il tuo dispositivo non supporta l\'input vocale
- Cerca nella tua raccolta
- Pila
- Inizia a riprodurre musica.
- Suggerimenti
- Mostra il tuo nome nella schermata home
- Sostieni lo sviluppo
- Scorri per sbloccare
- Testi sincronizzati
- Equalizzatore di sistema
-
- Telegram
- Unisciti al gruppo Telegram per discutere dei bug, dare suggerimenti e molto altro
- Grazie!
- Il file audio
- Questo mese
- Questa settimana
- Quest\'anno
- Piccolo
- Titolo
- Dashboard
- Buon pomeriggio
- Buona giornata
- Buonasera
- Buongiorno
- Buonanotte
- Qual è il tuo nome
- Oggi
- Album migliori
- Artisti migliori
- "Traccia (2 per traccia 2 o 3004 per CD3 traccia 4)"
- Numero traccia
- Traduci
- Aiutaci traducendo l\'app nella tua lingua
- Twitter
- Condividi il tuo design con Retro Music
- Senza etichetta
- Impossibile riprodurre il brano.
- Prossimo
- Aggiorna immagine
- Aggiornamento...
- Nome utente
- Versione
- Flip verticale
- Virtualizzatore
- Volume
- Ricerca web
- Benvenuto.
- Cosa vuoi condividere?
- Novità
- Finestra
- Angoli arrotondati
- %1$s impostata come suoneria.
- %1$d selezionato
- Anno
- Seleziona almeno una categoria.
- Verrai reindirizzato al sito web dei problemi.
- I dati del tuo account vengono utilizzati solo per l\'autenticazione.
- Valore
- Nota (opzionale)
- Inizia pagamento
- Mostra la schermata riproduzione
- Cliccando sulla notifica verrà visualizzata la schermata di riproduzione invece della schermata home
- Card piccola
-
diff --git a/app/src/main/res/master/values-iw-rIL/strings.xml b/app/src/main/res/master/values-iw-rIL/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-iw-rIL/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ja-rJP/strings.xml b/app/src/main/res/master/values-ja-rJP/strings.xml
deleted file mode 100644
index ae33a545e..000000000
--- a/app/src/main/res/master/values-ja-rJP/strings.xml
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
- 我々のチームとソーシャルリンク
- アクセントカラー
- テーマのアクセントカラー、既定は青緑色です。
- このアプリについて
- お気に入りに追加
- 再生キューに追加
- プレイリストに追加…
- 再生キューをクリア
- プレイリストを削除
- Cycle repeat mode
- 削除
- デバイスから削除
- 詳細
- アルバムに移動
- アーティストに移動
- ジャンルに移動
- 最初のディレクトリに移動
- 承諾
- グリッドサイズ
- グリッドサイズ(土地)
- New playlist
- 次
- 再生
- Play all
- 次に再生する
- 再生/一時停止
- 前
- お気に入りから削除
- 再生キューから削除
- プレイリストから削除
- 名前を変更
- 再生キューを保存
- スキャン
- 検索
- 開始
- 着信音に設定
- 最初のディレクトリとして設定する
- "設定"
- 共有
- すべてシャッフル
- プレイリストをシャッフル
- スリープタイマー
- 順番をソート
- 音楽タグエディター
- Toggle favorite
- Toggle shuffle mode
- アダプティブ
- 追加
- 歌詞を追加
- 写真を\n追加
- "プレイリストに追加"
- 歌詞に時間枠を組み入れる
- "1曲が再生キューに追加されました"
- %1$d 曲が再生キューに追加されました
- アルバム
- アルバム アーティスト
- 不明なタイトルまたはアーティスト
- アルバム
- 常に
- クールな音楽プレイヤーをチェックしよう: https://play.google.com/store/apps/details?id=%s
- シャッフル
- トップ曲
- レトロミュージック - ビッグ
- レトロミュージック - カード
- レトロミュージック - クラシック
- レトロミュージック - 小
- テキスト
- アーティスト
- アーティスト
- オーディオのフォーカスが拒否されました。
- サウンド設定を変更し、イコライザーコントロールを調整する
- 自動
- ベースカラーテーマ
- 低音ブースト
- バイオグラフィー
- バイオグラフィー
- 黒
- ブラックリスト
- ぼかし
- ブラーとカード
- レポートを送信できませんでした
- 無効なトークン:アプリの開発者に連絡してください
- 選択されたリポジトリで問題が有効になっていません。開発者に連絡してください
- 予期しないエラーが発生しました。開発者に連絡してください。
- ユーザー名かパスワードが違います
- 問題
- 手動で送信
- 問題の説明を入力してください
- 有効なGitHubのパスワードを入力してください
- 問題のタイトルを入力してください
- 有効なGitHubアカウントのユーザー名を入力してください
- 予期しないエラーが発生しました。申し訳ございません。
-このバグが何度も発生する場合は、端末のアプリ設定より「データを削除する(Androidバージョンによって異なります)」を実行するか、概要をメールで送信してください。
- GitHubにレポートをアップロード中...
- GitHubアカウントを使って送信
- Buy now
- キャンセル
- カード
- 円
- 色付きのカード
- カード
- カルーセル
- 再生中画面でのカルーセル効果
- 重ねて表示
- キャスト
- パッチノート
- 電報チャネルで変更ログが維持されています
- Circle
- 円
- クラシック
- 削除
- アプリのデータを削除
- ブラックリストを削除
- キューを削除
- プレイリストを削除
- %1$s? This can\u2019t be undone!]]>
- 閉じる
- カラフル
- カラフル
- 色
- 作曲家
- 端末情報をコピー
- \u30d7\u30ec\u30a4\u30ea\u30b9\u30c8\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
- "\u9069\u5207\u306a\u30a2\u30eb\u30d0\u30e0\u30a2\u30fc\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f"
- 購入の復元に失敗しました
- %d のファイルをスキャンできませんでした
- 作成
- プレイリストを作成しました %1$s
- メンバーと貢献者
- 現在、 %1$s によって %2$s で聴いています。
- ちょっと暗い
- 歌詞がありません
- プレイリストを削除
- %1$s を削除しますか?]]>
- プレイリストを削除
- Delete song
- %1$s を削除しますか?]]>
- Delete songs
- %1$d を削除しますか?]]>
- %1$d 曲を削除しますか?]]>
- %1$d 曲を削除しました
- Deleting songs
- 深さ
- 説明
- 端末の情報
- Retro Musicにオーディオ設定の変更を許可する
- 着信音に設定
- ブラックリストを削除しますか?
- %1$s をブラックリストから削除しますか?]]>
- 寄付します
- 私が自分の仕事に払う価値があると思うなら、あなたはここにお金を残すことができます
- 俺を購入:
- Last.fm からダウンロード
- Drive mode
- 編集
- カバーを編集
- 空の
- イコライザー
- エラー
- よくある質問
- お気に入り
- Finish last song
- フィット
- フラット
- フォルダ
- Follow system
- あなたのために
- Free
- いっぱい
- 全体のカード
- このアプリのテーマや色を変更します
- 見た目と操作感
- ジャンル
- ジャンル
- GitHubでプロジェクトにフォークする
- Google Plus コミュニティに参加してヘルプや Retro Music のアップデート情報を受け取ろう
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- ヒンジ
- 履歴
- ホーム
- 水平方向に反転
- 画像
- Gradient image
- アーティスト画像のダウンロード設定を変更する
- プレイリスト %2$s に %1$d 曲を追加しました
- 君のRetro Music設定を共有してInstagramにショーケースしましょう
- Keyboard
- ビットレート
- フォーマット
- ファイルの名前
- ファイルパス
- サイズ
- More from %s
- サンプリングレート
- 長さ
- ラベル付き
- 最後に追加された
- 前の曲
- 何か再生しよう
- ライブラリ
- Library categories
- ライセンス
- はっきり白
- Listeners
- リスティングファイル
- 商品の読み込み中...
- ログイン
- 歌詞
- Made with ❤️ in India
- マテリアル
- エラー
- 権限が付与されていません
- 名前
- 最も再生された
- 決して
- 新しいバナー画像
- 新しいプレイリスト
- 新しいプロフィール画像
- %s は新しい開始ディレクトリです。
- 次の曲
- アルバムがありません
- アーティストがありません
- "音楽再生してから、再度お試しください"
- イコライザが見つかりませんでした
- ジャンルがありません
- 歌詞が見つかりませんでした
- No songs playing
- プレイリストがありません
- 購入が見つかりません。
- 結果なし
- 曲がありません
- 通常
- 通常の歌詞
- 通常
- %s がリストされたされていません。]]>
- スキャン対象がありません
- Nothing to see
- 通知
- 通知スタイルを変更
- 再生中
- 再生中のキュー
- 再生中の画面をカスタマイズ
- 9種類以上の再生中テーマ
- Wi-Fi時のみ
- 高度な試験的機能
- その他
- パスワード
- 過去3ヶ月
- ここに歌詞を入力してください
- Peak
- 外部ストレージへのアクセスが拒否されました
- 許可が拒否されました
- 個人用設定
- 再生中のUI画面をカスタマイズ
- ローカルストレージから選択
- 画像を選択
- Pinterest
- PintrestでRetro Musicのデザインのインスピレーションを感じましょう!
- プレーン
- 再生中の通知は再生/停止の操作が利用できます
- 再生中の通知
- 空のプレイリスト
- プレイリストが空です
- プレイリストの名前
- プレイリスト
- アルバムのディテールスタイル
- ブラーを使用するテーマを使用した際のブラーの強さを設定します。低いほど処理が早くなります
- ぼかしの強さ
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- 曲の長さをフィルター
- Advanced
- Album style
- オーディオ
- Blacklist
- Controls
- テーマ
- 画像
- Library
- ロック画面
- プレイリスト
- 音量がゼロになると自動的に音楽が一時停止し、再び音量を上げると音楽が再生されます。※あなたがアプリ外で音量を上げると、Retro Musicも再生を開始します。
- 音量をゼロで一時停止
- この機能をオンにすると、バッテリー寿命に影響する可能性があります
- 画面をオンのままにする
- 現在再生中の画面に移動せずに、クリックまたはスライドして開く
- クリックもしくはスライド
- スノーフォールエフェクト
- 再生中のジャケットをロック画面の壁紙に適用する
- システムでサウンドが再生されたとき、または通知が受信されたときに一時的に音量を下げる
- ブラックリストに登録されたフォルダの内容はコレクションには表示されません。
- Start playing as soon as connected to bluetooth device
- ロック画面のジャケットをぼかします。他のアプリやウィジェットに問題を及ぼす可能性があります
- 再生中のジャケットにスライドエフェクトを適用する。この設定を適用するとカードテーマの設定は自動的にオフになります
- 古い通知デザインを使用する
- ジャケットから抽出された色が背景と再生ボタンに適用されます
- アプリのショートカットアイコンをアクセントカラーに切り替えます。アクセントカラーを変更した場合はトグルを切り替えて設定を適用してください
- ナビゲーションバーにプライマリカラーを適用します
- "\u30b8\u30e3\u30b1\u30c3\u30c8\u304b\u3089\u62bd\u51fa\u3055\u308c\u305f\u8272\u3067\u901a\u77e5\u3092\u7740\u8272\u3059\u308b"
- As per Material Design guide lines in dark mode colors should be desaturated
- 全体の色はアルバムジャケットまたはアーティストの画像から選択されます
- ミニプレイヤー専用のコントロールボタンを追加する
- Show extra Song information, such as file format, bitrate and frequency
- "一部のデバイスでは再生に問題が発生する場合があります"
- ジャンルタブを切り替える
- ホーム画面を切り替える
- アルバムジャケットのクオリティを上げますが、読み込みに時間がかかる場合があります。低解像度の画像で問題がある場合に有効です。
- Configure visibility and order of library categories.
- Retro Musicのカスタムされたロック画面を使用する
- オープンソースライセンスの詳細
- アプリの端を丸める
- 下部のナビゲーションタブを切り替える
- フルスクリーンモード
- ヘッドフォンが接続されたら自動で再生を開始する
- 新しいリストの楽曲を再生する時にシャッフルは自動的にオフになります
- 再生画面に十分なスペースがある場合に音量コントロールを追加する
- アルバムジャケットを表示
- アルバムカバーのテーマ
- アルバムジャケットをスキップ
- アルバムの間隔
- 色のついたアプリショートカット
- アーティストの間隔
- フォーカスロス時に音量を下げる
- アーティスト画像を自動でダウンロードする
- ブラックリスト
- Bluetooth playback
- アルバムジャケットにぼかしを適用する
- イコライザーを選択
- 古い通知デザイン
- アダプティブカラー
- 色付きの通知
- Desaturated color
- 追加のコントロール
- Song info
- ギャップレス再生
- アプリのテーマ
- ジャンルタブを表示
- アーティストの間隔
- ホーム画面
- Media Store のカバーを無視する
- 最後に追加されたプレイリストの間隔
- フルスクリーンコントロール
- ナビゲーションに着色する
- 再生中のテーマ
- オープンソースライセンス
- コーナーと角
- タブのラベルモード
- カルーセルエフェクト
- 全体の色
- フルスクリーンアプリ
- タブのタイトル
- 自動再生
- シャッフルモード
- ボリュームコントロール
- ユーザー情報
- プライマリカラー
- プライマリカラーはデフォルトではブルーグレーに設定されています。現在はダークモードでのみ動作します。
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- プロフィール
- 購入
- 購入後に返金を求めないようにお願い申し上げます。
- キュー
- アプリを評価する
- このアプリを気に入りましたか?アプリをより良いものにするために、Google Play Storeで問題の報告と意見をよろしくお願いします。
- 最近のアルバム
- 最近のアーティスト
- 削除
- バナー画像を削除する
- ジャケットを削除
- ブラックリストから削除
- プロフィール画像を削除
- プレイリストから曲を削除
- %1$s をプレイリストから削除しますか?]]>
- プレイリストから曲を削除する
- %1$d をプレイリストから削除しますか?]]>
- プレイリストの名前を変更
- 問題を報告
- 不具合を報告する
- Reset
- アーティスト画像をリセット
- 復元
- 購入を復元しました。アプリを再起動してフルバージョンをご堪能ください!
- 購入を復元しました
- 購入を復元しています...
- Retro Music イコライザ
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- 保存
-
-
- ファイルとして保存
- ファイルとして保存
- %s にプレイリストを保存しました
- 変更を保存中
- メディアをスキャン
- %2$d のうち、%1$d がスキャンされました
- Scrobbles
- ライブラリを検索しています...
- すべて選択
- バナー画像を選択してください
- 選択された
- クラッシュログを送信する
- 決定
- アーティスト画像を設定
- プロフィール画像を設定
- アプリを共有する
- Share to Stories
- シャッフル
- シンプル
- スリープタイマーがキャンセルされました
- スリープタイマーは %d 分後に設定されました。
- スライド
- 小さなアルバム
- ソーシャル
- Share story
- 曲
- 曲の長さ
- 曲
- 順番をソート
- 昇順
- アルバム
- アーティスト
- 作曲家
- 日付
- Date modified
- 年
- 降順
- ごめんなさい! このデバイスは音声入力に対応しておりません
- ライブラリを検索
- Stack
- Start playing music.
- 改善を提案
- ホームに名前が表示されます
- 開発を支援
- スワイプしてアンロック
- 連動した歌詞
- システムのイコライザ
-
- Telegram
- Telegram のグループに参加して、バグについて話し合ったり、提案したりしましょう
- ありがとう!
- オーディオファイル
- 今月
- 今週
- 今年
- 小さい
- 主題
- ダッシュボード
- こんにちは
- 良い一日を
- こんばんは
- おはようございます
- おやすみなさい
- あなたの名前はなんですか?
- 今日
- トップアルバム
- トップアーティスト
- "トラック(トラック2の場合は「truck 2」、CD3でtruck4の場合は 「3004」)"
- トラック番号
- 翻訳
- 翻訳を手伝ってください!
- ツイッター
- あなたのデザインを皆に共有しましょう
- ラベル付きでない
- \u3053\u306e\u66f2\u3092\u518d\u751f\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
- 次
- 画像を更新
- 更新中...
- ユーザー名
- バージョン
- 垂直方向に反転
- バーチャライザー
- Volume
- ウェブで検索
- Welcome,
- 何を共有しますか?
- 更新内容
- ウィンドウ
- 角を丸める
- %1$s をあなたの着信音として設定しました
- %1$d が選択されました
- 年
- You have to select at least one category.
- issue trackerのウェブサイトに転送されます
- あなたのアカウントは認証にのみ使用されます
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-kn-rIN/strings.xml b/app/src/main/res/master/values-kn-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-kn-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ko-rKR/strings.xml b/app/src/main/res/master/values-ko-rKR/strings.xml
deleted file mode 100644
index 10c27f2e8..000000000
--- a/app/src/main/res/master/values-ko-rKR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- 강조 색상
- 강조 색상을 지정합니다. 기본값은 녹색입니다.
- 정보
- 즐겨찾기에 추가
- 재생 대기열에 추가
- 재생목록에 추가...
- 재생 대기열 비우기
- 재생목록 비우기
- Cycle repeat mode
- 삭제
- 기기에서 삭제
- 세부 정보
- 해당 앨범으로 이동
- 해당 아티스트로 이동
- Go to genre
- 초기 디렉터리로 이동
- 허용
- 격자 크기
- 격자 크기 (가로)
- New playlist
- 다음
- 재생
- Play all
- 다음 곡 재생
- 재생/일시정지
- 이전
- 즐겨찾기에서 제거
- 재생 대기열에서 제거
- 재생목록에서 제거
- 이름 바꾸기
- 재생 대기열 저장
- 스캔
- 검색
- 지정
- 벨소리로 설정
- 초기 디렉터리로 설정
- "설정"
- 공유
- 모든 곡 무작위 재생
- 재생목록 무작위 재생
- 수면 타이머
- Sort order
- 태그 편집기
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- 추가
- Add lyrics
- 사진\n추가
- "재생목록에 추가"
- Add time frame lyrics
- "재생 대기열에 1곡이 추가되었습니다."
- 재생 대기열에 %1$d곡이 추가되었습니다.
- 앨범
- 앨범 아티스트
- 제목 또는 아티스트가 없습니다.
- 앨범
- 항상
- 이 멋진 뮤직 플레이어를 한 번 써보세요!: https://play.google.com/store/apps/details?id=%s
- 무작위
- 자주 재생한 음악
- 대형
- 카드
- 클래식
- 소형
- Text
- 아티스트
- 아티스트
- 오디오 포커스가 거부되었습니다.
- 소리 설정 및 이퀄라이저 조정
- Auto
- Base color theme
- Bass Boost
- Bio
- 바이오그래피
- 저스트 블랙
- 블랙리스트
- 흐림 효과
- 블러 카드
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- 현재 타이머 취소
- 카드
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- 변경 사항
- 변경 사항은 Telegram을 통해 확인할 수 있습니다
- Circle
- Circular
- Classic
- 비우기
- Clear app data
- 블랙리스트 비우기
- Clear queue
- 재생목록 비우기
- %1$s? This can\u2019t be undone!]]>
- Close
- 색상
- 색상
- 색상
- Composer
- Copied device info to clipboard.
- \uc7ac\uc0dd\ubaa9\ub85d\uc744 \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
- "\uc774 \uc568\ubc94\uacfc \uc77c\uce58\ud558\ub294 \uc568\ubc94 \ucee4\ubc84\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."
- 구매내역을 복구할 수 없습니다.
- %d개의 파일을 스캔하지 못했습니다.
- 만들기
- %1$s 재생목록을 만들었습니다.
- Members and contributors
- 현재 %2$s의 %1$s를 듣는 중입니다.
- 카인다 다크
- 가사 없음
- 재생목록 삭제
- %1$s 재생목록을 삭제하시겠습니까?]]>
- 재생목록 삭제
- Delete song
- %1$s 노래를 삭제하시겠습니까?]]>
- Delete songs
- %1$d개의 재생목록을 삭제하시겠습니까?]]>
- %1$d개의 노래를 삭제하시겠습니까?]]>
- %1$d개의 노래를 삭제했습니다.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- 블랙리스트를 비우시겠습니까?
- %1$s 항목을 제거하시겠습니까?]]>
- 기부하기
- 제 작업에 대한 대가를 받을 자격이 있다고 생각하신다면 여기서 저를 위해 소액을 기부할 수 있습니다.
- 사주세요!
- Last.fm에서 다운로드
- Drive mode
- Edit
- Edit cover
- 비어 있음
- 이퀄라이저
- Error
- FAQ
- 즐겨찾기
- Finish last song
- Fit
- 플랫
- 폴더
- Follow system
- 당신을 위해
- Free
- 전체
- Full card
- 앱의 여러 가지 색상 변경
- 외관
- 장르
- 장르
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- 기록
- 홈
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- %2$s 재생목록에 %1$d개의 노래를 추가했습니다.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- 비트레이트
- 형식
- 파일 이름
- 파일 경로
- 크기
- More from %s
- 샘플링 레이트
- 길이
- Labeled
- 최근 추가된 목록
- Last song
- 아무거나 재생해보죠!
- 라이브러리
- Library categories
- 라이선스
- 클리어리 화이트
- Listeners
- 파일 목록 생성
- 제품을 불러오는 중...
- Login
- 가사
- Made with ❤️ in India
- Material
- Error
- Permission error
- 내 이름
- 자주 재생한 음악
- 아니오
- New banner photo
- 새 재생목록
- New profile photo
- 이제 %s 디렉터리가 새 초기 디렉터리입니다.
- Next Song
- 앨범 없음
- 아티스트 없음
- "먼저 노래를 재생하고 다시 시도해 보십시오."
- 이퀄라이저가 없습니다.
- 장르 없음
- 가사 없음
- No songs playing
- 재생목록 없음
- 구매내역을 찾을 수 없습니다.
- 결과 없음
- 노래 없음
- 일반
- Normal lyrics
- Normal
- %s은(는) 미디어 저장소에 없는 항목입니다.]]>
- 스캔할 것이 없습니다.
- Nothing to see
- 알림
- 알림 스타일 변경
- 지금 재생 중
- 현재 재생 대기열
- Customize the now playing screen
- 9+ now playing themes
- Wi-Fi에서만
- Advanced testing features
- 기타
- Password
- 이전 3개월
- Paste lyrics here
- Peak
- 외부 저장소 접근 권한이 거부되었습니다.
- 권한이 거부되었습니다.
- 개인화
- 지금 재생 중 화면과 UI 변경
- 로컬 저장소에서 선택
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- 단색
- 재생 알림은 재생/일시 정지 등에 대한 작업을 제공합니다.
- 재생 중 알림
- 빈 재생목록
- 재생목록이 비어 있음
- 재생목록 이름
- 재생목록
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- 오디오
- Blacklist
- Controls
- 일반
- 이미지
- Library
- 잠금 화면
- 재생목록
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- 현재 재생 중인 노래의 앨범 커버를 잠금 화면 배경화면으로 사용합니다.
- 알림, 탐색 등
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- 잠금 화면의 앨범 커버에 흐림 효과를 적용합니다. 서드 파티 앱 및 위젯에서 문제가 생길 수 있습니다.
- 지금 재생 중 화면에서 이전/다음 곡의 앨범 아트를 표시합니다.
- 클래식 알림 디자인을 사용합니다.
- 배경과 조작 버튼의 색상을 재생 화면의 앨범 사진에 따라 바꿉니다.
- 강조 색상의 앱 바로 가기 색상을 지정합니다. 색깔을 바꿀 때마다 이 설정을 다시 켜주세요
- 네비게이션 바의 기본 색상을 지정합니다.
- "\uc568\ubc94 \uc544\ud2b8\ub85c\ubd80\ud130 \ucd94\ucd9c\ud55c \uc0c9\uc0c1\uc73c\ub85c \uc54c\ub9bc \uc0c9\uc0c1\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4."
- As per Material Design guide lines in dark mode colors should be desaturated
- 앨범 아트나 아티스트 사진에서 가장 많이 사용된 색상을 고릅니다.
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "몇몇 기기에서 재생 문제를 유발할 수 있습니다."
- Toggle genre tab
- Show or hide the home banner
- 앨범 커버의 품질을 향상시킬 수 있지만 이미지를 불러오는 시간이 늘어납니다. 저해상도 이미지를 불러오는 데 문제가 있는 경우에만 사용하십시오.
- Configure visibility and order of library categories.
- Retro music에서 제공하는 자체 잠금 화면 사용
- 오픈소스 소프트웨어의 상세 라이센스 정보
- 창이나 앨범 아트 등의 모서리를 둥글게 처리
- 하단 탭에 제목을 보여줄지 결정합니다.
- 몰입 모드
- 이어폰이 연결되면 바로 음악을 재생합니다.
- Shuffle mode will turn off when playing a new list of songs
- 음악 재생 화면에서 공간이 있을 시 볼륨 컨트롤을 보입니다
- 앨범 커버 표시
- Album cover theme
- Album cover skip
- Album grid
- 앱 바로가기 색상 틴트
- Artist grid
- 알림이 올 때 볼륨 감소
- 아티스트 이미지 자동 다운로드
- Blacklist
- Bluetooth playback
- 앨범 커버 블러
- Choose equalizer
- 클래식 알림 디자인
- 반응형 색상 지정
- 알림 색상 틴트
- Desaturated color
- Extra controls
- Song info
- 지연없이 재생하기
- 기본 테마
- Show genre tab
- Artist grid
- Banner
- 미디어 저장소 커버 무시
- 최근 추가된 음악 간격 지정
- 전체 화면 컨트롤
- 네비게이션 바 색상 틴트
- 테마
- 오픈소스 라이선스
- 모서리 둥글게 처리
- Tab titles mode
- 회전 효과
- 주요 색상
- 전체 화면
- 탭 제목
- 자동 재생
- Shuffle mode
- 볼륨 조절
- 사용자 정보
- 주 색상
- 테마의 주 색상을 선택합니다. 기본값은 회청색입니다.
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- 구매
- *Think before buying, don\'t ask for refund.
- 대기열
- 앱 평가
- 앱이 마음에 드신다면 Google Play 스토어에 평가를 남겨주세요.
- 지난 앨범
- 지난 아티스트
- 제거
- Remove banner photo
- 커버 제거
- 블랙리스트에서 제거
- Remove profile photo
- 노래를 재생목록에서 제거
- %1$s 노래를 재생목록에서 제거하시겠습니까?]]>
- 노래를 재생목록에서 삭제
- %1$d개의 노래를 재생목록에서 삭제하시겠습니까?]]>
- 재생목록 이름 바꾸기
- Report an issue
- Report bug
- Reset
- 아티스트 이미지 초기화
- 복원
- 지난 구매를 복원했습니다. 모든 기능을 사용하기 위해선 앱을 재시작해 주세요.
- 이전 구매 내역을 복원했습니다.
- 구매 복원 중...
- Retro 이퀄라이저
- Retro Music Player
- RetroMusic Pro 구매
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- 파일로 저장
- Save as files
- 재생목록을 %s 위치에 파일로 저장했습니다.
- 변경 사항 저장
- Scan media
- %2$d개 파일 중 %1$d개 파일을 스캔했습니다.
- Scrobbles
- 라이브러리에서 검색…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- 아티스트 이미지 설정
- Set a profile photo
- Share app
- Share to Stories
- 무작위 재생
- 심플
- 수면 타이머가 취소되었습니다.
- 수면 타이머가 지금으로부터 %d분 후로 설정되었습니다.
- Slide
- Small album
- Social
- Share story
- 노래
- 노래 길이
- 노래
- 정렬 순서
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- 음성 입력을 지원하지 않는 기기입니다
- 라이브러리 검색
- Stack
- Start playing music.
- Suggestions
- 홈 화면에 사용자의 이름을 보여줍니다.
- 개발 지원
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- 감사합니다!
- 오디오 파일
- 이번 달
- 이번 주
- 올해
- 작음
- Title
- 대시보드
- 좋은 저녁입니다
- 좋은 하루입니다
- 좋은 저녁입니다
- 좋은 아침이에요
- 좋은 밤이에요
- 이름이 무엇인가요?
- 오늘
- 인기 앨범
- 인기 아티스트
- "트랙 (트랙 2는 2, CD3의 트랙 4는 3004)"
- 트랙 번호
- 번역
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- \uc774 \ub178\ub798\ub97c \uc7ac\uc0dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
- 다음 곡으로 재생
- 이미지 갱신
- 갱신 중...
- Username
- 버전
- Vertical flip
- Virtualizer
- Volume
- 웹 검색
- Welcome,
- 무엇을 공유하시겠습니까?
- What\'s New
- 창
- Rounded corners
- %1$s을(를) 벨소리로 설정했습니다.
- %1$d개 항목 선택됨
- 연도
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ml-rIN/strings.xml b/app/src/main/res/master/values-ml-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-ml-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ne-rIN/strings.xml b/app/src/main/res/master/values-ne-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-ne-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-nl-rNL/strings.xml b/app/src/main/res/master/values-nl-rNL/strings.xml
deleted file mode 100644
index 710fef05f..000000000
--- a/app/src/main/res/master/values-nl-rNL/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent kleur
- De accent kleur, standaard naar groen
- Over
- Toevoegen aan favorieten
- Voeg toe aan afspeel wachtrij
- Voeg toe aan afspeellijst...
- Afspeel wachtrij legen
- Leeg afspeellijst
- Cycle repeat mode
- Verwijder
- Verwijder van apparaat
- Details
- Ga naar album
- Ga naar artiest
- Go to genre
- Ga naar begin directory
- Geef toestemming
- Raster grootte
- Raster grootte (land)
- New playlist
- Volgende
- Afspelen.
- Play all
- Volgende afspelen
- Afspelen/pauzeren
- Vorige
- Verwijder van favorieten
- Verwijder van afspeel wachtrij
- Verwijder van afspeellijst
- Hernoem
- Afspeel wachtrij opslaan
- Scan
- Zoek
- Instellen
- Stel in als ringtone
- Stel in als begin directory
- "Instellingen"
- Delen
- Shuffle alles
- Shuffle afspeellijst
- Slaap timer
- Sort order
- Tags aanpassen
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Toevoegen
- Add lyrics
- Foto toevoegen
- "Toevogen aan afspeellijst"
- Add time frame lyrics
- "1 titel aan afspeel wachtrij toegevoegd."
- %1$d titels toegevoegd aan afspeel wachtrij
- Album
- Album artiest
- De titel of artiest mist
- Albums
- Altijd
- Hey, bekijk deze coole muziekspeler op:https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top tracks
- Groot
- Kaart
- Klassiek
- Klein
- Text
- Artiest
- Artiesten
- Geluid focus geweigerd
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biografie
- Gewoon zwart
- Zwarte lijst
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Annuleer huidige timer
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog onderhouden in Telegram
- Circle
- Circular
- Classic
- Legen
- Clear app data
- Leeg zwarte lijst
- Clear queue
- Leeg afspeellijst
- %1$s? Dit kan niet ongedaan gemaakt worden!]]>
- Close
- Color
- Color
- Kleuren
- Composer
- Copied device info to clipboard.
- Kon geen afspeellijst maken.
- "Kon geen matchende album cover downloaden."
- Could not restore purchase.
- Kon %d files niet scannen.
- Aanmaken
- Afspeellijst %1$s aangemaakt.
- Members and contributors
- Nu luisterend naar %1$s van %2$s.
- Soort van donker
- Geen lyrics
- Afspeellijst verwijderen
- %1$s verwijderen?]]>
- Afspeellijsten verwijderen
- Delete song
- %1$s?]]>
- Delete songs
- %1$d?]]>
- %1$d?]]>
- Liedjes %1$d verwijderd.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Wil je de zwarte lijst leegmaken?
- %1$s verwijderen van de zwarte lijst?]]>
- Doneren
- Als je vindt dat ik het verdien om geld te krijgen voor mijn werk, dan kun je hier een paar euro\'s doneren.
- Koop mij een
- Downloaden van Last.fm
- Drive mode
- Edit
- Edit cover
- Leeg
- Equalizer
- Error
- FAQ
- Favorieten
- Finish last song
- Fit
- Plat
- Mappen
- Follow system
- For you
- Free
- Vol
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- Geschiedenis
- Start
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- %1$d liedjes toegevoegd aan afspeellijst %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Formaat
- Bestandsnaam
- Bestandslocatie
- Grootte
- More from %s
- Sampling rate
- Duur
- Labeled
- Laatst toegevoegd
- Last song
- Laten we iets afspelen
- Bibliotheek
- Library categories
- Licenties
- Clearly wit
- Listeners
- Luister bestanden
- Podcasts laden...
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Mijn naam
- Mijn top tracks
- Nooit
- New banner photo
- Nieuwe afspeellijst
- New profile photo
- %s is de nieuwe start folder
- Next Song
- Geen albums
- Geen artiesten
- "Laat eerst een liedje afspelen, probeer dan opniew."
- Geen equalizer gevonden.
- You have no genres
- Geen lyrics gevonden
- No songs playing
- Geen afspeellijsten
- No purchase found.
- Geen resultaten
- Geen liedjes
- Normaal
- Normal lyrics
- Normal
- %s staat niet in de media store]]>
- Niets om te scannen
- Nothing to see
- Notificatie
- Customize the notification style
- Now playing
- Nu afspeel wachtrij
- Customize the now playing screen
- 9+ now playing themes
- Alleen Wi-Fi
- Advanced testing features
- Other
- Password
- Laatste 3 maanden
- Paste lyrics here
- Peak
- Permissie voor toegang tot extern opslag is afgewezen
- Permissies afgewezen
- Personalize
- Customize your now playing and UI controls
- Kies van local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Vlak
- De afspeel notificatie bied acties om af te spelen/pauzeren etc.
- Afspeel notificatie
- Lege afspeellijst
- Afspeellijst is leeg
- Naam afspeellijst
- Afspeellijsten
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Geluid
- Blacklist
- Controls
- Theme
- Afbeeldingen
- Library
- Vergrendelscherm
- Afspeellijsten
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Gebruik de huidige cover als vergrendelscherm achtergrond.
- Notificaties, bediening etc.
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Vervaagt de album cover op het vergrendelscherm. Kan problemen veroorzaken met apps van derde en widgets/
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Gebruik het klassieke notificatie design.
- Achtergrond, de kleur van de besturingstoetsen verandert overeenstemmend met de album opmaak van het afspeelscherm
- Kleurt de app snelkoppelingen naar de accent kleur. Elker keer wanneer je de kleur verandert, toggle dit om de changes te zien
- Kleurt de navigatiebalk als de primaire kleur.
- "Kleurt de notificatie in de kleur van de album cover"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Kan afspeelproblemen veroorzaken op sommige toestellen"
- Toggle genre tab
- Show or hide the home banner
- Kan album cover kwaliteit verbeteren, maar veroorzaakt langere laadtijden. Alleen aanzetten als je problemen hebt met lage resolutie artworks
- Configure visibility and order of library categories.
- Zet besturing knoppen aan op vergrendelscherm
- Licentie details voor open source software
- Afgeronde hoeken voor scherm, album illustratie etc.
- Aan/uitzetten tabblad titels
- Zet dit aan voor immersive mode
- Wanneer headphones ingeplugd zijn, afspelen start automatisch
- Shuffle mode will turn off when playing a new list of songs
- Als er ruimte is in het nu afspelen scherm, zet volume knoppen aan
- Laat album cover zien
- Album cover theme
- Album cover skip
- Album grid
- Gekleurde app snelkoppelingen
- Artist grid
- Beperk volume bij verliezen focus
- Automatisch downloaden artisten afbeeldingen
- Blacklist
- Bluetooth playback
- Vervaag album cover
- Choose equalizer
- Klassiek notificatie design
- Aangepaste kleur
- Gekleurde notificatie
- Desaturated color
- Extra controls
- Song info
- Afspelen zonder pauzes
- Basis thema
- Show genre tab
- Artist grid
- Banner
- Negeer media store covers
- Laatst toegevoegde afspeellijst interval
- Volledig scherm besturing knoppen
- Gekleurde navigatiebalk
- Uiterlijk
- Open source licenties
- Afgeronde hoeken
- Tab titles mode
- Carousel effect
- Dominant color
- Volledig scherm app
- Tabblad titels
- Automatisch afspelen
- Shuffle mode
- Volume knoppen
- Gebruikers info
- Primaire kleur
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Wachtrij
- App beoordelen
- Vind je deze app leuk? Laat het ons weten in de Google Play Store om de ervaring te verbeteren
- Recent albums
- Recent artists
- Verwijderen
- Remove banner photo
- Verwijder cover
- Verwijder van zwarte lijst
- Remove profile photo
- Verwijder liedje van afspeellijst
- %1$s van de afspeellijst?]]>
- Verwijder liedjes van afspeellijst
- %1$d van de afspeellijst?]]>
- Hernoem afspeellijst
- Report an issue
- Report bug
- Reset
- Reset artiest afbeelding
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Teruggezette aankopen
- Restoring purchase…
- Retri equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Opslaan als bestand
- Save as files
- Afspeellijst opgeslagen in %s.
- Aanpassingen opslaan
- Scan media
- %1$d van de %2$d bestanden gescant
- Scrobbles
- Zoek in je biebliotheek
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Stel artiest afbeelding in
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simpel
- Slaap timer geannuleerd
- Slaap timer ingesteld in %d minuten vanaf nu
- Slide
- Small album
- Social
- Share story
- Liedje
- Duur liedje
- Nummers
- Volgorde
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Je apparaat ondersteunt geen spraak invoer
- Zoek door je bibliotheek
- Stack
- Start playing music.
- Suggestions
- Laat gewoon je naam zien op het startscherm
- Ondersteun ontwikkelaars
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Bedankt!
- Het geluidsbestand
- Deze maand
- Deze week
- Dit jaar
- Tiny
- Title
- Dashbord
- Goedemiddag
- Goededag
- Goede avond
- Goedemorgen
- Goede nacht
- Wat is je naam
- Vandaag
- Top albums
- Top artists
- "Nummer (2 voor nummer 2 of 3004 voor CD3 nummer 4)"
- Track nummer
- Vertalen
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Kon dit nummer niet afspelen
- Volgende
- Update afbeelding
- Bijwerken...
- Username
- Versie
- Vertical flip
- Virtualizer
- Volume
- Web zoekopdracht
- Welcome,
- Wat wil je delen?
- What\'s New
- Window
- Rounded corners
- Stel %1$s in als ringtone
- %1$d geselecteerd
- Jaar
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-no-rNO/strings.xml b/app/src/main/res/master/values-no-rNO/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-no-rNO/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-or-rIN/strings.xml b/app/src/main/res/master/values-or-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-or-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-pl-rPL/strings.xml b/app/src/main/res/master/values-pl-rPL/strings.xml
deleted file mode 100644
index c8965df6d..000000000
--- a/app/src/main/res/master/values-pl-rPL/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Zespół, media społecznościowe
- Kolor akcentu
- Kolor akcentu motywu, domyślnie morski
- O aplikacji
- Dodaj do ulubionych
- Dodaj do kolejki
- Dodaj do playlisty
- Wyczyść kolejkę
- Wyczyść playlistę
- Przełącz tryb powtarzania
- Usuń
- Usuń z urządzenia
- Szczegóły
- Przejdź do albumu
- Przejdź do artysty
- Przejdźdo gatunku
- Przejdź do katalogu startowego
- Przyznaj
- Rozmiar siatki
- Rozmiar siatki (poziomo)
- Nowa playlista
- Następny
- Odtwórz
- Odtwórz wszystko
- Odtwarzaj następne
- Odtwarzanie/Pauza
- Poprzedni
- Usuń z ulubionych
- Usuń z kolejki odtwarzania
- Usuń z playlisty
- Zmień nazwę
- Zapisz kolejkę
- Skanuj
- Szukaj
- Rozpocznij
- Ustaw jako dzwonek
- Ustaw jako katalog startowy
- "Ustawienia"
- Udostępnij
- Losowo wszystko
- Playlista losowo
- Wyłącznik czasowy
- Sortowanie
- Edytor tagów
- Przełącz na ulubione
- Przełącz tryb losowy
- Adaptacyjny
- Dodaj
- Dodaj tekst utworu
- Dodaj\nzdjęcie
- "Dodaj do playlisty"
- Dodaj znaczniki czasowe do tekstu
- "Dodano 1 tytuł do kolejki odtwarzania"
- Dodano %1$d tytułów do kolejki
- Album
- Artysta albumu
- Pole tytuł lub artysta jest puste.
- Albumy
- Zawsze
- Hej sprawdź ten fajny odtwarzacz muzyki na: https://play.google.com/store/apps/details?id=%s
- Losowo
- Najczęściej odtwarzane utwory
- Duży
- Karta
- Klasyczny
- mały
- Tekst
- Artysta
- Artyści
- Odrzucono fokus dźwiękowy.
- Dostosuj ustawienia dźwięku i equalizera
- Automatyczny
- Bazowy kolor motywu
- Wzmocnienie Bassu
- Biografia
- Biografia
- Po prostu czarny
- Czarna lista
- Rozmycie
- Rozmyta Karta
- Nie udało się wysłać raportu
- Niepoprawny token dostępu. Proszę się skontaktować z twórcą aplikacji.
- Problemy nie zostały włączone dla wybranego repozytorium. Proszę się skontaktować z twórcą aplikacji.
- Wystąpił nieoczekiwany błąd. Proszę skontaktować się z twórcą aplikacji.
- Zła nazwa użytkownika lub hasło
- Problem
- Wyślij ręcznie
- Proszę opisać problemu
- Proszę wpisać poprawne hasło GitHub
- Proszę wpisać tytuł problemu
- Proszę wpisać poprawną nazwę użytkownika GitHub
- Wystąpił nieoczekiwany błąd. Wyczyść dane podręczne lub - jeśli błąd pojawi się ponownie - wyślij nam maila.
- Wrzucanie raportu na GitHub...
- Wyślij przez konto GitHub
- Kup teraz
- Anuluj
- Karta
- Okrągły
- Kolorowa Karta
- Karta
- Karuzela
- Efekt karuzeli na ekranie Teraz odtwarzane
- Kaskadowy
- Strumieniowanie
- Lista zmian
- Lista zmian zarządzana z aplikacji Telegram
- Okręg
- Okrągły
- Klasyczny
- Wyczyść
- Wyczyść dane aplikacji
- Wyczyść czarną listę
- Wyczyść kolejkę
- Wyczyść playlistę
- %1$s? To nie może być cofnięte!]]>
- Zamknij
- Kolor
- Kolor
- Kolory
- Kompozytor
- Skopiowano informacje o urządzeniu do schowka
- Nie mo\u017cna utworzy\u0107 playlisty.
- "Nie mo\u017cna pobra\u0107 dopasowanej ok\u0142adki albumu"
- Nie można przywrócić zakupów.
- Nie można przeskanować %d plików.
- Utwórz
- Stworzono playlistę %1$s.
- Członkowie i współpracownicy
- Aktualnie odtwarzane %1$s wykonawcy %2$s.
- Dość ciemny
- Brak tekstu
- Usuń playlistę
- %1$s?]]>
- Usuń listy odtwarzania
- Usuń utwór
- %1$s?]]>
- Usuń utwory
- %1$d ?]]>
- %1$d ?]]>
- Usunięto %1$d utworów.
- Usuwanie utworów
- Głębia
- Opis
- Informacje o urządzeniu
- Pozwól Retro Music na modyfikację ustawień dźwięku
- Ustaw jako dzwonek
- Czy chcesz wyczyścić czarną listę?
- %1$s z czarnej listy?]]>
- Wesprzyj nas
- Jeżeli uważasz, że zasługuje na zapłatę za moją pracę możesz zostawić tu drobną sumę
- Kup mi:
- Pobierz z Last.fm
- Tryb samochodowy
- Edytuj
- Edytuj okładkę
- Pusto
- Korektor dźwięku
- Błąd
- Najczęściej zadawane pytania
- Ulubione
- Dokończ ostatnią piosenkę
- Dopasuj
- Płaski
- Foldery
- Śledź system
- Dla Ciebie
- Darmowe
- Pełne
- Pełna karta
- Zmień motyw i kolory aplikacji
- Wygląd i zachowanie interfejsu
- Gatunek
- Gatunki
- Zobacz kod na GitHubie
- Dołącz do społeczności Google Plus by uzyskać informacje o aktualizacjach i pomoc
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Styl siatki
- Zawias
- Historia
- Strona główna
- Obrót poziomy
- Obraz
- Obraz gradientowy
- Zmień ustawienia pobierania obrazka wykonawcy
- Dodano %1$d utworów do listy odtwarzania %2$s.
- Udostępnij swój setup aplikacji Retro Music na Instagramie
- Klawiatura
- Przepływność
- Typ
- Nazwa pliku
- Ścieżka pliku
- Rozmiar
- Więcej z %s
- Częstotliwość próbkowania
- Długość
- Wszystkie podpisy
- Ostatnio dodane
- Ostatni utwór
- Odtwórzmy jakąś muzykę
- Biblioteka
- Kategorie biblioteki
- Licencje
- Śnieżno biały
- Słuchacze
- Listowanie plików
- Ładowanie...
- Zaloguj się
- Tekst utworu
- Stworzone z ❤️ w Indiach
- Materialistyczny
- Błąd
- Błąd uprawnień
- Moje imię
- Najczęściej odtwarzane
- Nigdy
- Nowe zdjęcie banera
- Nowa lista odtwarzania
- Nowe zdjęcie profilowe
- %s jest nowym katalogiem startowym.
- Następny utwór
- Brak albumów
- Brak artystów
- "Odtwórz jakiś utwór i spróbuj ponownie."
- Nie znaleziono korektora dźwięku.
- Brak gatunków
- Nie znaleziono tekstu utworu
- Brak odtwarzanych utworów
- Brak list odtwarzania
- Nie znaleziono zakupów.
- Brak wyników.
- Brak utworów
- Normalne
- Normalny tekst utworu
- Normalny
- %s nie znajduje się w magazynie multimediów.]]>
- Nic do skanowania.
- Nic do zobaczenia
- Powiadomienie
- Zmień wygląd powiadomień
- Teraz odtwarzane
- Kolejka teraz odtwarzanych
- Dostosuj panel aktualnie odtwarzanych
- 9+ motywów Teraz odtwarzane
- Tylko przez Wi-Fi
- Zaawansowane funkcje eksperymentalne
- Inne ustawienia
- Hasło
- Przez 3 miesiące
- Wklej tekst utworu tutaj
- Szczyt
- Odmowa dostępu do pamięci zewnętrznej.
- Odmowa dostępu.
- Personalizuj
- Dostosuj interfejs \"Teraz odtwarzane\"
- Wybierz z pamięci lokalnej
- Wybierz obraz
- Pinterest
- Śledź stronę Retro Music na Pintrest po więcej inspiracji
- Wyraźny
- Powiadomienie odtwarzania pokazuje przyciski play/pauza itp.
- Powiadomienie odtwarzania
- Pusta lista odtwarzania
- Lista odtwarzania jest pusta
- Nazwa listy odtwarzania
- Listy odtwarzania
- Styl detali albumu
- Ilość rozmycia dla motywów, mniejsza ilość jest szybsza
- Wartość rozmycia
- Dostosuj rogi dolnego okna dialogowego
- Narożniki okna dialogowego
- Filtruj piosenki według długości
- Filtruj długość utworów
- Zaawansowane
- Styl okładki
- Dźwięk
- Czarna lista
- Przyciski kontrolne
- Motyw
- Obrazki
- Biblioteka
- Ekran blokady
- Listy odtwarzania
- Zatrzymuje odtwarzanie przy zerowym poziomie głośności i wznawia po jego zwiększeniu. Kiedy zwiększysz głośność, odtwarzanie rozpocznie się nawet gdy jesteś poza aplikacją
- Zatrzymaj przy wyłączonym dźwięku
- Ta opcja może mieć wpływ na zużycie baterii
- Pozostaw ekran włączony
- Kliknij aby otworzyć z lub przesunąć do przezroczystej nawigacji ekranu teraz odtwarzane
- Kliknij albo przesuń
- Efekt spadającego śniegu
- Używaj okładki aktualnie odtwarzanego albumu jako tapety ekranu blokady
- Zmniejsz głośność kiedy dostajesz powiadomienia
- Zawartość czarnej listy jest ukryta w twojej bibliotece.
- Rozpocznij odtwarzanie po podłączeniu urządzenia bluetooth
- Rozmazuj okładkę albumu na ekranie blokady. Może powodować problemy z aplikacjami i widżetami innych firm
- Efekt karuzeli na okładce obecnie odtwarzanego albumu. Zwróć uwagę, że motyw karty i rozmycia nie zadziała
- Użyj klasycznego wyglądu powiadomień.
- Tło oraz kolor przycisku sterującego zmieniają się zgodnie z okładką albumu na ekranie odtwarzacza
- Koloruje skróty aplikacji w kolorze akcentującym. Za każdym razem, gdy zmieniasz kolor, włącz tę opcję, aby zmiany odniosły skutek.
- Koloruje pasek nawigacji kolorem wiodącym.
- "Koloruje powiadomienie dominuj\u0105cym kolorem ok\u0142adki albumu."
- Zgodnie z zaleceniami Material Design, w trybie ciemnym kolory powinny być mniej nasycone
- Najbardziej dominujący kolor zostanie wybrany z okładki albumu lub wykonawcy.
- Dodaj ekstra przyciski do małego odtwarzacza
- Pokaż dodatkowe informacje o utworze, takie jak format pliku, częstość próbkowania i częstotliwość
- "Może powodować problemy z odtwarzaniem na niektórych urządzeniach."
- Przełącz kartę gatunku
- Przełącz styl banera strony głównej
- Może zwiększyć jakość okładki albumu, ale powoduje spowolnienie ładowania obrazu. Włącz tę opcję tylko jeśli masz problemy z okładkami o niskiej rozdzielczości.
- Skonfiguruj widoczność i kolejność kategorii w bibliotece.
- Sterowanie Retro na zablokowanym ekranie.
- Szczegóły licencji oprogramowania open source
- Zaokrąglone krawędzie okna, okładek albumów itp.
- Włącz/wyłącz tytuły kart u dołu.
- Tryb imersji
- Zacznij odtwarzanie po podłączanie zestawu słuchawkowego
- Odtwarzanie losowe zostanie wyłączone podczas odtwarzania nowej listy utworów
- Włącz sterowanie głośnością na ekranie \"teraz odtwarzane\"
- Pokaż okładkę albumu
- Wygląd okładki albumu
- Przesuwanie okładki albumu
- Siatka albumów
- Kolorowe skróty aplikacji
- Siatka wykonawców
- Zmniejsz głośność przy braku skupienia
- Automatycznie pobierz obrazki wykonawców
- Czarna lista
- Odtwarzanie przez Bluetooth
- Rozmaż okładkę albumu
- Wybierz korektor dźwięku
- Klasyczny wygląd powiadomień
- Kolor adaptacyjny
- Kolorowe powiadomienia
- Mniej nasycony kolor
- Dodatkowe sterowanie
- Informacje o utworze
- Odtwarzanie bez przerw
- Motyw główny
- Pokaż kartę gatunku
- Siatka wykonawców strony głównej
- Baner strony głównej
- Ignoruj okładki z Media Store
- Ostatnio dodany interwał listy odtwarzania
- Sterowanie pełno ekranowe
- Kolorowy pasek nawigacji
- Wygląd
- Licencje Open Source
- Narożne krawędzie
- Wygląd tytułów kart
- Efekt karuzeli
- Kolor dominujący
- Aplikacja pełnoekranowa
- Tytuły kart
- Autoodtwarzanie
- Tryb losowy
- Sterowanie głośnością
- Informacje użytkownika
- Kolor podstawowy
- Główny kolor motywu, domyślnie niebieski, działa teraz z ciemnymi kolorami
- Pro
- Efekt karuzeli, kolorowe motywy i wiele więcej...
- Profil
- Kup
- *Zastanów się przed zakupem, nie proś o zwrot.
- Kolejka
- Oceń aplikację
- Uwielbiasz tą aplikację? Daj nam znać w sklepie Google Play co o niej sądzisz i co powinniśmy poprawić.
- Ostatnie albumy
- Ostatni artyści
- Usuń
- Usuń zdjęcie banera
- Usuń okładkę
- Usuń z czarnej listy
- Usuń zdjęcie profilowe
- Usuń utwór z listy odtwarzania
- %1$s z listy odtwarzania?]]>
- Usuń te utwory z listy odtwarzania
- %1$d z listy odtwarzania?]]>
- Zmień nazwę listy odtwarzania
- Zgłoś problem
- Zgłoś błąd
- Zresetuj
- Zresetuj obrazek wykonawcy
- Przywróć
- Przywrócono poprzedni zakup. Zrestartuj aplikacje aby korzystać z wszystkich funkcji.
- Przywrócono poprzednie zakupy.
- Przywracanie zakupu...
- Korektor dźwięku Retro
- Retro Music Player
- Retro Music Pro
- Nie udało się usunąć pliku: %s
-
- Nie można uzyskać URI SAF
- Otwórz szufladę nawigacji
- Włącz \'Pokaż kartę SD\' w menu przeciążenia
-
- %s wymaga dostępu do karty SD
- Musisz wybrać katalog główny karty SD
- Wybierz kartę SD w panelu nawigacji
- Nie otwieraj żadnych podfolderów
- Dotknij przycisku \'Wybierz\' u dołu ekranu
- Nie udało się zapisać do pliku: %s
- Zapisz
-
-
- Zapisz jako plik
- Zapisz jako
- Zapisz listę odtwarzania do %s.
- Zapisywanie zmian
- Skanuj media
- Zeskanowano %1$d z plików %2$d.
- Scrobble
- Przeszukaj bibliotekę...
- Zaznacz wszystko
- Wybierz zdjęcie banera
- Zaznaczone
- Zgłoś awarię
- Ustaw
- Ustaw obrazek wykonawcy
- Ustaw zdjęcie profilowe
- Udostępnij aplikację
- Podziel się z opowieściami
- Losowo
- Prosty
- Wyłącznik czasowy wyłączony.
- Wyłącznik czasowy ustawiony na %d minut.
- Slajd
- Mały album
- Społeczność
- Udostępnij historię
- Utwór
- Długość utworu
- Utwory
- Porządek sortowania
- Rosnąco
- Album
- Artysta
- Kompozytor
- Dane
- Data modyfikacji
- Rok
- Malejąco
- Przepraszamy! Twoje urządzenie nie obsługuje wprowadzania głosowego
- Przeszukaj swoją bibliotekę
- Stos
- Rozpocznij odtwarzanie
- Sugestie
- Po prostu pokaż tylko swoje imię na ekranie głównym
- Wspieraj rozwój
- Przesuń, aby odblokować
- Synchronizowany tekst utworu
- Systemowy korektor dźwięku
-
- Telegram
- Dołącz do grupy Telegram, aby zgłosić błędy, zasugerować zmiany i inne
- Dziękuję!
- Pliki dźwiękowy
- Ten miesiąc
- Ten tydzień
- Ten rok
- Mały
- Tytuł
- Ekran główny
- Miłego popołudnia
- Dzień dobry
- Dobry wieczór
- Dzień dobry
- Dobry wieczór
- Jak masz na imię?
- Dzisiaj
- Najczęściej odtwarzane albumy
- Najczęściej odtwarzani artyści
- "Ścieżka (2 dla ścieżki 2 lub 3004 dla ścieżki CD3 4)"
- Numer utworu
- Przetłumacz
- Pomóż nam tłumaczyć aplikację na swój język
- Strona na Twitterze
- Podziel się swoim designem z Retro Music
- Niepodpisane
- Nie mo\u017cna odtworzy\u0107 utworu.
- Następne
- Zaktualizuj obrazek
- Aktualizowanie...
- Nazwa użytkownika
- Wersja
- Obrót pionowy
- Wirtualizacja
- Głośność
- Przeszukaj sieć
- Witaj,
- Co chciałbyś udostępnić?
- Co nowego
- Okno
- Zaokrąglone rogi
- Ustaw %1$s jako dzwonek.
- Wybrano %1$d
- Rok
- Musisz zaznaczyć przynajmniej jedną kategorię
- Będziesz przekierowany do strony ze zgłoszeniami.
- Informacje o twoim koncie są używane tylko do autoryzacji.
- Ilość
- Notatka(Opcjonalna)
- Rozpocznij płatność
- Wyświetl teraz odtwarzane
- Kliknięcie powiadomienia pokaże teraz odtwarzane zamiast ekranu głównego
- Mała karta
-
diff --git a/app/src/main/res/master/values-pt-rBR/strings.xml b/app/src/main/res/master/values-pt-rBR/strings.xml
deleted file mode 100644
index 5b8dd198a..000000000
--- a/app/src/main/res/master/values-pt-rBR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Time, links sociais
- Cor de destaque
- A cor de destaque do tema, o padrão é verde
- Sobre
- Adicionar aos favoritos
- Adicionar à lista de reprodução
- Adicionar à lista
- Limpar a atual fila de reprodução
- Remover todos os itens da playlist
- Alternar modo de repetição
- Excluir
- Excluir do dispositivo
- Detalhes
- Ir para o álbum
- Ir para o artista
- Ir para o gênero
- Ir para o diretório inicial
- Permitir
- Tamanho da grade
- Tamanho da grade (horizontal)
- Nova lista de reprodução
- Próxima
- Reproduzir
- Reproduzir tudo
- Reproduzir próxima
- Reproduzir/Pausar
- Anterior
- Remover dos favoritos
- Remover da fila de reprodução
- Remover da playlist
- Renomear
- Salvar fila de reprodução
- Escanear
- Buscar
- Iniciar
- Definir como toque
- Definir como diretório inicial
- "Configurações"
- Compartilhar
- Misturar todas
- Embaralhar playlist
- Temporizador
- Ordem de classificação
- Editor de TAG
- Ativar/Desativar favorito
- Alternar modo aleatório
- Adaptável
- Adicionar
- Adicionar letras
- Adicionar foto
- "Adicionar à lista"
- Adicione tempo de enquadramento das letras
- "Uma música foi adicionada à fila de reprodução"
- Foram adicionadas %1$d músicas na fila de reprodução
- Álbum
- Álbum do artista
- O título ou artista está vazio
- Álbuns
- Sempre
- Ei, confira este reprodutor de música legal em: https://play.google.com/store/apps/details?id=%s
- Aleatório
- Músicas favoritas
- Música Retrô-Grande
- Música Retrô-Cartão
- Música Retrô-Clássico
- Música Retrô-Pequeno
- Música Retrô-Texto
- Artista
- Artistas
- Foco de áudio negado
- Altere as configurações de som e ajuste os controles do equalizador
- Automático
- Baseado na cor do tema
- Aumento de graves
- Biografia
- Biografia
- Apenas preto
- Lista negra
- Desfocado
- Cartão desfocado
- Não é possível enviar o relatório
- Token de acesso inválido. Entre em contato com o desenvolvedor do aplicativo
- Os problemas não estão ativados para o repositório selecionado. Entre em contato com o desenvolvedor do aplicativo.
- Um erro inesperado ocorreu. Entre em contato com o desenvolvedor do aplicativo.
- Nome do usuário ou senha incorreta
- Questão
- Enviar manualmente
- Por favor, insira uma descrição do problema
- Por favor, digite sua senha válida do GitHub
- Por favor, insira um título do problema
- Por favor, digite seu nome de usuário válido do GitHub
- Um erro inesperado ocorreu. Se você tentar novamente e o erro persistir, use a opção \"Limpar dados do aplicativo\" ou envie-nos um e-mail
- Enviando relatório para o GitHub...
- Enviar usando uma conta do GitHub
- Compre agora
- Cancelar
- Cartão
- Circular
- Cartão colorido
- Cartão
- Carrossel
- Efeito carrossel na tela de reprodução
- Cascata
- Transmitir
- Lista de mudanças
- Lista de mudanças mantida no Canal no Telegram
- Círculo
- Circular
- Clássico
- Limpar
- Limpar dados do aplicativo
- Limpar lista negra
- Limpar fila
- Limpar playlist
- %1$s? Isso n\u00e3o pode ser desfeito!]]>
- Fechar
- Cor
- Cor
- Cores
- Compositor
- Informações do dispositivo copiado para a área de transferência.
- N\u00e3o foi poss\u00edvel criar a playlist
- "N\u00e3o foi poss\u00edvel baixar uma capa do \u00e1lbum correspondente"
- Não foi possível restaurar a compra
- Não foi possível escanear %d arquivos
- Criar
- A playlist %1$s foi criada
- Membros e contribuidores
- Atualmente ouvindo %1$s por %2$s.
- Meio escuro
- Sem letras
- Excluir playlist
- %1$s?]]>
- Excluir playlists
- Excluir música
- %1$s?]]>
- Excluir músicas
- %1$d playlists?]]>
- %1$d músicas?]]>
- %1$d músicas foram excluídas.
- Excluir músicas
- Profundidade
- Descrição
- Informação do dispositivo
- Permite que o Retro Music modifique as configurações de áudio
- Definir toque
- Você quer limpar a lista negra?
- %1$s da lista negra?]]>
- Doar
- Se você acha que eu mereço ser recompensado pelo meu trabalho, você pode me deixar algum dinheiro aqui
- Compre-me um:
- Baixar do Last.fm
- Modo de direção
- Editar
- Editar capa
- Vazio
- Equalizador
- Erro
- Perguntas frequentes
- Favoritos
- Terminar a última música
- Em forma
- Plano
- Pastas
- Seguir sistema
- Para você
- Grátis
- Tela cheia
- Cartão cheio
- Alterar o tema e as cores do aplicativo
- Aparência
- Gênero
- Gêneros
- Fork o projeto no GitHub
- Participe da comunidade do Google+, onde você pode pedir ajuda ou seguir as atualizações do Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grades & Estilos
- Dobradiça
- Histórico
- Início
- Giro horizontal
- Imagem
- Imagem degradê
- Alterar as configurações de download das imagens dos artistas
- %1$d músicas adicionadas na playlist %2$s.
- Compartilhe seu perfil do Retro Music para mostrá-lo no Instagram
- Teclado
- Taxa de bits
- Formato
- Nome do arquivo
- Caminho do arquivo
- Tamanho
- Mais de %s
- Taxa de amostragem
- Comprimento
- Rotulado
- Mais recentes
- Última música
- Vamos reproduzir alguma música
- Biblioteca
- Categorias da biblioteca
- Licenças
- Claramente branco
- Ouvintes
- Listando arquivos...
- Carregando produtos...
- Entrar
- Letras
- Feito com ❤️ na Índia
- Material
- Erro
- Erro de permissão
- Nome
- Mais tocadas
- Nunca
- Nova foto do mural
- Nova playlist
- Nova foto de perfil
- %s é o novo diretório inicial
- Próxima música
- Sem álbuns
- Sem artistas
- "Reproduza uma música primeiro e tente novamente"
- Nenhum equalizador encontrado
- Sem gêneros
- Nenhuma letra encontrada
- Nenhuma música tocando
- Sem playlists
- Nenhuma compra encontrada.
- Sem resultados
- Sem músicas
- Normal
- Letras normais
- Normal
- %s não está listado no armazenamento de mídia]]>
- Nada para escanear.
- Nada para escanear
- Notificação
- Personalizar o estilo de notificação
- Reproduzindo agora
- Reproduzindo agora na fila
- Personalizar tela de reprodução
- Incríveis 9 temas para a interface do reprodutor
- Apenas com Wi-Fi
- Recursos avançados em teste
- Outro
- Senha
- Últimos 3 meses
- Cole as letras aqui
- Peak
- Permissão para acessar o armazenamento externo negada
- Permissões negadas.
- Personalizar
- Personalizar os controles em Reproduzindo agora e Interface do Usuário
- Escolha do armazenamento local
- Escolha a imagem
- Pinterest
- Siga a página do Pinterest para inspiração de design do Retro Music
- Liso
- A notificação de reprodução fornece ações para reprodução/pausa, etc
- Notificação de reprodução
- Playlist vazia
- A playlist está vazia
- Nome da playlist
- Playlists
- Estilo de detalhe do álbum
- Quantidade de desfoque aplicada a temas de desfoque, menor é mais rápido
- Quantidade de desfoque
- Ajustar os cantos da caixa de diálogo
- Dialog corner
- Filtrar músicas por duração
- Filtrar duração da música
- Avançado
- Estilo do álbum
- Áudio
- Lista negra
- Controles
- Tema
- Imagens
- Biblioteca
- Tela de bloqueio
- Playlists
- Pausa a reprodução quando o volume é zerado e reproduz novamente quando o volume aumentar. Também funciona fora do aplicativo
- Pausar quando o volume for zerado
- Tenha em mente que ativar este recurso pode afetar a duração da bateria
- Manter a tela ligada
- Clique para abrir ou deslizar sem a navegação transparente da tela que está sendo reproduzida agora
- Clique ou deslize
- Efeito de neve caindo
- Usar a capa do álbum da música em reprodução como papel de parede na tela de bloqueio
- Diminua o volume quando um som do sistema for reproduzido ou uma notificação for recebida
- O conteúdo das pastas na lista negra está oculto da sua biblioteca.
- Comece a tocar assim que conectado ao dispositivo bluetooth
- Desfoque a capa do álbum na tela de bloqueio. Pode causar problemas com aplicativos e widgets de terceiros
- Efeito carrossel para a imagem do álbum na tela de reprodução. Note que nos temas \"Cartão\" e \"Cartão desfocado\" não irá funcionar
- Use o design de notificação clássico
- As cores de fundo e do botão de controle mudam de acordo com a capa do álbum a partir da tela que está sendo reproduzida
- Colore os atalhos do aplicativo na cor de destaque. Toda vez que você mudar a cor alterne essa opção para ter efeito
- Colore a barra de navegação na cor primária
- "Colore a notifica\u00e7\u00e3o na cor vibrante da capa do \u00e1lbum"
- Conforme o guia do Material Design as cores devem ser dessaturadas no modo escuro
- A cor mais dominante será escolhida da capa do álbum/artista
- Adicionar botões extras para o mini reprodutor
- Mostrar informações extras da música, como formato de arquivo, taxa de bits e frequência
- "Pode causar problemas de reprodução em alguns dispositivos"
- Alternar aba de gêneros
- Alternar o estilo do mural inicial
- Pode aumentar a qualidade da capa do álbum, mas diminui a velocidade de carregamento da capa do álbum. Ative isso apenas se você tiver problemas com capas de baixa resolução
- Configurar visibilidade e ordem de categorias da biblioteca.
- Usar controles personalizados do Retro Music na tela de bloqueio
- Detalhes da licença para software de código aberto
- Arredondar as bordas do aplicativo
- Ativar títulos para as guias da barra de navegação inferior
- Modo imersivo
- Comecar a reproduzir imediatamente quando os fones de ouvido forem conectados
- O modo aleatório será desativado ao reproduzir uma nova lista de músicas
- Se houver espaço suficiente, mostre os controles de volume na tela que está sendo reproduzida
- Exibir a capa do álbum
- Tema da capa do álbum
- Pular a capa do álbum
- Grade do álbum
- Colorir os atalhos do aplicativo
- Grade do artista
- Reduza o volume na perda de foco
- Baixar automaticamente as imagens dos artistas
- Lista negra
- Reprodução Bluetooth
- Desfocar a capa do álbum
- Escolha o equalizador
- Design de notificação clássico
- Cor adaptável
- Notificações coloridas
- Cor dessaturada
- Controles extras
- Informações da música
- Reprodução contínua
- Tema do aplicativo
- Exibir a aba de gêneros
- Grade de artistas na tela inicial
- Mural na tela inicial
- Ignorar capas do Armazenamento de Mídia
- Intervalo da playlist \"Mais recentes\"
- Controles em tela cheia
- Barra de navegação colorida
- Tema da tela \"Reproduzindo agora\"
- Licenças de código aberto
- Bordas arredondadas
- Modo de títulos nas abas
- Efeito carrossel
- Cor dominante
- Aplicativo em tela cheia
- Títulos das guias
- Execuções automática
- Modo aleatório
- Controles do volume
- Informação do usuário
- Cor primária
- A cor principal do tema por padrão é cinza azulado, por enquanto funciona com cores escuras
- Pro
- Temas do reproduzindo agora, Efeito carrossel, Tema de cor e mais...
- Perfil
- Comprar
- *Pense antes de comprar, não pergunte por reembolso!
- Fila
- Avalie o aplicativo
- Adorou este aplicativo? Informe-nos na Google Play Store como podemos melhorar o aplicativo
- Álbuns recentes
- Artistas recentes
- Remover
- Remover foto do mural
- Remover capa
- Remover da lista negra
- Remover foto do perfil
- Remover música da playlist
- %1$s da playlist?]]>
- Remover músicas da playlist
- %1$d músicas da playlist?]]>
- Renomear playlist
- Reportar um problema
- Reportar erro
- Resetar
- Restaurar imagem do artista
- Restaurar
- Compra anterior restaurada. Por favor, reinicie o aplicativo para fazer uso de todos os recursos.
- Compras anteriores foram restauradas.
- Restaurando compra...
- Equalizador do Retro Music
- Retro Music Player
- Retro Music Pro
- Falha ao excluir arquivo: %s
-
- Não foi possível obter URI SAF
- Abrir painel de navegação
- Ativar \'Mostrar cartão SD\' no menu flutuante
-
- %s precisa de acesso ao cartão SD
- Você precisa selecionar o diretório raiz do seu cartão SD
- Selecione seu cartão SD no menu de navegação
- Não abra nenhuma subpasta
- Toque no botão \'selecionar\' na parte inferior da tela
- Falha na escrita do arquivo: %s
- Salvar
-
-
- Salvar como arquivo
- Salvar como arquivos
- Playlist salva para %s
- Salvando alterações...
- Escanear mídia
- Escaneados %1$d dos %2$d arquivos
- Scrobbles
- Pesquisar na sua biblioteca ...
- Selecionar tudo
- Selecione a foto do mural
- Selecionado
- Enviar log de falha
- Definir
- Definir imagem do artista
- Definir uma foto de perfil
- Compartilhar o aplicativo
- Share to Stories
- Aleatório
- Simples
- Temporizador cancelado
- Temporizador definido para %d minutos a partir de agora
- Deslizar
- Português
- Social
- Share story
- Música
- Duração da música
- Músicas
- Ordem de classificação
- Ascendente
- Álbum
- Artista
- Compositor
- Data
- Date modified
- Ano
- Decrescente
- Desculpe! O seu dispositivo não suporta entrada de voz
- Pesquisar...
- Pilha
- Começar a reprodução de música.
- Sugestões
- Mostrar apenas o seu nome na tela inicial
- Apoiar o desenvolvimento
- Deslize para desbloquear
- Letras sincronizadas
- Equalizador do sistema
-
- Telegram
- Junte-se ao grupo no Telegram para discutir bugs, fazer sugestões e muito mais
- Obrigado!
- Arquivo de áudio
- Este mês
- Esta semana
- Este ano
- Minúsculo
- Título
- Painel de controle
- Boa tarde
- Bom dia
- Boa noite
- Bom dia
- Boa noite
- Qual o seu nome?
- Hoje
- Melhores albuns
- Artistas principais
- "Música (2 para a música 2 ou 3004 para a música 4 do CD3)"
- Número da música
- Traduzir
- Ajude-nos a traduzir o aplicativo para seu idioma
- Twitter
- Compartilhe seu design com o Retro Music
- Não rotulado
- N\u00e3o foi poss\u00edvel reproduzir est\u00e1 m\u00fasica.
- A seguir
- Atualizar imagem
- Atualizando...
- Nome de usuário
- Versão
- Giro vertical
- Virtualizador
- Volume
- Pesquisar na internet
- Bem-vindo(a),
- O que você quer compartilhar?
- Novidades
- Janela
- Cantos arredondados
- Definir %1$s como toque.
- %1$sd selecionado
- Ano
- Você precisa selecionar ao menos uma categoria.
- Você será encaminhado para o website do rastreador de problemas.
- Os dados da sua conta são usados apenas para autenticação.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-pt-rPT/strings.xml b/app/src/main/res/master/values-pt-rPT/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ro-rRO/strings.xml b/app/src/main/res/master/values-ro-rRO/strings.xml
deleted file mode 100644
index c971ce2a0..000000000
--- a/app/src/main/res/master/values-ro-rRO/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Culoare ton
- Culoarea de accent, implicit, se face verde.
- Despre
- Adaugă la favorite
- Adaugă la coada de redare
- Adaugă la un playlist
- Curăță coada de redare
- Șterge playlist
- Cycle repeat mode
- Șterge
- Șterge de pe dispozitiv
- Detalii
- Pagină album
- Pagină artist
- Go to genre
- Registrul principal
- Acord
- Mărimea grilei
- Mărimea grilei (bază)
- New playlist
- Următorul
- Redați
- Play all
- Redă urmatorul
- Redați/Opriți
- Anterior
- Șterge din favorite
- Șterge din coada de redare
- Șterge din playlist
- redenumiți
- Salvează coada de redare
- Scanează
- Căutare
- Setare
- Setează ca ton de apel
- Setează ca registru principal
- "Setări"
- Expediază
- Amestecă tot
- Amestecă playlist
- Cronometru de somn
- Sort order
- Redactor info
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Adaugă
- Add lyrics
- Adaugă fotografie
- "Adaugă la playlist"
- Add time frame lyrics
- "Adăugat 1 titlu la coada de redare."
- Adăugate %1$d titluri la coada de redare
- Album
- Artistul albumului
- Titlul ori numele artistului nu e completat
- Albume
- Mereu
- Hey! încearcă acest music player la adresa: https://play.google.com/store/apps/details?id=%s
- Amestecă
- Top cântece
- Mare
- Card
- Classic
- Mic
- Text
- Artist
- Artiști
- Folcalizarea audio a fost respinsă.
- Ajustați setările de sunet și comenzile egalizatorului
- Auto
- Base color theme
- Bass Boost
- Bio
- Biografie
- Negru
- Lista neagră
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Anulează cronometrul curent
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Modificări
- Lista de modificări păstrată din aplicația \"Telegram\"
- Circle
- Circular
- Classic
- Șterge
- Clear app data
- Șterge \"Lista neagră\"
- Clear queue
- Șterge playlist
- %1$s? Aceast\u0103 ac\u021biune nu poate fi \u00eenapoiat\u0103!]]>
- Close
- Culoare
- Culoare
- Culori
- Composer
- Copied device info to clipboard.
- Nu s-a putut crea playlist.
- "Nu s-a putut desc\u0103rca o copert\u0103 de album corespunz\u0103toare."
- Nu a putut fi restabilită achiziția.
- Nu s-au putut scana %d fișiere
- Crează
- S-a creat playlist-ul %1$s.
- Members and contributors
- Acum ascultați %1$s de %2$s.
- Suriu
- Nu există versuri
- Șterge playlist
- %1$s?]]>
- Șterge playlist-uri
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlist-uri?]]>
- %1$d cântece?]]>
- Au fost șterse %1$d cântece.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Doriți să ștergeți lista neagră?
- %1$s din lista neagră?]]>
- Donează
- Dacă ești de părere că merit să fiu plătit pentru munca mea, poți să donezi aici.
- Cumpăraţi-mi o(un)
- Descarcă de pe Last.fm
- Drive mode
- Edit
- Edit cover
- Gol
- Egalizator
- Error
- FAQ
- Favorite
- Finish last song
- Fit
- Uniform
- Mape
- Follow system
- Pentru dvs.
- Free
- Plin
- Full card
- Schimbați culorile generale ale aplicației
- Aspect
- Gen muzical
- Genuri
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- Istoric
- Acasă
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Au fost insertate %1$d cântece în playlist-ul %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- Numele fișierului
- Dosarul fișierului
- Mărime
- More from %s
- Rata de eșantionare
- Lungime
- Labeled
- Adăugate recent
- Last song
- Hai să ascultăm ceva
- Biblioteca
- Library categories
- Licențe
- Alb
- Listeners
- Listarea fișierelor
- Se încarcă produsele...
- Login
- Versuri
- Made with ❤️ in India
- Material
- Error
- Permission error
- Numele Meu
- Top cântece redate
- Niciodată
- New banner photo
- Playlist nou
- New profile photo
- %s a fost setat ca noul registru principal.
- Next Song
- Niciun album
- Niciun artist
- "Mai întâi redă un cântec, apoi incearcă din nou."
- Nu a fost găsit nici un equalizer.
- Niciun gen
- Nu a fost găsite versuri.
- No songs playing
- Niciun playlist
- Nu s-a găsit nicio achiziție.
- Niciun rezultat
- Niciun cântec
- Normal
- Normal lyrics
- Normal
- %s nu este litsat în magazinul media.]]>
- Nimic de scanat.
- Nothing to see
- Notificare
- Personalizează stil de notificare
- Se redă
- Coada de redare
- Customize the now playing screen
- 9+ now playing themes
- Doar pe Wi-Fi
- Advanced testing features
- Altele
- Password
- Ultimele 3 luni
- Paste lyrics here
- Peak
- Accesul la stocarea externă este respinsă.
- Permisiunile au fost respinse.
- Personalizare
- Personalizează UI si pagina de redare
- Alegeți din spațiul de stocare local
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Simplu
- Notificarea de redare oferă acțiuni de redare / pauză etc.
- Notificarea de redare
- Playlist gol
- Playlist-ul este gol
- Numele playlist-ului
- Playlist-uri
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- General
- Imagini
- Library
- Ecran de blocare
- Playlist-uri
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Folosește coperta de album curentă ca imagine de fundal pe ecranul de blocare.
- Notificațiile, navigarea etc.
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Spălăcește coperta de album pe ecranul de blocare. Poate cauza probleme cu alte aplcicatii sau widget-uri.
- Efectul carusel pentru coperţile de album în ecranul de redare. Rețineți că tema Card și Blur Card nu va funcționa
- Folosește designul classic de notificare.
- Culoarea fundalului și a butonului de control se schimbă în dependență de coperta albumului din ecranul de redare
- Colorează comenzile rapide în culoarea de accent. De fiecare dată cînd schimbați culoarea, comutați această opțiune pentru effect
- Colorează bara de navigare în culoarea primară.
- "Coloreaz\u0103 notificarea dup\u0103 culoarea copertei de album."
- As per Material Design guide lines in dark mode colors should be desaturated
- Cea mai dominantă culoare va fi selectată din coperta albumului sau a artistului.
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Poate cauza probleme de redare pe unele dispozitive."
- Toggle genre tab
- Show or hide the home banner
- Poate mări calitatea copertei de album, dar cauzează încărcarea mai lentă a imaginilor. Activați această opțiune doar dacă aveți probleme cu coperta de album cu rezoluție mică.
- Configure visibility and order of library categories.
- Comenzi pe ecranul de blocare pentru Retro music.
- Detalii privind licența pentru software open source
- Colțuri rotunjite pentru ecran, coperta de album etc.
- Activare/Dezactivare file cu titluri de jos
- Mod imersiv
- Începe redarea imediat ce sunt conectate căștile.
- Shuffle mode will turn off when playing a new list of songs
- Dacă aveți spațiu pe ecranul de redare, activați controalele de volum
- Afișați coperta albumului
- Album cover theme
- Album cover skip
- Album grid
- Comenzi rapide colorate
- Artist grid
- Reduce volumul la pierderea focalizării
- Descărcați automat imagini ale artistului
- Blacklist
- Bluetooth playback
- Spălăcește coperta albumului
- Choose equalizer
- Design classic de notificare
- Culoare adaptivă
- Notificare colorată
- Desaturated color
- Extra controls
- Song info
- Redare \"Gapless\"
- Temă
- Show genre tab
- Artist grid
- Banner
- Ignoră copertele de pe Magazinul Media
- Ultimul interval de playlist adăugat
- Comenzi ecran complet
- Bara de navigare colorată
- Aspect
- Licențe open source
- Colțuri rotunjite
- Tab titles mode
- Efect de carusel
- Culoarea dominantă
- Ecran complet
- Titlurile categoriior
- Redare automată
- Shuffle mode
- Controale volum
- Info utilizator
- Culoarea de bază
- Culoarea temei primare, implicită în gri albastru, pentru moment funcționează doar cu culori închise
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Procurare
- *Think before buying, don\'t ask for refund.
- Coadă
- Evaluaţi aplicaţia
- Dacă vă place această aplicație, anunțați-ne în magazinul Google Play pentru a oferi o experiență mai bună
- Albume recente
- Artişti recenţi
- Eliminare
- Remove banner photo
- Eliminare copertă
- Eliminare din lista neagră
- Remove profile photo
- Eliminați melodia din lista de redare
- %1$s din lista de redare?]]>
- Eliminare melodii din lista de redare
- %1$d melodii din lista de redare?]]>
- Redenumiţi lista de redare
- Report an issue
- Report bug
- Reset
- Reseteţi imaginea artistului
- Restabilire
- A fost restaurată achiziția anterioară. Reporniți aplicația pentru a utiliza toate funcțiile.
- Au fost restabilite achizițiile anterioare.
- Se restabilește achiziția...
- Retro Egalizator
- Retro Music Player
- Cumpărați RetroMusic Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Salvare ca fişier
- Save as files
- Salvaţi lista de redare în %s.
- Salvare modificări
- Scan media
- Au fost scanate %1$d din %2$d fişiere.
- Scrobbles
- Căutare în bibliotecă...
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Setaţi imaginea artistului
- Set a profile photo
- Share app
- Share to Stories
- Amestecare
- Simplu
- Temporizatorul a fost anulat.
- Temporizatorul este setat pentru %d minute de acum.
- Slide
- Small album
- Social
- Share story
- Melodie
- Durată
- Melodii
- ordinea de sortare
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Scuze! Dispozitivul tau nu suporta comenzi vocale
- Caută în colecția ta
- Stack
- Start playing music.
- Suggestions
- Numele tău va fi afișat pe ecranul de pornire
- Susţineţi dezvoltarea
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Mulțumesc!
- Fișier audio
- Luna aceasta
- Săptămâna aceasta
- Anul acesta
- Mic
- Title
- Tablou de bord
- Bună ziua
- O zi bună
- Bună seara
- Bună dimineaţa
- Noapte bună
- Numele dvs.
- Astăzi
- Albume de top
- Artişti de top
- "Melodie (2 pentru melodia 2 sau 3004 pentru CD3 melodia 4)"
- Numărul piesei
- Traducere
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Nu s-a putut reda aceast\u0103 melodie.
- Urmează
- Actualizare imagine
- Se actualizează...
- Username
- Versiune
- Vertical flip
- Virtualizer
- Volume
- Căutare pe internet
- Welcome,
- Ce doriți să expediați?
- What\'s New
- Fereastră
- Rounded corners
- Setează %1$s ca ton de apel
- %1$d selectat
- Anul
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ru-rRU/strings.xml b/app/src/main/res/master/values-ru-rRU/strings.xml
deleted file mode 100644
index b716a6208..000000000
--- a/app/src/main/res/master/values-ru-rRU/strings.xml
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
- Команда, наши социальные сети
- Основной цвет
- Основной цвет, по умолчанию фиолетовый
- О программe
- Добавить в избранное
- Добавить в очередь проигрывания
- Добавить в плейлист
- Очистить очередь воспроизведения
- Очистить плейлист
- Режим повтора цикла
- Удалить
- Удалить с устройства
- Подробности
- Перейти к альбому
- Перейти к исполнителю
- Перейти к жанру
- В начало
- Разрешить
- Размер сетки
- Размер сетки (горизонтально)
- Новый плейлист
- Далее
- Играть
- Воспроизвести всё
- Играть далее
- Играть/Пауза
- Предыдуший
- Удалить из избранного
- Удалить из очереди воспроизведения
- Удалить из плейлиста
- Переименовать
- Сохранить очередь воспроизведения
- Сканировать
- Поиск
- Запустить
- Установить в качества рингтона
- Установить как стартовую папку
- "Настройки"
- Поделиться
- Перемешать всё
- Перемешать плейлист
- Таймер сна
- Порядок сортировки
- Редактор тегов
- Показать избранное
- Включить перемешивающий режим
- Адаптированная
- Добавить
- Добавить текст
- Добавить \nфото
- "Добавить в плейлист"
- Добавить контекстную лирику
- "В очередь добавлен 1 трек."
- В очередь добавлено %1$d треков.
- Альбом
- Исполнитель альбома
- Трек или альбом отсутствуют.
- Альбомы
- Всегда
- Эй, попробуй этот крутой музыкальный плеер: https://play.google.com/store/apps/details?id=%s
- Перемешать
- Топ треков
- Большой
- Карточка
- Классический
- Маленький
- Текст
- Исполнитель
- Исполнители
- Фокус на аудио отключен.
- Изменить настройки звука и эквалайзера
- Авто
- Основная цветовая тема
- Усиление баса
- Биография
- Биография
- Просто Чёрная
- Черный список
- Размытие
- Карточка с размытием
- Невозможно отправить отчет
- Недопустимый ключ доступа. Пожалуйста, свяжитесь с разработчиком приложения.
- Проблемы не активны в выбранном хранилище. Пожалуйста, свяжитесь с разработчиком приложения.
- Произошла непредвиденная ошибка. Пожалуйста, свяжитесь с разработчиком приложения.
- Неверное имя пользователя или пароль
- Ошибка
- Отправить вручную
- Пожалуйста, введите описание проблемы
- Пожалуйста, введите ваш корректный пароль GitHub
- Пожалуйста, введите название отчета о проблеме
- Пожалуйста, введите корректно ваше имя пользователя GitHub
- Произошла непредвиденная ошибка. Извините, если это продолжится
-то «Очистите данные приложения»
- Загрузка отчета на GitHub…
- Отправить с помощью учетной записи GitHub
- Купить сейчас
- Отменить
- Карточка
- Круговая
- Цветная карточка
- Карточка
- Карусель
- Эффект карусели на экране воспроизведения
- Каскадный
- Транслировать
- Список изменений
- Список изменений находится на канале Telegram
- Круг
- Круговая
- Классическая
- Очистить
- Очистить данные приложения
- Очистить черный список
- Очистить очередь
- Очистить плейлист
- %1$s? Это невозможно отменить!]]>
- Закрыть
- Цвет
- Цвет
- Цвета
- Композитор
- Информация об устройстве скопирована в буфер обмена.
- Не удалось создать плейлист.
- "Не удалось скачать соответствующую обложку альбома."
- Не удалось восстановить покупку.
- Не удалось отсканировать %d файлов.
- Создать
- Создан плейлист %1$s.
- Участники и помощники
- Сейчас играет %1$s от %2$s.
- Типа Тёмная
- Нет текста
- Удалить плейлист
- %1$s?]]>
- Удалить плейлисты
- Удалить песню
- %1$s?]]>
- Удалить песни
- %1$d плейлистов?]]>
- %1$d песен?]]>
- Удалено %1$d песен.
- Удаление песен
- Глубина
- Описание
- Информация об устройстве
- Разрешить Retro Music изменять настройки звука
- Установить рингтон
- Хотите очистить черный список?
- %1$s из черного списка?]]>
- Пожертвовать
- Если вы считаете, что я заслуживаю награды за свою работу, можете отправить мне несколько рублей здесь
- Купите мне:
- Загрузить с Last.fm
- Режим вождения
- Редактировать
- Изменить обложку
- Пусто
- Эквалайзер
- Ошибка
- ЧаВО
- Избранное
- Закончить последнюю песню
- По размеру
- Плоская
- Папки
- Системная
- Для вас
- Бесплатная
- Заполнение
- Заполнение карточки
- Изменить тему и цвета в приложении
- Внешний вид плеера
- Жанр
- Жанры
- Развивай проект на GitHub
- Присоединяйся к сообществу Google Plus, где ты можешь попросить о помощи или следить за обновлениями Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Стиль сетки
- Петля
- История
- Главная
- Горизонтальный поворот
- Изображение
- Градиентное изображение
- Изменение настроек загрузки изображения артиста
- В плейлист %2$s внесено %1$d песен.
- Поделитесь своим обзором на приложение Retro Music в Instagram
- Клавиатура
- Битрейт
- Формат
- Имя файла
- Путь к файлу
- Размер
- Больше от %s
- Частота дискретизации
- Длина
- Помечено
- Последние добавленные
- Последняя песня
- Давайте послушаем немного музыки
- Библиотека
- Разделы библиотеки
- Лицензии
- Светлая
- Слушатели
- Список файлов
- Загрузка товаров…
- Войти
- Текст
- Сделано с ❤️ в Индии
- Material
- Ошибка
- Ошибка разрешения
- Моё имя
- Самые воспроизводимые
- Никогда
- Новое фото баннера
- Новый плейлист
- Новое фото профиля
- %s - новая начальная папка.
- Следующая песня
- Альбомы отсутствуют
- Исполнители отсутствуют
- "Сначала проиграйте песню, затем попробуйте заново."
- Эквалайзер не найден
- Жанры отсутствуют
- Текст отсутствует
- Нет проигрываемых песен
- Плейлисты отсутствуют
- Покупки отсутствуют.
- Нет результатов
- Нет песен
- Обычный
- Обычный текст
- Нормальный
- %s не найден в каталоге Медиа.]]>
- Нечего сканировать.
- Нечего сканировать
- Уведомления
- Настроить стиль уведомлений
- Сейчас играет
- Очередь в \"Сейчас играет\"
- Настроить экран воспроизведения
- 9+ тем экрана воспроизведения
- Только по Wi-Fi
- Расширенные тестовые возможности
- Другое
- Пароль
- Последние 3 месяца
- Вставьте тест песни сюда
- Панель снизу
- Разрешение для доступа к внешнему хранилищу не получено.
- Разрешения не получены.
- Персонализировать
- Настройте экран воспроизведения и управление музыкой
- Взять из хранилища
- Выбрать изображение
- Pinterest
- Следуйте за страницей Retro Music в Pinterest
- Простая
- Уведомление о песне предоставляет действия для воспроизведения / паузы и т.д.
- Уведомления воспроизведения
- Пустой плейлист
- Плейлист пуст
- Название плейлиста
- Плейлисты
- Стиль деталей альбома
- Сила размытия в соответствующих темах; чем ниже, тем меньше нагрузка на устройство
- Сила размытия
- Отрегулируйте углы нижней панели
- Угол диалогового окна
- Фильтровать песни по длине
- Фильтровать песни по длительности
- Расширенные настройки
- Стиль альбома
- Аудио
- Черный список
- Управление
- Тема
- Изображения
- Библиотека
- Экран блокировки
- Плейлисты
- Приостанавливает воспроизведение при уменьшении громкости до нуля и запускает после увеличения громкости. Предупреждение, когда вы увеличиваете громкость не в приложении, то Retro Music также начнёт воспроизведение
- Пауза при нулевой громкости
- Имейте в виду, что включение этой функции может повлиять на время работы аккумулятора
- Не выключать экран
- Нажмите, чтобы открыть экран воспроизведения с прозрачной навигации или проведите чтобы открыть без прозрачной навигации
- Нажмите или Проведите
- Эффект снегопада
- Использовать обложку альбома текущей песни в качестве обоев на экране блокировки
- Снизить громкость воспроизведения когда приходить звуковое уведомление
- Содержимое черного списка скрыто из вашей библиотеки.
- Начать воспроизведение сразу же после подключения Bluetooth-устройства
- Размыть обложку альбома на экране блокировки. Может вызывать проблемы со сторонними приложениями и виджетами
- Эффект карусели для обложек альбома на экране воспроизведения. Учтите, что темы \"Карточка\" и \"Размытая карточка\" не будут работать
- Использовать классический дизайн уведомлений
- Цвет кнопок фона и кнопок управления изменяется в соответствии с обложкой альбома с экрана воспроизведения
- Окрашивает ярлыки в главный цвет (Accent). Каждый раз, когда вы меняете цвет, вкл-выкл эту настройку, чтобы изменение вступило в силу
- Окрашивает панель навигации в главный цвет
- "Окрашивает уведомление на обложке альбома ярким цветом"
- Согласно Material Design в темном режиме цвета должны быть немного обесцвечены
- Наиболее доминирующий цвет будет выбран из обложки альбома или исполнителя
- Добавить дополнительные элементы управления для мини-плеера
- Показать дополнительную информацию о песне, такую как формат файла, битрейт и частота
- "Может вызвать проблемы с воспроизведением на некоторых устройствах."
- Включить вкладку жанр
- Включить кнопку Домой
- Может повысить качество обложки альбома, но привести к более медленной загрузки изображения. Включите это только в том случае, если у вас есть картинки с низким разрешением
- Настроить вид и порядок категорий в библиотеке.
- Используйте экран блокировки Retro Music
- Сведения о лицензии для программного обеспечения с открытым исходным кодом
- Закруглить углы в приложении
- Включить заголовки для вкладок нижней панели навигации
- Полноэкранный режим
- Начать воспроизведение музыки сразу после подключения наушников
- Режим перемешивания выключится при проигрывании нового списка песен
- Если доступно достаточно места, показывать управление громкостью на экране воспроизведения
- Показать обложку альбома
- Тема обложки альбома
- Стиль смены обложки альбома
- Сетка альбомов
- Цветные ярлыки
- Сетка исполнителей
- Уменьшить громкость при потере фокусировки
- Автозагрузка изображений исполнителя
- Черный список
- Воспроизведение при подключении Bluetooth
- Размытие обложки альбома
- Выбрать эквалайзер
- Классический дизайн уведомлений
- Адаптированный цвет
- Цветное уведомление
- Немного обесцвеченный цвет
- Дополнительные элементы управления
- Информация о песне
- Непрерывное воспроизведение
- Тема приложения
- Показать вкладку жанра
- Сетка исполнителя на Главной странице
- Кнопка домой
- Игнорировать обложки из хранилища
- Дата последнего добавления плейлиста
- Полноэкранное управление
- Цветная панель навигации
- Тема экрана воспроизведения
- Лицензии с открытым кодом
- Углы краёв
- Название кнопок
- Эффект карусели
- Главный цвет
- Полноэкранное приложение
- Названия вкладок
- Автовоспроизведение
- Режим перемешивания
- Управление громкостью
- Информация о пользователе
- Основной цвет
- Основной цвет темы, по умолчанию - серо-голубой, теперь работает с темными цветами
- Pro
- Черная тема, Темы экрана воспроизведения, Эффект карусели и многое другое..
- Профиль
- Купить
- * Подумайте, прежде чем покупать, не просите возврата.
- Очередь
- Оценить приложение
- Понравилось это приложение? Напишите нам в Google Play Store о том, как мы можем сделать его еще лучше
- Последние альбомы
- Последние исполнители
- Удалить
- Удалить фотографию баннера
- Удалить обложку
- Удалить из черного списка
- Удалить фотографию профиля
- Удалить песню из плейлиста
- %1$s из плейлиста?]]>
- Удалить песни из плейлиста
-
- Переименовать плейлист
- Сообщить о проблеме
- Сообщить об ошибке
- Сбросить
- Сбросить изображение исполнителя
- Восстановить
- Предыдущая покупка восстановлена. Пожалуйста, перезапустите приложение, чтобы использовать все функции.
- Предыдущие покупки восстановлены.
- Восстановление покупки…
- Эквалайзер Retro Music
- Retro Music Player
- Retro Music Pro
- Ошибка при удалении файла: %s
-
- Не удается получить SAF URI
- Открыть навигационное меню
- Включите «Показать SD-карту» в всплывающем меню
-
- %s необходим доступ к SD-карте
- Вы должны выбрать корневой каталог SD-карты
- Выберите SD-карту в меню навигации
- Не открывайте никакие подпапки
- Нажмите кнопку «выбрать» в нижней части экрана
- Ошибка при записи файла: %s
- Сохранить
-
-
- Сохранить как
- Сохранить как
- Сохраненный список воспроизведения в %s.
- Сохранение изменений
- Сканировать медиа-файлы
- Просканировано %1$d из %2$d файлов.
- Скробблинги
- Поиск в вашей библиотеке…
- Выбрать все
- Выбрать фото баннера
- Выбрано
- Отправить лог сбоя
- Установить
- Установить изображение исполнителя
- Выбрать фото профиля
- Поделиться приложением
- Поделиться в Историях
- Перемешать
- Простая
- Таймер сна отменен.
- Таймер сна установлен на %d минут.
- Провести
- Маленький альбом
- Общее
- Поделиться историей
- Песня
- Длительность песни
- Песни
- Порядок сортировки
- По возрастанию
- Альбом
- Исполнитель
- Композитор
- Дата добавления
- Дата изменения
- Год
- По убыванию
- Извините! Ваше устройство не поддерживает ввод с помощью речи
- Поиск в вашей библиотеке
- Стэк
- Начать воспроизведение музыки.
- Предложения
- Просто покажите свое имя на главном экране
- Поддержать разработку
- Проведите, чтобы разблокировать
- Синхронизируемый текст
- Системный эквалайзер
-
- Telegram
- Присоединитесь к группе Telegram, чтобы обсуждать ошибки, предлагать улучшения, хвастаться и делать многое другое
- Спасибо!
- Аудиофайл
- Этот месяц
- Эта неделя
- Этот год
- Крошечный
- Название
- Панель управления
- Добрый день
- Добрый день
- Добрый вечер
- Доброе утро
- Доброй ночи
- Как тебя зовут
- Сегодня
- Топ альбомов
- Топ исполнителей
- "Песня (2 для песня 2 или 3004 для CD3 песни 4)"
- Номер песни
- Перевести
- Помогите нам перевести приложение на ваш язык
- Твиттер
- Поделитесь своим дизайном с Retro Music
- Не помечено
- Не удалось воспроизвести эту песню.
- Следующий
- Обновить изображение
- Обновляется…
- Имя пользователя
- Версия
- Вертикальный поворт
- Виртуализация
- Громкость
- Поиск в интернете
- Добро пожаловать,
- Чем вы хотите поделиться?
- Что нового
- Окно
- Закругленные углы
- Установите %1$s в качестве мелодии звонка.
- Выбрано %1$d
- Год
- Выберите хотя бы одну категорию.
- Вы будете перенаправлены на сайт системы отслеживания ошибок.
- Данные вашей учетной записи используются только для аутентификации.
- Количество
- Примечание (необязательно)
- Начать оплату
- Показать экран воспроизведения
- Нажатие на уведомление будет показывать экран воспроизведения вместо домашнего экрана
- Крошечная карточка
-
diff --git a/app/src/main/res/master/values-sk-rSK/strings.xml b/app/src/main/res/master/values-sk-rSK/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-sk-rSK/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-sr-rSP/strings.xml b/app/src/main/res/master/values-sr-rSP/strings.xml
deleted file mode 100644
index a0d473c74..000000000
--- a/app/src/main/res/master/values-sr-rSP/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Boja detalja
- Boja plejera, uobičajena je zelena
- O programerima
- Dodaj u omiljene
- Dodaj u listu za pustanje
- Dodaj na plejlistu
- Izbrisi trenutnu plejlistu za pustanje
- Izbrisi plejlistu
- Cycle repeat mode
- Obrisi
- Izbrisi sa uredjaja
- Detalji
- Vidi album
- Vidi izvodjaca
- Go to genre
- Idi u pocetni direktorijum
- .
- Velicina kartica
- .
- New playlist
- Sledece
- Pusti
- Play all
- Pusti sledeće
- Pusti/pauziraj
- Prethodno
- Izbrisi iz favorita
- Izbrisi iz trenutne plajliste za slusanje
- Obrisi sa plejliste
- Promeni naziv
- Sacuvaj plejlistu za trenutno pustanje
- Skeniraj fajlove
- Pretrazi
- Postavi
- Postavi kao melodiju zvona
- Postavi kao pocetni direktorijum
- "Podesavanja"
- Podeli
- Nasumicno pusti
- Nasumicno pusti plejlistu
- Tajmer za iskljucivanje
- Sort order
- Uredjivac tagova
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Dodaj
- Add lyrics
- Dodaj sliku
- "Dodaj na plejlistu"
- Add time frame lyrics
- "Dodata je 1 pesma na plejlistu"
- Dodato %1$d pesama na plejlistu
- Album
- Izvodjac albuma
- Naziv ili izvodjac su nepoznati
- Albumi
- Uvek
- Isprobaj ovaj fantastican plejer na: https://play.google.com/store/apps/details?id=%s
- Reprodukuj nasumicno
- Najvise slusano
- Big
- Card
- Classic
- Small
- Text
- Izvodjac
- Izvodjac
- Zvuk se vec reprodukuje
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biografija
- Perfektno crna
- Ne trazi muziku u...
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Otkazi trenutni tajmer
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Izmene
- Izmene odobrene za Telegram aplikacije
- Circle
- Circular
- Classic
- Ocisti
- Clear app data
- Ocisti listu za ignorisanje foldera
- Clear queue
- Ocisti plejlistu
- %1$s? Izmene se nece moci opozvati!]]>
- Close
- Color
- Color
- Boje
- Composer
- Copied device info to clipboard.
- Nemoguce je napraviti plejlistu
- "Nemoguce je preuzeti odgovarajucu pozadinu albuma"
- Could not restore purchase.
- Nije moguce skenirati %d fajlove
- Napravi
- Plejlista %1$s je napravljena
- Members and contributors
- Trenutno se reprodukuje %1$s izvodjaca %2$s
- Kao tamno
- Nema pronadjenih tekstova
- Izbrisi plejlistu
- %1$s plejlistu?]]>
- Izbrisi plejlistu
- Delete song
- %1$s?]]>
- Delete songs
- %1$d plejliste?]]>
- %1$d numere?]]>
- Izbrisi %1$d numere.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Da li zelite da ispraznite listu za ignorisanje foldera?
- %1$s sa liste za ignorisanje foldera?]]>
- Doniraj
- Ako mislis da zasluzujem da budem placen za ovaj posao, mozes mi poslati par dolara
- Kupi mi
- Preuzmi sa Last.fm
- Drive mode
- Edit
- Edit cover
- Nema pesama
- Ekvilajzer
- Error
- FAQ
- Favoriti
- Finish last song
- Fit
- Ravno
- Folderi
- Follow system
- Za tebe
- Free
- Ispunjen
- Full card
- Change the theme and colors of the app
- Look and feel
- Zanr
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- Istorija reprodukovanja
- Pocetak
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Ubaceno %1$d pesama u plejlistu %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Formatiraj
- Naziv datoteke
- Lokacija datoteke
- Velicina
- More from %s
- Brzina uzorkovanja
- Duzina trajanja
- Labeled
- Poslednje dodato
- Last song
- Slusajmo nesto!
- Pretrazi
- Library categories
- Licence
- Perfektno bela
- Listeners
- Pronalazenje pesama
- Ucitavanje datoteka...
- Login
- Tekst pesme
- Made with ❤️ in India
- Material
- Error
- Permission error
- Moje ime je
- Najslusanije numere
- Nikada
- New banner photo
- Nova plejlista
- New profile photo
- %s je novi pocetni direktorijum.
- Next Song
- Nema albuma
- Nema izvodjaca
- "Prvo pusti pesmu, a onda pokusaj opet"
- Nije pronadjen ni jedan ekvilajzer
- You have no genres
- Nema pronadjenog teksta pesme
- No songs playing
- Nema plejliste
- No purchase found.
- Nema rezultata
- Nema pesama
- Normalno
- Normal lyrics
- Normal
- %s nije pronadjen u prodavnici pesama]]>
- Nema se sta skenirati
- Nothing to see
- Obavestenja
- Customize the notification style
- Now playing
- Lista za trenutno pustanje
- Customize the now playing screen
- 9+ now playing themes
- Samo kada je povezan na WiFi
- Advanced testing features
- Other
- Password
- Prosla 3 meseca
- Paste lyrics here
- Peak
- Dozvola za pristup spoljasnjem skladistu je odbijena
- Dozvola odbijena.
- Personalize
- Customize your now playing and UI controls
- Izaberi iz unutrasnjeg skladista
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Jednostavan
- Obavestenja obezbedjuju komande za pustanje/pauziranje itd.
- Obavestenja o reprodukciji
- Isprazni plejlistu
- Plejlista je prazna
- Ime plejliste
- Plejliste
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Zvuk
- Blacklist
- Controls
- Theme
- Slike
- Library
- Zakljucan ekran
- Plejliste
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Koristi omot albuma kao pozadinu kada se reprodukuje muzika
- Obavestenja, navigacija itd.
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Zamuti omot albuma na zakljucanom ekranu. (moze izazvati probleme sa drugim aplikacijama i vidzetima)
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Koristi klasicni stil obavestenja
- Pozadina i pusti/pauziraj dugme menjaju boju u zavisnosti od boje omota albuma
- Oboj precice aplikacije u akcentovanu boju. Svaki puta kada promenis boju molim te omoguci ovo opet kako bi imalo efekta
- Oboj navigacijski bar u primarnu boju
- "Oboj obavestenja u boju omota albuma"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Moze prouzrokovati probleme na pojedinim uredjajima."
- Toggle genre tab
- Show or hide the home banner
- oze poboljsati kvalitet omota albuma ali uzrokuje njegovo sporije ucitavanje. Omoguci ovo samo ukoliko imas problema sa losim kvalitetom slike omota albuma.
- Configure visibility and order of library categories.
- Prikazuj kontrole na zakljucanom ekranu
- Detalji o licencama za softver otvorenog izvora
- Zaobl ivice ekrana, omota albuma itd.
- Omoguci/ iskljuci nazive kartica
- Omoguci ovo za impresivan mod.
- Kada se prikljuce slusalice automatki pusti pesme
- Shuffle mode will turn off when playing a new list of songs
- Ukoliko imas prostora na ekranu za pustanje omoguci kontroler jacine zvuka.
- Prikazi omot albuma
- Album cover theme
- Album cover skip
- Album grid
- Obojene ikone aplikacije
- Artist grid
- Utisaj zvuk prilikom poziva i drugih obavestenja.
- Automatski preuzmi sliku izvodjaca
- Blacklist
- Bluetooth playback
- Zamuti omot albuma
- Choose equalizer
- Klasican stil obavestenja
- Prilagodive boje
- Obojena obavestenja
- Desaturated color
- Extra controls
- Song info
- Neuznemiravano reprodukovanje
- Opsta tema
- Show genre tab
- Artist grid
- Banner
- Ignorisi omote sa prodavnice
- Interval plejliste poslednje dodato
- Kontrole preko celog ekrana
- Obojeni navigacioni bar
- Izgled
- Otvoren izvor licenca
- Zaobli ivice
- Tab titles mode
- Carousel effect
- Dominant color
- Aplikacija preko celog ekrana
- Nazivi kartica
- Automatsko reprodukovanje
- Shuffle mode
- Kontroler jacine zvuka
- Podaci o korisniku
- Primarna boja
- Primarna boja, podrazumevna je bela
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Trenutno
- Oceni aplikaciju
- Volis ovu aplikaciju? Obavesti nas u Google Play Prodavnici
- Recent albums
- Recent artists
- Izbrisi
- Remove banner photo
- Izbrisi omot albuma
- Izbrisi sa liste za ignorisanje foldera
- Remove profile photo
- Izbrisi pesmu sa plejliste
- %1$s sa plejliste?]]>
- Izbrisi pesme sa plejliste
- %1$d pesama sa plejliste?]]>
- Promeni ime plejliste
- Report an issue
- Report bug
- Reset
- Resetuj sliku izvodjaca
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Obnovljene su prethodne kupovine
- Restoring purchase…
- Retro ekvalajzer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Sacuvaj kao fajl
- Save as files
- Plej lista sacuvana u %s.
- Cuvanje izmena
- Scan media
- Skenirano %1$d od %2$d fajlova
- Scrobbles
- Pretrazi svoju biblioteku...
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Postavi sliku izvodjaca
- Set a profile photo
- Share app
- Share to Stories
- Nasumicno pusti
- Jednostavan
- Tajmer za iskljucivanje je otkazan
- Tajmer za iskljucivanje je podesen za %d od sad.
- Slide
- Small album
- Social
- Share story
- Pesma
- Trajanje pesme
- Pesme
- Nacin sortiranja
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Izvini! Tvoj uredjaj ne podrzava unos govorom
- Pretrazi svoju biblioteku
- Stack
- Start playing music.
- Suggestions
- Prikazuje tvoje ima na pocetnom ekranu
- Podrzi programera
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Hvala!
- Audio fajl
- Ovog meseca
- Ove nedelje
- Ove godine
- Sitno
- Title
- Komandna tabla
- Dobar dan
- Dobar dan
- Dobro vece
- Dobro jutro
- Laku noc
- Kako se zoves?
- Danas
- Top albums
- Top artists
- "Redni broj (2 za redni broj 2 ili 3004 za CD3 redni broj 4)"
- Redni broj
- Prevod
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Nije moguce pustiti pesmu.
- Sledece
- Azuriraj sliku
- Azurira se...
- Username
- Verzija
- Vertical flip
- Virtualizer
- Volume
- Web pretraga
- Welcome,
- Sta zelis da podelis?
- What\'s New
- Window
- Rounded corners
- Postavi %1$s kao melodiju zvona.
- Selektovano %1$d
- Godina
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-sv-rSE/strings.xml b/app/src/main/res/master/values-sv-rSE/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-sv-rSE/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-ta-rIN/strings.xml b/app/src/main/res/master/values-ta-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-ta-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-tr-rTR/strings.xml b/app/src/main/res/master/values-tr-rTR/strings.xml
deleted file mode 100644
index 6ebf5a511..000000000
--- a/app/src/main/res/master/values-tr-rTR/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Ekip, sosyal medya linkleri
- Vurgu rengi
- Tema vurgu rengi, varsayılan olarak mor renktedir
- Hakkında
- Favorilere ekle
- Oynatma kuyruğuna ekle
- Oynatma listesine ekle
- Oynatma kuyruğunu temizle
- Oynatma listesini temizle
- Tekrarlı oynatma modu
- Sil
- Cihazdan sil
- Ayrıntılar
- Albüme git
- Sanatçıya git
- Şarkı türüne git
- Başlangıç dizinine git
- Onayla
- Izgara boyutu
- Izgara boyutu (yer)
- Yeni oynatma listesi
- Sonraki
- Oynat
- Hepsini oynat
- Bir sonrakini oynat
- Oynat/Durdur
- Önceki
- Favorilerden çıkar
- Oynatma sırasından çıkar
- Oynatma listesinden çıkar
- Yeniden adlandır
- Oynatma kuyruğunu kaydet
- Tara
- Ara
- Başlat
- Zil sesi olarak ayarla
- Başlangıç dizini olarak ayarla
- "Ayarlar"
- Paylaş
- Hepsini karıştır
- Oynatma listesini karıştır
- Uyku zamanlayıcısı
- Sıralama tertipi
- Şarkı bilgilerini düzenle
- Favori değiştir
- Karışık Çal
- Uyarlanabilir
- Ekle
- Şarkı sözleri ekle
- Fotoğraf ekle
- "Oynatma listesine ekle"
- Süreli şarkı sözleri ekle
- "Kuyruğa 1 parça eklendi."
- %1$d şarkı kuyruğuna eklendi.
- Albüm
- Albüm sanatçısı
- Şarkı ismi veya şarkıcı adı boş.
- Albümler
- Her zaman
- Hey, şu havalı müzik çalara şuradan bir göz atmaya ne dersin: https://play.google.com/store/apps/details?id=%s
- Karıştır
- Sık oynatılan parçalar
- Retro müzik - Büyük
- Retro müzik - Kart
- Retro müzik - Klasik
- Retro müzik - Küçük
- Retro müzik - Metin
- Sanatçı
- Sanatçılar
- Ses odaklaması reddedildi.
- Ses ayarlarını değiştirin ve ekolayzır kontrollerini ayarlayın
- Otomatik
- Temel renk teması
- Bas Kuvvetlendirme
- Biyografi
- Yaşam öyküsü
- Sade Siyah
- Kara Liste
- Bulanıklık
- Bulanık kart
- Bildiri gönderilemiyor
- Geçersiz erişim belirteci. Lütfen uygulama geliştiricisine başvurun.
- Seçilen depo için sorunlar etkin değil. Lütfen uygulama geliştiricisiyle iletişime geçin.
- Beklenmedik bir sorun oluştu. Lütfen uygulama geliştiricisine başvurun.
- Yanlış kullanıcı adı veya şifre
- Sorun
- Manuel olarak gönder
- Lütfen bir sorun açıklaması belirtin
- Lütfen geçerli GitHub şifrenizi girin
- Lütfen bir sorun başlığı girin
- Lütfen geçerli GitHub kullanıcı adınızı girin
- Beklenmedik bir hata oluştu. Bu hatayı bulduğunuz için üzgünüz, eğer durmadan hata veriyorsa \"Verileri Temizleyin\" ya da bir E-posta yollayın
- Rapor GitHub\'a yükleniyor ...
- GitHub hesabını kullanarak gönder
- Şimdi satın alın
- İptal et
- Kart
- Yuvarlak
- Renkli Kart
- Kart
- Atlıkarınca
- Şimdi oynatılıyor ekranında atlıkarınca efekti
- Basamaklı
- Yayınla
- Değişim kayıt günlüğü
- Sürümlerdeki değişiklik kayıtları Telegram üzerinde tutulmaktadır.
- Çember
- Dairesel
- Klasik
- Temizle
- Uygulama verilerini temizle
- Kara listeyi temizle
- Kuyruğu temizle
- Oynatma listesini temizle
- %1$s isimli oynatma listesini temizlemekten emin misiniz? Bu işlem geri alınamaz!]]>
- Kapat
- Renk
- Renk
- Renkler
- Besteci
- Cihaz bilgileri panoya kopyalandı.
- Oynatma listesi oluşturulamadı\u2019.
- "Eşleşen albüm kapağı indirilemedi\u2019."
- Satın alma bulunamadı.
- %d dosyası taranamadı.
- Oluştur
- %1$s adında oynatma listesi oluşturuldu.
- Üyeler ve katkıda bulunanlar
- Şu anda %2$s şarkıcısından %1$s dinleniyor.
- Koyu
- Şarkı sözü yok
- Çalma listesini sil
- %1$s silinsin mi?]]>
- Çalma listelerini sil
- Şarkıyı sil
- %1$s adlı şarkı silinsin mi?]]>
- Şarkıları sil
- %1$d çalma listeleri silinsin mi?]]>
- %1$d parçaları silinsin mi?]]>
- %1$d parça silindi.
- Şarkılar siliniyor
- Derinlik
- Açıklama
- Cihaz Bilgisi
- Retro Müzik\'in ses ayarlarını değiştirmesine izin verin
- Zil sesini ayarla
- Kara listeyi temizlemek istiyor musunuz?
- %1$s'i kaldırmak istiyor musunuz?]]>
- Bağış yapın
- Çalışmalarımın karşılığı olarak para hakettiğimi düşünüyorsanız bana biraz bahşiş bırakabilirsiniz
- Bağışlayacağınız tutar:
- Last.fm\'den yükle
- Sürüş modu
- Düzenle
- Albüm kapağını düzenle
- Boş
- Ekolayzır
- Hata
- SSS
- Favoriler
- Son şarkıyı sonlandır
- Uydur
- Düz
- Klasörler
- Sistemi izle
- Sizin için
- Bedava
- Dolu
- Dolu kart
- Uygulamanın arayüzünü ve renklerini değiştirin
- Bak ve Hisset
- Janr
- Janrlar
- Projeyi GitHub\'da çatalla
- Yardım istemek veya Retro Müzik güncellemelerini takip etmek için Google+ topluluğumuza katılın
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Izgara şekli
- Menteşe
- Geçmiş
- Ana sayfa
- Yatay çevir
- Görüntü
- Gradyan görüntü
- Şarkıcı resimlerinin indirme ayarlarını değiştirin
- %2$s listesine %1$d parçalar eklendi.
- Instagram\'da Retro Müzik temanızı paylaşın
- Klavye
- Bit Hızı
- Biçim
- Dosya adı
- Dosya yolu
- Boyut
- %s\'dan daha fazla
- Örnekleme oranı
- Uzunluk
- Etiketli
- Son eklenen
- Son şarkı
- Hadi biraz müzik çalalım
- Kütüphane
- Kütüphane kategorileri
- Lisanslar
- Açık Beyaz
- Dinleyiciler
- Dosyalar listeleniyor
- Ürünler yükleniyor ...
- Giriş
- Şarkı sözleri
- Hindistan\'da ❤️ ile yapıldı
- Materyal
- Hata
- İzin hatası
- İsim
- Sık oynatılanlar
- Asla
- Yeni afiş fotoğrafı
- Yeni şarkı listesi
- Yeni profil fotoğrafı
- %s yeni başlangıç dizini.
- Sonraki Şarkı
- Hiç albümünüz bulunmuyor
- Hiç sanatçınız bulunmuyor
- "Önce bir şarkı çal, sonra tekrar dene"
- Ekolayzır bulunamadı
- Hiç janrınız bulunmuyor
- Şarkı sözleri bulunamadı
- Hiç çalan şarkı yok
- Hiç oynatma listeniz bulunmuyor
- Satın alma bulunamadı.
- Sonuç yok
- Hiç şarkınız bulunmuyor
- Normal
- Normal şarkı sözleri
- Normal
- %s medya deposunda listelenmiyor.]]>
- Aranacak herhangi bir şey yok.
- Hiçbir şey yok
- Bildirim
- Bildirim stilini özelleştirin
- Şimdi oynatılıyor
- Şimdi çalınıyor kuyruğu
- Şimdi oynatılıyor ekranını özelleştirin
- 9+ şimdi oynatılıyor teması
- Sadece Wi-Fi\'da
- Gelişmiş test özellikleri
- Diğer
- Şifre
- Son 3 ay
- Şarkı sözlerini buraya yapıştırın
- Zirve
- Harici depolama izni reddedildi.
- İzinler reddedildi.
- Kişiselleştirme
- Şimdi çalıyor ve kullanıcı arayüzü kontrollerinizi özelleştirin
- Yerel depolama alanından seç
- Resim koy
- Pinterest
- Retro Müzik tasarım ilhamı almak için Pinterest sayfasını takip edin
- Sade
- Oynatılıyor bildirimi, oynatma/duraklatma vb. için eylemler sağlar.
- Oynatılıyor bildirimi
- Boş oynatma listesi
- Oynatma listesi boş
- Oynatma listesi ismi
- Oynatma listeleri
- Albüm detay stili
- Bulanıklık içeren arayüzler için bulanıklık tutarı, ne kadar azsa o kadar hızlı.
- Bulanıklık miktarı
- Alt katman diyalog köşelerini ayarlayın
- Diyalog köşesi
- Şarkıları uzunluğa göre filtrele
- Şarkı süresini filtrele
- Gelişmiş
- Albüm stili
- Ses
- Kara liste
- Kontroller
- Tema
- Görüntüler
- Kütüphane
- Kilit ekranı
- Oynatma listeleri
- Ses sıfıra düştüğünde şarkıyı duraklatır ve ses seviyesi yükseldiğinde çalmaya başlar. Ayrıca uygulamanın dışında da çalışır
- Sıfırda dur
- Bu özelliği etkinleştirmenin pil ömrünü etkileyebileceğini unutmayın.
- Ekranı açık tut
- Çalmakta olan ekrana şeffaf gezinme olmadan açmak veya kaydırmak için tıklayın
- Tıkla veya Kaydır
- Kar yağışı efekti
- Çalmakta olan şarkı albüm kapağını kilit ekranı duvar kağıdı olarak kullanın
- Sistem sesi çalındığında veya bir bildirim alındığında sesi kısın
- Kara listedeki klasörlerin içeriği kütüphanenizden gizlenir.
- Bluetooth cihazına bağlanır bağlanmaz çalmaya başla
- Albüm kapağını kilit ekranında bulanıklaştır. Üçüncü taraf uygulamalar ve widget\'lar ile sorunlara neden olabilir
- Çalmakta olan ekranda albüm resmi için atlıkarınca efekti. Kart ve Bulanıklaştırma Kartı temalarının çalışmayacağını unutmayın
- Klasik bildirim tasarımını kullanın
- Arka plan ve kontrol düğmesinin renkleri, çalmakta olan ekranda albüm resmine göre değişir
- Vurgu rengindeki uygulama kısayollarını renklendirir. Lütfen rengi her değiştirdiğinizde, etkili olması için bu düğmeyi değiştirin.
- Birincil renkteki gezinme çubuğunu renklendirir.
- "Alb\u00fcm kapa\u011f\u0131n\u0131n canl\u0131 rengindeki bildirimi renklendirir"
- Karanlık modda malzeme tasarım kurallarına göre renkler doymamış olmalıdır
- En baskın renk, albüm veya sanatçı kapağından seçilecektir
- Mini oynatıcı için ekstra kontroller ekle
- Dosya formatı, bit hızı ve frekans gibi fazladan şarkı bilgilerini göster
- "Bazı cihazlarda oynatma sorunlarına neden olabilir"
- Janr sekmesine erkinleştir
- Ana sayfa afişini etkinleştir
- Albüm kapağı kalitesini artırabilir, ancak fotoğrafın yavaş yüklenmesine neden olur. Bunu, yalnızca düşük çözünürlüklü resimlerle ilgili sorunlarınız varsa etkinleştirin.
- Kütüphane kategorilerinin görünürlük ve sırasını yapılandırın
- Retro Müzik\'in özel kilit ekranı kontrollerini kullanın
- Açık kaynaklı yazılım için lisans detayları
- Uygulamanın kenarlarını yuvarlaklaştır
- Alt gezinti çubuğu sekmeleri için başlıkları etkinleştir
- Sürükleyici modu
- Kulaklık bağlandıktan hemen sonra çalmaya başla
- Yeni bir şarkı listesi çalınırken karıştırma modu kapanacak
- Eğer yeterli alan varsa ses kontrollerini şimdi oynatılıyor ekranında göster
- Albüm kapağını göster
- Albüm kapağı teması
- Albüm kapağını atla
- Albüm ızgarası
- Renkli uygulama kısayolları
- Sanatçı ızgarası
- Odak kaybında ses hacmini azaltın
- Sanatçı resimlerini otomatik indir
- Kara Liste
- Bluetooth playback
- Albüm kapağını bulanıklaştır
- Ekolayzır seç
- Klasik bildirim tasarımı
- Adaptif renk
- Renkli bildirim
- Doymamış renk
- Ekstra kontroller
- Şarkı bilgisi
- Boşluksuz playback
- Uygulama teması
- Janr sekmesini göster
- Ana sayfa sanatçı ızgarası
- Ana sayfa afişi
- Media Store kapaklarını yoksay
- Son eklenen çalma listesi aralığı
- Tam ekran kontrolleri
- Renkli gezinme çubuğu
- Şimdi oynatılıyor teması
- Açık kaynak lisansları
- Köşe kenarları
- Sekme başlıkları modu
- Atlıkarınca efekti
- Baskın renk
- Uygulamayı tam ekran yapın
- Sekme başlıkları
- Otomatik oynatma
- Karıştır modu
- Ses kontrolleri
- Kullanıcı bilgisi
- Ana renk
- Ana tema rengi, varsayılanı mavi griye, şimdilik koyu renklerle çalışıyor
- Pro
- Şimdi Oynatılıyor temaları, Atlıkarınca efekti, Renkli tema ve daha fazlası..
- Profil
- Satın al
- Lütfen satın almadan önce düşünün. Para iadesi yapılmaz.
- Kuyruk
- Uygulamayı değerlendirin
- Bu uygulamayı beğendiniz mi? Nasıl daha iyi yapabileceğimiz konusunda lütfen Google Play Store\'da bize bildirin
- Son albümler
- Son sanatçılar
- Kaldır
- Afiş fotoğrafını kaldır
- Kapağı kaldır
- Kara listeden kaldır
- Profil fotoğrafını kaldır
- Şarkıyı oynatma listesinden kaldır
- %1$s adlı şarkı oynatma listesinden kaldırılsın mı?]]>
- Şarkıları oynatma listesinden kaldır
- %1$d adlı şarkılar oynatma listesinden kaldırılsın mı?]]>
- Oynatma listesini yeniden adlandır
- Sorun Bildir
- Hata bildir
- Sıfırla
- Sanatçı resmini sıfırla
- Geri yükle
- Önceki satın alma işlemi geri yüklendi. Tüm özelliklerden yararlanmak için lütfen uygulamayı yeniden başlatın.
- Önceki satın almalar geri yüklendi.
- Satın alım geri yükleniyor ...
- Retro Müzik Ekolayzırı
- Retro Müzik Çalar
- Retro Müzik Pro
- Dosya silme başarısız oldu: %s
-
- SAF url\'si alınamıyor.
- Navigasyon sekmesini aç
- Taşma menüsünde \'SD kartı göster\' seçeneğini etkinleştir
-
- %s SD kart erişimi gerekiyor
- SD kart kök dizini seçmeniz gerekir
- Navigasyon sekmesinde SD kartınızı seçin
- Herhangi bir alt klasörü açmayın
- Ekranın alt kısmındaki \'Seç\' düğmesine dokunun
- Dosya yazma başarısız oldu: %s
- Kaydet
-
-
- Dosya olarak kaydet
- Dosya olarak kaydet
- Oynatma listesi %s olarak kaydedildi.
- Değişiklikler kaydediliyor
- Medyayı tara
- %1$d / %2$d dosya tarandı.
- Gönderilen şarkı adları
- Kütüphanenizi arayın…
- Hepsini seç
- Afiş fotoğrafını seçin
- Seçilmiş
- Çökme raporu gönder
- Ayarla
- Sanatçı resmini ayarla
- Profil fotoğrafı seç
- Uygulamayı paylaş
- Hikayende paylaş
- Karıştır
- Basit
- Uyku zamanlayıcısı iptal edildi.
- Uyku zamanlayıcısı %d dakikaya ayarlandı.
- Kaydır
- Küçük albüm
- Sosyal
- Hikaye olarak paylaş
- Şarkı
- Şarkı süresi
- Şarkılar
- Sıralama Ölçütü
- Yükselen
- Albüm
- Sanatçı
- Besteci
- Tarih eklendi
- Zaman ayarlandı
- Yıl
- Azalan
- Üzgünüz, ancak cihazın konuşma girişini desteklemiyor.
- Kütüphanenizde arayın
- Kümele
- Müzik çalmayı başlat.
- Öneriler
- İsmini sadece ana ekranda göster
- Destek geliştirme
- Açmak için kaydırın
- Senkronize şarkı sözleri
- Sistem Ekolayzırı
-
- Telegram
- Hataları tartışmak, önerilerde bulunmak ve daha fazlası için Telegram grubuna katılın
- Teşekkür ederiz!
- Ses dosyası
- Bu ay
- Bu hafta
- Bu yıl
- Küçük
- Şarkı adı
- Gösterge paneli
- Tünaydın
- İyi günler
- İyi akşamlar
- Günaydın
- İyi geceler
- Adın Ne?
- Bugün
- En iyi albümler
- En iyi sanatçılar
- "Parça (parça 2 için 2 veya CD3 parça 4 için 3004)"
- Parça numarası
- Çevir
- Uygulamayı diline çevirmek için bize yardımcı ol.
- Twitter
- Tasarımınızı Retro Müzik\'le paylaşın
- Etiketsiz
- Bu şarkı oynatılamadı\u2019.
- Bir sonraki
- Resmi güncelle
- Güncelleniyor ...
- Kullanıcı Adı
- Sürüm
- Dikey çevir
- Sanallaştırıcı
- Ses
- İnternette ara
- Hoşgeldiniz,
- Ne paylaşmak istiyorsunuz?
- Yenilikler
- Pencere
- Yuvarlatılmış kenarlar
- %1$s\'i zil sesi olarak ayarla.
- %1$d seçildi
- Yıl
- En az bir kategori seçmek zorundasınız.
- Sorun izleyici web sitesine yönlendirileceksiniz.
- Hesap verileriniz sadece kimlik doğrulama için kullanılır.
- Miktar
- Not (İsteğe bağlı)
- Ödemeyi başlat
- Şimdi oynatılıyor ekranını göster
- Bildirime tıklamak ana ekran yerine şimdi oynatılıyor ekranını gösterecek
- Ufak kart
-
diff --git a/app/src/main/res/master/values-uk-rUA/strings.xml b/app/src/main/res/master/values-uk-rUA/strings.xml
deleted file mode 100644
index 3e5c375cb..000000000
--- a/app/src/main/res/master/values-uk-rUA/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Команда, посилання на соц. мережі
- Акцентний колір
- Акцентний колір, за замовчуванням фіолетовий
- Про додаток
- Додати в обране
- Додати до черги відтворення
- Додати до списку відтворення
- Очистити чергу відтворення
- Очистити список відтворення
- Циклічне повторення
- Видалити
- Видалити з пристрою
- Деталі
- Перейти до альбому
- Перейти до виконавця
- Перейти до жанру
- Перейти до початкового каталогу
- Надати
- Розмір сітки
- Розмір сітки (ландшафт)
- Новий список відтворення
- Далі
- Відтворити
- Відтворити усе
- Відтворити наступною
- Відтворити/Призупинити
- Назад
- Видалити з обраного
- Видалити з черги відтворення
- Видалити зі списку відтворення
- Перейменувати
- Зберегти чергу відтворення
- Сканувати
- Пошук
- Розпочати
- Встановити як мелодію дзвінка
- Встановити в якості початкової теки
- "Налаштування"
- Поділитися
- Перемішати всі
- Перемішати список відтворення
- Таймер сну
- Порядок сортування
- Редактор міток
- Перемкнути улюблене
- Перемкнути режим змішування
- Адаптивний
- Додати
- Додати текст пісні
- Додати \nфото
- "Додати до списку відтворення"
- Додати текст з мітками часу
- "Додано 1 композицію до черги відтворення."
- Додано %1$d композицій до черги відтворення.
- Альбом
- Виконавець альбому
- Назва або виконавець відсутні.
- Альбоми
- Завжди
- Привіт, зацініть цей крутий музичний плеєр за адресою: https://play.google.com/store/apps/details?id=%s
- Перемішати
- Кращі треки
- Ретро-музика - Великий
- Ретро музика - Картка
- Ретро-музика - Класичний
- Ретро-музика - Малий
- Ретро-музика - Текст
- Виконавець
- Виконавці
- В отриманні аудіофокусу відмовлено.
- Змінити налаштування звуку та налаштувати параметри еквалайзера
- Автоматично
- Основна колірна тема
- Підсилення басу
- Життєпис
- Життєпис
- Чорний
- Чорний список
- Розмиття
- Розмита картка
- Не вдалося надіслати звіт
- Недійсний токен доступу. Зв’яжіться з розробником додатка.
- Проблеми не включені для вибраного сховища. Зверніться до розробника програми.
- Виникла несподівана помилка. Зв\'яжіться з розробником додатку.
- Неправильне ім\'я користувача або пароль
- Помилка
- Надіслати вручну
- Введіть опис проблеми
- Введіть свій дійсний пароль користувача GitHub
- Введіть заголовок проблеми
- Введіть своє дійсне ім’я користувача GitHub
- Сталася неочікувана помилка. Вибачте, що натрапили на цю помилку, якщо вона постійно повторюється, спробуйте \"Очистити дані додатка\" або надішліть лист на ел. пошту
- Завантаження звіту на GitHub…
- Надіслати через обліковий запис GitHub
- Придбати зараз
- Скасувати
- Картка
- Коло
- Кольорова картка
- Картка
- Карусель
- Ефект каруселі на екрані відтворення
- Каскад
- Транслювати
- Історія змін
- Журнал змін доступний у каналі Telegram
- Коло
- Коло
- Класичний
- Очистити
- Очистити дані додатку
- Очистити чорний список
- Очистити чергу
- Очистити список відтворення
- %1$s? Це незворотня дія!]]>
- Закрити
- Колір
- Колір
- Кольори
- Композитор
- Інформацію про пристрій скопійовано у буфер обміну.
- Не вдалося створити список відтворення.
- "Не вдалося завантажити відповідну обкладинку альбому."
- Не вдалося відновити покупку.
- Не вдалося просканувати %d файлів.
- Створити
- Створено список відтворення %1$s.
- Учасники та меценати
- Зараз грає %1$s від %2$s.
- Майже темна
- Текст відсутній
- Видалити список відтворення
- %1$s?]]>
- Видалити списки відтворення
- Видалити пісню
- %1$s?]]>
- Видалити пісні
- %1$d списки відтворення?]]>
- %1$d пісень?]]>
- Видалено %1$d пісень.
- Видалення пісень
- Глибина
- Опис
- Інформація про пристрій
- Дозволити Retro Music змінювати налаштування звуку
- Встановити як мелодію дзвінка
- Ви хочете очистити чорний список?
- %1$s з чорного списку?]]>
- Підтримати проект
- Якщо ви вважаєте, що я заслуговую на оплату своєї праці, ви можете залишити гроші тут
- Купіть мені:
- Завантажити з Last.fm
- Режим \"За кермом\"
- Редагувати
- Редагувати обкладинку
- Порожньо
- Еквалайзер
- Помилка
- Питання та відповіді
- Обране
- Закінчити останню пісню
- Вмістити
- Плоский
- Папки
- Наслідувати систему
- Для Вас
- Безкоштовно
- Повний
- Повна картка
- Змінити тему і кольори додатку
- Вигляд
- Жанр
- Жанри
- Розгалужити проект на GitHub
- Приєднатися до спільноти Google Plus, де ви можете звернутися по допомогу або слідкувати за оновленнями в Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Стиль сітки
- Завіса
- Історія
- Домашня сторінка
- Горизонтальне перевернення
- Зображення
- Градієнтне зображення
- Змінити параметри завантаження зображення виконавця
- Додано %1$d пісень до списку відтворення %2$s.
- Похизуйтеся вашими налаштуваннями Retro Music у Instagram
- Клавіатура
- Бітрейт
- Формат
- Назва файлу
- Шлях до файлу
- Розмір
- Більше від %s
- Частота дискретизації
- Довжина
- З відміткою
- Нещодавно додане
- Остання пісня
- Нумо слухати музику
- Бібліотека
- Категорії бібліотеки
- Ліцензії
- Яскраво-білий
- Слухачі
- Список файлів
- Завантаження продуктів…
- Логін
- Текст
- Зроблено з ❤ в Індії
- Матеріал
- Помилка
- Помилка дозволу
- Назва
- Найчастіше відтворювані
- Ніколи
- Нове фото банеру
- Новий список відтворення
- Нове фото профілю
- %s є новим початковим каталогом.
- Наступна пісня
- У вас немає альбомів
- У вас немає виконавців
- "Спочатку відтворіть пісню, а потім спробуйте ще раз."
- Еквалайзер не знайдено
- У вас немає жанрів
- Текст не знайдено
- Немає пісень, що відтворюються
- У вас немає списків відтворення
- Покупку не знайдено.
- Немає результатів
- У вас немає пісень
- Нормальний
- Стандартний текст
- Нормальний
- %s не вказано в медіа сховищі.]]>
- Нічого сканувати.
- Порожньо
- Сповіщення
- Налаштувати стиль сповіщення
- Відтворюється зараз
- Зараз в черзі відтворення
- Налаштування екрану відтворення
- 9+ тем екрану відтворення
- Лише через Wi-Fi
- Розширені функції тестування
- Інше
- Пароль
- Останні 3 місяці
- Вставте текст сюди
- Пік
- Відмовлено у доступі до зовнішнього сховища.
- У доступі відмовлено.
- Персоналізація
- Налаштуйте екран відтворення та зовнішній вигляд
- Вибрати з локального сховища
- Вибрати зображення
- Pinterest
- Слідкуйте за сторінкою Pinterest від Retro Music для натхнення дизайну
- Звичайний
- Сповіщення про відтворення надає дії для відтворення/паузи тощо.
- Сповіщення про відтворення
- Порожній список відтворення
- Список відтворення порожній
- Назва списку відтворення
- Списки відтворення
- Стиль деталей альбому
- Величина розмиття, що застосовується для розмиття тем, менше - швидше
- Величина розмиття
- Налаштування кутів діалогового вікна знизу
- Куточок діалогового вікна
- Сортувати пісні за довжиною
- Сортувати пісні за тривалістю
- Додатково
- Стиль альбому
- Аудіо
- Чорний список
- Елементи керування
- Тема
- Зображення
- Бібліотека
- Екран блокування
- Списки відтворення
- Призупиняє пісню, коли гучність зменшується до нуля і починає грати під час підвищення гучності. Також працює поза додатком
- Пауза при нулі
- Майте на увазі, що увімкнення цієї функції може вплинути на заряд акумулятора
- Не вимикати екран
- Натисніть, щоб відкрити або проведіть, щоб уникнути прозорої навігації на екрані відтворення
- Клацніть або проведіть
- Ефект снігопаду
- Використовувати обкладинку альбому пісні як шпалери екрана блокування
- Знизити гучність при відтворенні системного звуку або сповіщення
- Вміст тек чорного списку приховано з вашої бібліотеки.
- Почати програвання як тільки під\'єднано до пристрою Bluetooth
- Розмивати обкладинку альбому на екрані блокування. Може спричинити проблеми зі сторонніми додатками та віджетами
- Ефект каруселі для обкладинок альбомів на екрані відтворення. Теми \"Картка\" та \"Розмита картка\" не працюватимуть
- Використовувати класичне оформлення сповіщень
- Тло і кольори кнопок керування міняються в залежності від обкладинки екрана відтворення
- Фарбує ярлики додатків у колір акценту. Кожного разу, коли ви змінюєте колір, будь ласка, перемкніть його, щоб зміни вступили в силу
- Фарбує панель навігації у переважаючий колір
- "Фарбує повідомлення в обкладинці альбому яскравим кольором"
- Для Material Design лінії в темному режимі мають бути ненасичені
- Домінуючий колір буде взято з обкладинки альбому або виконавця
- Додати додаткові елементи керування до міні-програвача
- Показати додаткову інформацію про пісню, таку як формат файлів, бітрейт та частоту
- "Може викликати проблеми з відтворенням на деяких пристроях."
- Сховати вкладку жанрів
- Сховати головний банер
- Може збільшити якість обкладинки альбому, але збільшує час завантаження зображення. Використовуйте тільки якщо у вас проблеми з обкладинками низької роздільної здатності
- Налаштувати видимість та порядок категорій бібліотеки.
- Використовувати керування музикою на екрані блокування від Retro Music
- Деталі ліцензії для програмного забезпечення з відкритим кодом
- Заокруглити кути додатку
- Сховати назви для вкладок у нижній панелі навігації
- Режим занурення
- Почати відтворення відразу після підключення навушників
- Випадковий режим вимкнеться при відтворенні нового списку пісень
- Якщо вистачає місця, показувати панель гучності на екрані відтворення
- Показати обкладинку альбому
- Тема обкладинки альбому
- Пропустити обкладинку альбому
- Сітка альбому
- Кольорові ярлики додатків
- Сітка виконавців
- Зменшити гучність при сторонніх звуках
- Автоматично завантажувати зображення виконавців
- Чорний список
- Відтворення Bluetooth
- Розмити обкладинку альбому
- Вибрати еквалайзер
- Класичне оформлення сповіщень
- Адаптивний колір
- Кольорове сповіщення
- Ненасичений колір
- Додаткові елементи керування
- Інформація про пісню
- Безперервне відтворення
- Тема додатку
- Показати вкладку жанрів
- Домашня сітка виконавця
- Головний банер
- Ігнорувати обкладинки з Медіасховища
- Інтервал останнього доданого списку відтворення
- Повноекранне керування
- Кольорова панель навігації
- Тема відтворення
- Ліцензії з відкритим кодом
- Кути
- Режим назв вкладок
- Ефект Каруселі
- Головний колір
- На весь екран
- Назви вкладок
- Автоматичне відтворення
- Режим перемішування
- Регулювання гучності
- Інформація про користувача
- Основний колір
- Основний колір теми, за замовчуванням сіро-синій, відтепер працює з темними кольорами
- Pro
- Чорна тема, теми відтворення, ефект каруселі та інше..
- Профіль
- Придбати
- *Подумайте перед придбанням, не просіть повернути гроші.
- Черга
- Оцініть додаток
- Подобається цей додаток? Напишіть відгук нам у Google Play Store, як ми можемо зробити його ще кращим
- Останні альбоми
- Останні виконавці
- Вилучити
- Видалити фото банера
- Видалити обкладинку
- Видалити з чорного списку
- Видалити фото профілю
- Видалити пісню зі списку відтворення
- %1$s зі списку відтворення?]]>
- Видалити пісні зі списку відтворення
- %1$d пісень зі списку відтворення?]]>
- Перейменувати список відтворення
- Повідомити про проблему
- Повідомити про помилку
- Скинути
- Скинути зображення виконавця
- Відновити
- Відновлено попередню покупку. Перезапустіть додаток, щоб скористатися всіма функціями.
- Відновлено попередні покупки.
- Відновлення покупки…
- Еквалайзер Retro Music
- Retro Music плеєр
- Retro Music Pro
- Помилка видалення файлу: %s
-
- Неможливо отримати URI SAF
- Відкрити панель навігації
- Увімкніть \"Показувати SD-карту\" у меню налаштувань
-
- %s потребує доступ до SD-картки
- Необхідно обрати кореневу директорію SD карти
- Виберіть карту SD в навігаційній панелі
- Не відкривайте вкладені папки
- Натисніть кнопку \"вибрати\" внизу екрана
- Не вдалося записати файл: %s
- Зберегти
-
-
- Зберегти як файл
- Зберегти як файли
- Збережено список відтворення в %s.
- Збереження змін
- Сканувати медіа
- Проскановано %1$d з %2$d файлів.
- Персоналізація
- Пошук у бібліотеці…
- Виділити все
- Обрати фото банера
- Обрано
- Надіслати журнал збою
- Встановити
- Встановити зображення виконавця
- Встановити фото профілю
- Поділитися додатком
- Поділитися в Історії
- Перемішати
- Простий
- Таймер сну скасовано.
- Таймер сну спрацює за %d хвилин.
- Слайд
- Маленький альбом
- Соціальні мережі
- Поділитися історією
- Пісня
- Тривалість пісні
- Пісні
- Порядок сортування
- За зростанням
- Альбом
- Виконавець
- Композитор
- Дата додавання
- Дата змінення
- Рік
- За спаданням
- Вибачте! Ваш пристрій не підтримує введення мови
- Пошук у бібліотеці
- Стек
- Почати програвати музику.
- Пропозиції
- Показувати своє ім\'я на домашньому екрані
- Підтримати розробку
- Змахніть, щоб розблокувати
- Синхронізовані тексти
- Системний еквалайзер
-
- Telegram
- Приєднуйтесь до групи Telegram щоб обговорити помилки, робити пропозиції та інше
- Щиро дякую!
- Аудіофайл
- Цього місяця
- Цього тижня
- Цього року
- Дрібний
- Назва
- Головна панель
- Добрий день
- Доброго дня
- Доброго вечора
- Доброго ранку
- Надобраніч
- Як вас звати
- Сьогодні
- Топ альбомів
- Топ виконавців
- "Доріжка (2 для доріжки 2 або 3004 для CD3 доріжки 4)"
- Номер пісні
- Перекласти
- Допоможіть нам перекласти додаток вашою мовою
- Twitter
- Поділіться своїм дизайном із Retro Music
- Без позначки
- Не вдалося відтворити пісню.
- Наступне
- Оновити зображення
- Оновлення…
- Ім\'я користувача
- Версія додатку
- Вертикальне сальто
- Віртуалізатор
- Гучність
- Пошук в інтернеті
- Ласкаво просимо,
- Чим ви хочете поділитися?
- Що нового
- Вікно
- Заокруглені кути
- Встановити %1$s як мелодію дзвінка.
- %1$d обрано
- Рік
- Виберіть принаймні одну категорію.
- Вас буде перенаправлено на сайт відстеження проблем.
- Дані вашого облікового запису використовуються лише для автентифікації.
- Кількість
- Примітка (необов\'язково)
- Розпочати оплату
- Показувати на екрані відтворення
- При натисканні на сповіщення буде показано екран відтворення замість домашнього екрану
- Крихітна картка
-
diff --git a/app/src/main/res/master/values-ur-rIN/strings.xml b/app/src/main/res/master/values-ur-rIN/strings.xml
deleted file mode 100644
index e028f27cb..000000000
--- a/app/src/main/res/master/values-ur-rIN/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- Accent color
- The theme accent color, defaults to purple
- About
- Add to favorites
- Add to playing queue
- Add to playlist
- Clear playing queue
- Clear playlist
- Cycle repeat mode
- Delete
- Delete from device
- Details
- Go to album
- Go to artist
- Go to genre
- Go to start directory
- Grant
- Grid size
- Grid size (land)
- New playlist
- Next
- Play
- Play all
- Play next
- Play/Pause
- Previous
- Remove from favorites
- Remove from playing queue
- Remove from playlist
- Rename
- Save playing queue
- Scan
- Search
- Start
- Set as ringtone
- Set as start directory
- "Settings"
- Share
- Shuffle all
- Shuffle playlist
- Sleep timer
- Sort order
- Tag editor
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "Add to playlist"
- Add time frame lyrics
- "Added 1 title to the playing queue."
- Added %1$d titles to the playing queue.
- Album
- Album artist
- The title or artist is empty.
- Albums
- Always
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- Shuffle
- Top Tracks
- Big
- Card
- Classic
- Small
- Text
- Artist
- Artists
- Audio focus denied.
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- Biography
- Just Black
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- Cancel
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- Changelog
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- Clear
- Clear app data
- Clear blacklist
- Clear queue
- Clear playlist
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- Colors
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- Could not scan %d files.
- Create
- Created playlist %1$s.
- Members and contributors
- Currently listening to %1$s by %2$s.
- Kinda Dark
- No Lyrics
- Delete playlist
- %1$s?]]>
- Delete playlists
- Delete song
- %1$s?]]>
- Delete songs
- %1$d playlists?]]>
- %1$d songs?]]>
- Deleted %1$d songs.
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- Donate
- If you think I deserve to get paid for my work, you can leave some money here
- Buy me a:
- Download from Last.fm
- Drive mode
- Edit
- Edit cover
- Empty
- Equalizer
- Error
- FAQ
- Favorites
- Finish last song
- Fit
- Flat
- Folders
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- Genre
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- History
- Home
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- Inserted %1$d songs into the playlist %2$s.
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- Bitrate
- Format
- File name
- File path
- Size
- More from %s
- Sampling rate
- Length
- Labeled
- Last added
- Last song
- Let\'s play some music
- Library
- Library categories
- Licenses
- Clearly White
- Listeners
- Listing files
- Loading products…
- Login
- Lyrics
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- Most played
- Never
- New banner photo
- New playlist
- New profile photo
- %s is the new start directory.
- Next Song
- You have no albums
- You have no artists
- "Play a song first, then try again."
- No equalizer found
- You have no genres
- No lyrics found
- No songs playing
- You have no playlists
- No purchase found.
- No results
- You have no songs
- Normal
- Normal lyrics
- Normal
- %s is not listed in the media store.]]>
- Nothing to scan.
- Nothing to see
- Notification
- Customize the notification style
- Now playing
- Now playing queue
- Customize the now playing screen
- 9+ now playing themes
- Only on Wi-Fi
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- Permission to access external storage denied.
- Permissions denied.
- Personalize
- Customize your now playing and UI controls
- Pick from local storage
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- Empty playlist
- Playlist is empty
- Playlist name
- Playlists
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- Audio
- Blacklist
- Controls
- Theme
- Images
- Library
- Lockscreen
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- Use the currently playing song album cover as the lockscreen wallpaper
- Lower the volume when a system sound is played or a notification is received
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- The background and control button colors change according to the album art from the now playing screen
- Colors the app shortcuts in the accent color. Every time you change the color please toggle this to take effect
- Colors the navigation bar in the primary color
- "Colors the notification in the album cover\u2019s vibrant color"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "Can cause playback issues on some devices."
- Toggle genre tab
- Show or hide the home banner
- Can increase the album cover quality, but causes slower image loading times. Only enable this if you have problems with low resolution artworks
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- Round the app\'s edges
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- Show album cover
- Album cover theme
- Album cover skip
- Album grid
- Colored app shortcuts
- Artist grid
- Reduce volume on focus loss
- Auto-download artist images
- Blacklist
- Bluetooth playback
- Blur album cover
- Choose equalizer
- Classic notification design
- Adaptive color
- Colored notification
- Desaturated color
- Extra controls
- Song info
- Gapless playback
- App theme
- Show genre tab
- Artist grid
- Banner
- Ignore Media Store covers
- Last added playlist interval
- Fullscreen controls
- Colored navigation bar
- Now playing theme
- Open source licences
- Corner edges
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- Primary color
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- Playing Queue
- Rate the app
- Love this app? Let us know in the Google Play Store how we can make it even better
- Recent albums
- Recent artists
- Remove
- Remove banner photo
- Remove cover
- Remove from blacklist
- Remove profile photo
- Remove song from playlist
- %1$s from the playlist?]]>
- Remove songs from playlist
- %1$d songs from the playlist?]]>
- Rename playlist
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- Restored previous purchases.
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- Save as file
- Save as files
- Saved playlist to %s.
- Saving changes
- Scan media
- Scanned %1$d of %2$d files.
- Scrobbles
- Search your library…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- Shuffle
- Simple
- Sleep timer canceled.
- Sleep timer set for %d minutes from now.
- Slide
- Small album
- Social
- Share story
- Song
- Song duration
- Songs
- Sort order
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- Sorry! Your device doesn\'t support speech input
- Search your library
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- Support development
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- Thank you!
- The audio file
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "Track (2 for track 2 or 3004 for CD3 track 4)"
- Track number
- Translate
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- Couldn\u2019t play this song.
- Up next
- Update image
- Updating…
- Username
- Version
- Vertical flip
- Virtualizer
- Volume
- Web search
- Welcome,
- What do you want to share?
- What\'s New
- Window
- Rounded corners
- Set %1$s as your ringtone.
- %1$d selected
- Year
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-vi-rVN/strings.xml b/app/src/main/res/master/values-vi-rVN/strings.xml
deleted file mode 100644
index 84306fee4..000000000
--- a/app/src/main/res/master/values-vi-rVN/strings.xml
+++ /dev/null
@@ -1,516 +0,0 @@
-
-
- Đường dẫn tổ đội, mạng xã hội
- Màu sắc nhấn mạnh
- Màu sắc chủ đạo của chủ đề, mặc định là xanh ngọc
- Về chúng tôi
- Thêm vào yêu thích
- Thêm vào hàng đợi
- Thêm vào danh sách phát
- Xoá hàng đợi
- Xoá danh sách phát
- Cycle repeat mode
- Xoá
- Xóa khỏi thiết bị
- Chi tiết
- Đi đến album
- Đi đến nghệ sĩ
- Chuyển đến thể loại
- Đến trang bắt đầu
- Cho phép
- Kích thước lưới
- Kích thước lưới (chiều ngang)
- Danh sách phát mới
- Tiếp
- Chơi
- Chơi tất cả
- Chơi kế tiếp
- Phát/Tạm dừng
- Trước
- Loại bỏ khỏi mục yêu thích
- Xoá khỏi hàng đợi
- Xoá khỏi danh sách phát
- Đổi tên
- Lưu hàng đợi phát
- Quét
- Tìm kiếm
- Bắt đầu
- Đặt làm nhạc chuông
- Đặt làm trang bắt đầu
- "Cài đặt"
- Chia sẻ
- Phát ngẫu nhiên tất cả
- Phát ngẫu nhiên theo danh sách phát
- Hẹn giờ ngủ
- Thứ tự sắp xếp
- Chỉnh sửa thẻ
- Toggle favorite
- Toggle shuffle mode
- Thích nghi
- Thêm
- Thêm lời bài hát
- Thêm \nhình ảnh
- "Thêm vào danh sách phát"
- Thêm khung thời gian cho lời bài hát
- "Đã thêm 1 bài vào háng đợi phát."
- Đã thêm %1$d bài vào hàng đợi phát.
- Album
- Album của nghệ sĩ
- Tên bài hát hoặc nghệ sĩ để trống
- Album
- Luôn luôn
- Hãy dùng thử trình phát nhạc siêu chất này tại: https://play.google.com/store/apps/details?id=%s
- Ngẫu nhiên
- Bản nhạc hàng đầu
- Lớn
- Thẻ
- Cổ điển
- Nhỏ
- Text
- Nghệ sĩ
- Nghệ sĩ
- Tập trung âm thanh bị từ chối
- Thay đổi cài đặt âm thanh và điều chỉnh các điều khiển bộ chỉnh âm
- Tự động
- Chủ đề màu cơ bản
- Tăng cường Bass
- Tiểu sử
- Tiểu sử
- Đen hoàn toàn
- Danh sách đen
- Làm mờ
- Thẻ mờ
- Không thể gửi báo cáo
- Mã token không hợp lệ. Vui lòng liên hệ với nhà phát triển ứng dụng.
- Các vấn đề không được kích hoạt cho repository đã chọn. Vui lòng liên hệ với nhà phát triển ứng dụng.
- Đã xảy ra lỗi không mong muốn. Vui lòng liên hệ với nhà phát triển ứng dụng.
- Tên người dùng hoặc mật khẩu không đúng
- Vấn đề
- Gửi thủ công
- Vui lòng nhập mô tả vấn đề
- Vui lòng nhập đúng mật khẩu dùng Github của bạn
- Vui lòng nhập tiêu đề vấn đề
- Vui lòng nhập đúng tên người dùng Github của bạn
- Đã xảy ra lỗi không mong muốn. Xin lỗi bạn vì lỗi này, nếu nó
-tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
- Đang tải báo cáo lên Github...
- Gửi bằng tài khoản GitHub
- Buy now
- Hủy
- Thẻ
- Tròn
- Thẻ màu
- Thẻ
- Tiệc tùng
- Hiệu ứng băng chuyền trên màn hình đang phát
- Xếp tầng
- Truyền
- Thay đổi
- Nhật ký thay đổi được cập nhật trong ứng dụng Telegram
- Circle
- Thông tư
- Cổ điển
- Xóa
- Xóa dữ liệu ứng dụng
- Xóa danh sách đen
- Xóa hàng đợi
- Xoá danh sách phát
- %1$s? This can\u2019t be undone!]]>
- Đóng
- Màu sắc
- Màu sắc
- Màu sắc
- Tác giả
- Đã sao chép thông tin thiết bị vào clipboard.
- Kh\u00f4ng th\u1ec3 t\u1ea1o danh s\u00e1ch ph\u00e1t
- "Kh\u00f4ng th\u1ec3 t\u1ea3i xu\u1ed1ng \u1ea3nh b\u00eca album ph\u00f9 h\u1ee3p."
- Không thể khôi phục mua hàng.
- Không thể quét %d tập tin.
- Tạo
- Đã tạo danh sách phát %1$s.
- Thành viên và cộng tác viên
- Đang nghe %1$s bởi %2$s.
- Xám đen
- Không có lời bài hát
- Xoá danh sách phát
- %1$s?]]>
- Xoá danh sách phát
- Xoá bài hát
- %1$s?]]>
- Xoá bài hát
- %1$d danh sách phát?]]>
- %1$d bài hát?]]>
- Đã xoá %1$d bài hát.
- Deleting songs
- Độ sâu
- Mô tả
- Thông tin thiết bị
- Cho phép Retro Music cấu hình cài đặt âm thanh
- Cài làm nhạc chuông
- Bạn có muốn xóa danh sách đen?
- %1$s khỏi danh sách đen?]]>
- Ủng hộ
- Nếu bạn nghĩ rằng tôi xứng đáng được thưởng cho công việc này, bạn có thể để lại một số tiền ở đây. Cảm ơn bạn! :D
- Mua cho tôi một:
- Tải xuống từ Last.fm
- Drive mode
- Chỉnh sửa
- Chỉnh sửa ảnh bìa
- Trống
- Bộ chỉnh âm
- Lỗi
- Câu hỏi thường gặp
- Yêu thích
- Kết thúc bài cuối
- Phù hợp
- Phẳng
- Thư mục
- Follow system
- Cho bạn
- Free
- Toàn bộ
- Thẻ đầy đủ
- Thay đổi chủ đề và màu sắc của ứng dụng
- Nhìn và cảm nhận
- Thể loại
- Thể loại
- Tham gia phát triển dự án trên Github
- Tham gia cộng đồng Google Plus, nơi bạn có thể yêu cầu trợ giúp hoặc theo dõi các cập nhật Retro Music
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Bố trí lưới
- Bản lề
- Lịch sử
- Trang chủ
- Lật ngang
- Hình ảnh
- Ảnh màu chuyển sắc
- Thay đổi cài đặt tải xuống hình ảnh nghệ sĩ
- Đã chèn %1$d bài hát vào danh sách phát %2$s.
- Chia sẻ thiết lập Retro Music của bạn trong Instagram
- Bàn phím
- Bitrate
- Định dạng
- Tên tệp
- Đường dẫn tệp
- Kích thước
- More from %s
- Tần số lấy mẫu
- Độ dài
- Được dán nhãn
- Đã thêm gần đây
- Bài cuối
- Hãy nghe một vài bản nhạc
- Thư viện
- Danh mục thư viện
- Giấy phép
- Hoàn toàn trắng
- Listeners
- Danh sách tập tin
- Đang tải sản phẩm...
- Đăng nhập
- Lời bài hát
- Được làm bằng ❤️ ở Ấn Độ
- Material
- Lỗi
- Lỗi quyền truy cập
- Tên của bạn
- Phát nhiều nhất
- Không bao giờ
- Ảnh biểu ngữ mới
- Danh sách phát mới
- Ảnh tiểu sử mới
- %s là trang bắt đầu mới.
- Bài kế
- Không có album
- Không có nghệ sĩ
- "Phát một bài hát trước, sau đó thử lại."
- Không tìm thấy bộ chỉnh âm
- Không có thể loại
- Không tìm thấy lời bài hát
- No songs playing
- Không có danh sách phát
- Không tìm thấy giao dịch mua.
- Không có kết quả
- Không có bài hát
- Tiêu chuẩn
- Lời chuẩn
- Bình thường
- %s không được liệt kê trong thư mục nhạc.]]>
- Không có gì để quét.
- Nothing to see
- Thông báo
- Tùy chỉnh kiểu thông báo
- Đang phát
- Đang phát hàng đợi
- Tùy chỉnh màn hình đang phát
- Hơn 9 giao diện đang phát
- Chỉ khi dùng Wi-Fi
- Tính năng nâng cao đang kiểm thử
- Khác
- Mật khẩu
- Mỗi tháng
- Dán lời bài hát tại đây
- Peak
- Quyền truy cập bộ nhớ ngoài bị từ chối.
- Quyền đã bị từ chối.
- Cá nhân hoá
- Tùy chỉnh màn hình phát và giao diện người dùng
- Chọn từ bộ nhớ trong
- Chọn ảnh
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Giản dị
- Thanh thông báo đang phát sẽ cho phép bạn phát nhạc/tạm dừng, chuyển bài,...
- Thông báo đang phát
- Danh sách phát trống
- Danh sách phát trống
- Tên danh sách phát
- Danh sách phát
- Album detail style
- Độ mờ được áp dụng cho các chủ đề mờ, thấp hơn là nhanh hơn
- Độ mờ
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Lọc theo thời lượng bài hát
- Advanced
- Kiểu Album
- Âm thanh
- Blacklist
- Điều khiển
- Chủ đề
- Hình ảnh
- Thư viện
- Màn hình khoá
- Danh sách phát
- Tạm dừng phát khi tắt âm lượng và phát lại sau khi tăng âm lượng. Cảnh báo: Khi bạn tăng âm lượng, nó sẽ bắt đầu phát ngay cả khi bạn ở ngoài ứng dụng
- Tạm dừng phát khi tắt âm lượng
- Lưu ý rằng việc bật tính năng này có thể ảnh hưởng đến tuổi thọ pin
- Giữ màn hình luôn bật
- Nhấp hoặc trượt để mở mà không cần điều hướng của màn hình đang phát
- Nhấp hoặc Trượt
- Hiệu ứng tuyết rơi
- Sử dụng ảnh bìa album bài hát đang phát làm ảnh nền màn hình khóa.
- Giảm âm lượng khi có âm báo hệ thống hoặc khi bạn có thông báo
- Nội dung của các thư mục trong danh sách đen được ẩn khỏi thư viện của bạn.
- Start playing as soon as connected to bluetooth device
- Làm mờ ảnh bìa album trên màn hình khóa. Có thể gây ra sự cố với các ứng dụng và tiện ích của bên thứ ba
- Hiệu ứng băng chuyền cho ảnh bìa album trong màn hình đang phát. Lưu ý rằng nó không hoạt động với chủ đề Thẻ và Thẻ mờ
- Dùng thiết kế thông báo cổ điển
- Màu nền và các nút điều khiển sẽ thay đổi theo màu sắc ảnh bìa album đang phát
- Màu sắc trong lối tắt ứng dụng dùng màu sắc chủ đạo. Mỗi khi bạn thay đổi màu chủ đạo, hãy bật/tắt lại công tắc này để thay đổi có hiệu lực
- Thay đổi màu sắc thanh điều hướng theo màu chủ đề chung
- "M\u00e0u s\u1eafc th\u00f4ng b\u00e1o thay \u0111\u1ed5i theo m\u00e0u s\u1eafc chi ph\u1ed1i \u1ea3nh b\u00eca album"
- As per Material Design guide lines in dark mode colors should be desaturated
- Màu sắc chi phối sẽ được chọn từ ảnh bìa album hoặc nghệ sĩ
- Thêm điều khiển bổ sung cho trình phát mini
- Show extra Song information, such as file format, bitrate and frequency
- "Có thể gây ra vấn đề phát lại trên một số thiết bị."
- Bật/tắt thẻ thể loại
- Ẩn/hiện biểu ngữ trong trang chủ
- Có thể tăng chất lượng hiển thị ảnh bìa album, nhưng thời gian tải hình ảnh chậm hơn. Chỉ bật tính năng này nếu bạn không hài lòng với chất lượng ảnh hiện tại
- Khả năng hiển thị và thứ tự của các danh mục trong thư viện.
- Sử dụng các điều khiển màn hình khóa tùy chỉnh của Retro Music
- Chi tiết giấy phép của phần mềm mã nguồn mở
- Bo tròn các góc ứng dụng
- Bật/tắt tiêu đề thanh điều hướng dưới
- Chế độ hoà nhập
- Tự động phát nhạc khi kết nối tai nghe
- Chế độ phát ngẫu nhiên sẽ tắt khi phát danh sách bài hát mới
- Hiện thanh điều chỉnh âm lượng nếu có không gian trống trong màn hình đang phát
- Hiện ảnh bìa album
- Chủ đề bìa album
- Kiểu bìa album đang phát
- Lưới album
- Đổi màu lối tắt ứng dụng
- Lưới nghệ sĩ
- Giảm âm lượng khi có âm báo
- Tự động tải xuống hình ảnh nghệ sĩ
- Danh sách đen
- Bluetooth playback
- Làm mờ bìa album
- Chọn bộ chỉnh âm
- Thiết kế thông báo cổ điển
- Màu sắc thích nghi
- Đổi màu thông báo
- Desaturated color
- Điều khiển bổ sung
- Song info
- Phát không gián đoạn
- Chủ đề ứng dụng
- Hiện thẻ thể loại
- Lưới nghệ sĩ trang chủ
- Biểu ngữ trang chủ
- Ảnh bìa chất lượng nguyên bản
- Làm mới danh sách thêm gần đây sau
- Điều khiển toàn màn hình.
- Đổi màu thanh điều hướng
- Giao diện đang phát
- Giấy phép nguồn mở
- Bo tròn các góc
- Chế độ tiêu đề thẻ
- Hiệu ứng quay vòng
- Màu sắc chi phối
- Toàn màn hình
- Tiêu đề
- Tự động phát
- Chế độ ngẫu nhiên
- Điều khiển âm lượng
- Thông tin người dùng
- Màu chủ đạo
- Màu sắc chủ đạo, mặc định là màu xanh xám, bây giờ hoạt động với màu tối
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Hồ sơ
- Mua
- *Hãy suy nghĩ kĩ trước khi mua, không yêu cầu hoàn tiền.
- Hàng đợi
- Đánh giá ứng dụng
- Bạn thích ứng dụng này không? Hãy cho chúng tôi biết suy nghĩ của bạn trên Cửa hàng Play để chúng tôi có thể làm cho nó tốt hơn nữa
- Album mới thêm
- Nghệ sĩ mới thêm
- Loại bỏ
- Xóa ảnh biểu ngữ
- Xoá ảnh bìa
- Xóa khỏi danh sách đen
- Xóa ảnh tiểu sử
- Xoá bài hát khỏi danh sách phát
- %1$s khỏi danh sách phát?]]>
- Xoá bài hát khỏi danh sách phát
- %1$d bài hát khỏi danh sách phát?]]>
- Đổi tên danh sách phát
- Báo cáo vấn đề
- Báo cáo lỗi
- Cài lại
- Đặt lại ảnh nghệ sĩ
- Khôi phục
- Khôi phục mua trước đó. Vui lòng khởi động lại ứng dụng để sử dụng tất cả các tính năng.
- Đã khôi phục lần mua trước.
- Đang khôi phục mua hàng...
- Bộ chỉnh âm Retro
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Lưu
-
-
- Lưu thành
- Lưu thành tệp
- Danh sách phát đã lưu đến %s.
- Lưu thay đổi
- Quét phương tiện
- Đã sửa %1$d trong %2$d tập tin.
- Scrobbles
- Tìm kiếm trong thư viện của bạn...
- Chọn tất cả
- Chọn ảnh biểu ngữ
- Đã chọn
- Gửi bản ghi lỗi
- Cấu hình
- Đặt ảnh nghệ sĩ thủ công
- Chọn một hình cá nhân
- Chia sẽ ứng dụng
- Share to Stories
- Ngẫu nhiên
- Đơn giản
- Đã huỷ hẹn giờ ngủ.
- Dừng phát nhạc sau %d phút kể từ bây giờ.
- Trang
- Album nhỏ
- Xã hội
- Share story
- Bài hát
- Thời lượng bài hát
- Bài hát
- Thứ tự sắp xếp
- Tăng dần
- Album
- Nghệ sĩ
- Tác giả
- Ngày
- Date modified
- Năm
- Giảm dần
- Xin lỗi! Thiết bị không hỗ trợ nhập liệu bằng giọng nói
- Tìm kiếm trong thư viện của bạn
- Ngăn xếp
- Bắt đầu chơi nhạc
- Đề nghị
- Tên của bạn chỉ hiển thị trên trang chủ
- Hỗ trợ nhà phát triển
- Swipe to unlock
- Karaoke
- Bộ chỉnh âm hệ thống
-
- Telegram
- Tham gia nhóm Telegram để thảo luận về lỗi, đưa ra đề xuất, và hơn thế nữa
- Cảm ơn!
- Tệp âm thanh
- Mỗi tháng
- Mỗi tuần
- Mỗi năm
- Nhỏ
- Tiêu đề
- Bảng điều khiển
- Chào buổi chiều
- Ngày tốt lành
- Chào buổi tối
- Chào buổi sáng
- Chúc ngủ ngon
- Tên của bạn là gì
- Hôm nay
- Album hàng đầu
- Nghệ sĩ hàng đầu
- "Rãnh (2 cho bài số 2 hoặc 3004 cho CD3 bài số 4)"
- Số rãnh
- Dịch
- Giúp chúng tôi dịch ứng dụng sang ngôn ngữ của bạn
- Twitter
- Chia sẻ thiết kế của bạn với Retro Music
- Chưa gắn nhãn
- Kh\u00f4ng th\u1ec3 ph\u00e1t b\u00e0i h\u00e1t n\u00e0y.
- Tiếp theo
- Cập nhật hình ảnh
- Đang cập nhật...
- Tên người dùng
- Phiên bản
- Vertical flip
- Trình ảo hóa
- Volume
- Tìm kiếm trên web
- Chào mừng,
- Bạn muốn chia sẻ gì?
- Có gì mới!
- Cửa sổ
- Góc tròn
- Đặt %1$s làm nhạc chuông.
- %1$d đã chọn
- Năm
- Bạn phải chọn ít nhất một danh mục.
- Bạn sẽ được chuyển tiếp đến trang web theo dõi vấn đề.
- Dữ liệu tài khoản của bạn chỉ được sử dụng để xác thực.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/master/values-zh-rCN/strings.xml b/app/src/main/res/master/values-zh-rCN/strings.xml
deleted file mode 100644
index ba13adeeb..000000000
--- a/app/src/main/res/master/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,518 +0,0 @@
-
-
- 团队、社交链接
- 主题色
- 主题色,默认为紫色。
- 关于
- 添加到收藏夹
- 加入播放队列
- 加入歌单
- 清空播放队列
- 清除播放列表
- 循环重复模式
- 删除
- 从设备中移除
- 详情
- 查看此专辑
- 查看艺术家
- 查看流派
- 返回起始目录
- 授权
- 网格大小
- 网格大小(横向)
- 新建播放列表
- 下一首
- 播放
- 播放全部
- 下首播放
- 播放/暂停
- 上一首
- 从收藏夹中移除
- 从播放队列中移除
- 从播放列表中移除
- 重命名
- 保存播放队列
- 扫描
- 搜索
- 开始
- 设为铃声
- 设为起始目录
- "设置"
- 分享
- 全部随机播放
- 随机播放列表
- 睡眠定时器
- 排序
- 标签编辑器
- 切换收藏夹
- 切换随机播放模式
- 自适应
- 添加
- 添加歌词
- 添加\n头像
- "添加到播放列表"
- 添加滚动歌词
- "已添加1首歌到播放队列。"
- 已添加 %1$d 首歌到播放队列。
- 专辑
- 专辑艺术家
- 标题或艺术家是空的。
- 专辑
- 始终
- 嘿,快来瞧瞧这个酷炫的音乐播放器:https://play.google.com/store/apps/details?id=%s
- 随机播放
- 热门曲目
- 大
- 卡片模式
- 经典模式
- 小
- 文本
- 艺术家
- 艺术家
- 音频焦点丢失。
- 更改声音设置或调整均衡器
- 自动
- 基础颜色主题
- 低音增强
- 个性签名
- 简介
- A屏黑
- 黑名单
- 模糊
- 模糊卡片
- 无法提交报告
- 无效的访问令牌,请联系应用开发者。
- 目的仓库的 Issues 未启用,请联系应用开发者。
- 发生未知错误,请联系应用开发者。
- 错误的用户名或密码
- 问题
- 手动发送
- 请输入问题描述
- 请您输入有效的 GitHub 密码
- 请输入问题标题
- 请您输入有效的 GitHub 用户名
- 出错了,如一直崩溃请尝试清除应用数据或发送邮件给开发者
- 正在上传报告到 GitHub…
- 使用 GitHub 帐户发送
- 立即购买
- 取消
- 卡片
- 圆形
- 彩色卡片
- 卡片
- 轮播
- 在「正在播放」界面使用轮播效果
- 层叠
- 投射
- 更新日志
- 在 Telegram 频道上维护更新日志
- 环形
- 圆形
- 古典
- 清空
- 清除应用数据
- 清空黑名单
- 清空队列
- 清除播放列表
- %1$s 吗? 该步骤无法撤销!]]>
- 关闭
- 颜色
- 颜色
- 更多颜色
- 作曲家
- 已复制设备信息到剪贴板。
- 无法创建播放列表。
- "无法下载匹配的专辑封面。"
- 无法恢复购买。
- 无法扫描 %d 个文件。
- 创建
- 已创建播放列表 %1$s。
- 开发团队和贡献者
- 正通过 %2$s 收听 %1$s。
- 暗夜黑
- 暂无歌词
- 删除播放列表
- %1$s 吗?]]>
- 删除播放列表
- 删除歌曲
- %1$s吗?]]>
- 删除歌曲
- %1$d 吗?]]>
- %1$d 吗?]]>
- 已删除 %1$d 首歌曲。
- 正在删除歌曲
- 深度
- 详情
- 设备信息
- 允许 Retro Music 修改声音设置
- 设为铃声
- 您想清空黑名单吗?
- %1$s 吗?]]>
- 捐赠
- 如果您认为应用还不错,可以通过捐赠支持我们
- 用以下方式捐赠:
- 从 Last.fm 下载
- 驾驶模式
- 编辑
- 编辑专辑封面
- 空空如也
- 均衡器
- 错误
- 常见问题和解答
- 收藏夹
- 播放完最后一首歌曲
- 填充
- 扁平
- 文件夹
- 跟随系统
- 私人订制
- 免费
- 全屏
- 填充卡片
- 更改应用的主题和颜色
- 界面与外观
- 流派
- 流派
- 在 GitHub 上克隆项目
- 加入 Google+ 社区获得帮助或者更新信息
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 网格样式
- 关键
- 历史记录
- 主页
- 水平翻转
- 图片
- 渐变图片
- 更改下载艺术家图像方式
- 将歌曲 %1$d 加入 %2$s 列表。
- 将您的设置分享到 Instagram
- 键盘
- 比特率
- 格式
- 文件名
- 文件路径
- 尺寸大小
- 来自 %s 的更多信息
- 采样率
- 长度
- 已标记
- 最近添加
- 最后一首
- 来点音乐吧!
- 媒体库
- 媒体库分类
- 许可
- 质感白
- 监听器
- 正在罗列所有文件
- 加载产品...
- 登录
- 歌词
- 印度 ❤️ 制造
- 质感
- 错误
- 权限错误
- 我的名字
- 播放最多
- 从不
- 新横幅图片
- 新建播放列表
- 使用新的头像
- %s 是新的起始目录。
- 下一曲
- 暂无专辑
- 暂无艺术家
- "请播放歌曲后重试"
- 找不到均衡器
- 暂无流派
- 找不到歌词
- 没有播放的歌曲
- 暂无播放列表
- 找不到支付记录
- 暂无结果
- 暂无歌曲
- 正常
- 正常歌词
- 正常
- %s 未在媒体存储中列出。]]>
- 检索不到任何东西。
- 空空如也
- 通知栏
- 自定义通知栏风格
- 正在播放
- 正在播放队列
- 自定义播放界面
- 多于 9 种播放主题
- 仅限 Wi-Fi 网络
- 高级测试功能
- 其他
- 密码
- 最近三个月
- 在此处粘贴歌词
- 顶点
- 访问外部存储权限时被拒绝。
- 权限被拒绝。
- 个性化
- 自定义正在播放控件和UI控件
- 从本地选取
- 选择图片
- Pinterest
- 在 Pintrest 页面关注 Retro Music 的设计灵感
- 简洁
- 播放通知栏提供播放/暂停等操作。
- 通知栏播放
- 播放列表为空
- 播放列表为空
- 播放列表名
- 播放列表
- 专辑详细风格
- 应用于模糊主题,数值越低加载越快
- 模糊值
- 调整底部表格对话框圆角
- 对话框圆角
- 按长度筛选歌曲
- 筛选歌曲时长
- 高级
- 专辑样式
- 音频
- 黑名单
- 控件
- 主题
- 图片
- 媒体库
- 锁屏
- 播放列表
- 在音量为0时暂停播放,并在提高音量后自动播放。注意:当您提高音量后,它甚至会在您使用其他应用时开始播放
- 静音暂停
- 请注意,启用此功能可能会降低电池续航时间
- 保持屏幕常亮
- 点击打开或者滑动到非正在播放界面的透明导航栏
- 单击或划动
- 降雪效果
- 将正在播放的歌曲专辑封面设置为锁屏壁纸
- 当系统播放声音或收到通知时降低音量
- 在媒体库中隐藏列入黑名单的文件夹内容。
- 连接到蓝牙设备后立即开始播放
- 在锁屏中显示模糊化的专辑封面
-(可能会影响第三方应用或小部件正常运行)
- 在「正在播放」界面中使用轮播效果
-(在使用卡片和模糊卡片主题时无效 )
- 使用经典通知栏设计
- 背景色以及控件色跟随正在播放界面的专辑封面变化
- 将快捷方式颜色更改为强调色,每次颜色更改后需要切换一下该设置才能生效
- 将导航栏颜色修改为主色调
- "将通知栏颜色修改为专辑封面的强调色"
- 根据材料设计指南,黑色模式时颜色应该降低饱和度
- 从专辑封面或艺术家图像中选取主色调
- 给迷你播放器添加额外控件
- 显示额外的歌曲信息,例如文件格式、比特率和频率
- "在一些设备上可能会播放异常"
- 切换流派标签
- 切换主页横幅样式
- 可以提高封面质量,但加载时间较慢
-(建议只在图片分辨率过低时开启)
- 配置媒体库的可见性和顺序
- 使用 Retro Music 的自定义锁屏
- 开源许可详情
- 使应用边角圆滑
- 切换底部导航栏的标签标题
- 沉浸模式
- 连接耳机后立即开始播放
- 播放新列表时关闭随机播放
- 空间充足时在播放界面显示音量控制控件
- 显示专辑封面
- 专辑封面主题
- 专辑封面跳过
- 专辑网格
- 着色应用快捷方式
- 艺术家网格
- 焦点丢失时降低音量
- 自动下载艺术家图片
- 黑名单
- 蓝牙播放
- 模糊专辑封面
- 选择均衡器
- 经典通知栏设计
- 自适应颜色
- 着色通知栏
- 不饱和色
- 额外控件
- 歌曲信息
- 无缝播放
- 应用主题
- 显示流派标签
- 主页艺术家网格
- 主页横幅
- 忽略媒体存储封面
- 上次添加播放列表到现在的间隔
- 全屏控件
- 着色导航栏
- 正在播放主题
- 开源许可
- 边角
- 标签标题模式
- 轮播效果
- 主色调
- 全屏应用
- 标签标题
- 自动播放
- 随机播放
- 音量控件
- 用户信息
- 主颜色
- 蓝灰色为默认主色调,目前正使用深色
- 高级版
- 黑色主题,正在播放主题,轮播效果和更多...
- 个人信息
- 购买
- *购买前请先考虑,不要征询退款。
- 队列
- 评价
- 喜欢这个应用?去 Google Play Store 中告诉我们怎样才能让它更好
- 最近专辑
- 最近艺术家
- 删除
- 删除横幅图像
- 移除封面
- 从黑名单中移除
- 删除简介照片
- 从播放列表中删除歌曲
- %1$s?]]>
- 从播放列表中删除歌曲
- %1$d?]]>
- 重命名播放列表
- 报告问题
- 报告错误
- 重置
- 重置艺术家图片
- 恢复
- 恢复以前的购买。请重新启动应用以充分利用所有功能。
- 恢复之前的购买。
- 恢复购买中...
- Retro Music 均衡器
- Retro Music Player
- Retro Music 高级版
- 文件删除失败:%s
-
- 无法获取 SAF URI
- 打开导航栏
- 在溢出菜单中启用「显示 SD 卡」
-
- %s 需要访问 SD 卡
- 您需要选择您的 SD 卡根目录
- 在导航抽屉中选择您的 SD 卡
- 不要打开任何子文件夹
- 点击界面底部的「选择」按钮
- 文件写入失败:%s
- 保存
-
-
- 保存为文件
- 保存为文件
- 保存播放列表到 %s。
- 保存修改
- 扫描媒体
- 已扫描 %1$d 个,共计 %2$d 个文件。
- 滚动条
- 搜索媒体库...
- 全选
- 选择横幅图像
- 已选中
- 发送崩溃日志
- 设置
- 设置艺术家图片
- 设置个人资料照片
- 分享应用
- 分享到故事
- 随机播放
- 简单
- 睡眠定时已取消。
- 睡眠定时器设置为 %d 分钟。
- 滑动
- 小专辑
- 社交
- 分享故事
- 歌曲
- 歌曲时长
- 歌曲
- 排序
- 升序
- 专辑
- 艺术家
- 作曲家
- 日期
- 修改日期
- 年份
- 降序
- 抱歉!您的设备不支持语音输入
- 搜索媒体库
- 堆栈
- 开始播放音乐。
- 建议
- 仅仅在主页上显示您的名字
- 支持开发者
- 滑动以解锁
- 滚动歌词
- 系统均衡器
-
- Telegram
- 加入 Telegram 团队,讨论错误,提出建议,展示信息等等
- 谢谢您!
- 音频文件
- 本月
- 本周
- 本年
- 细小
- 标题
- 仪表盘
- 下午好
- 美好的一天
- 傍晚好
- 早上好
- 晚上好
- 您的名字是什么?
- 今日
- 热门专辑
- 热门艺术家
- "音轨"
- 音轨编号
- 翻译
- 帮助我们将应用翻译成您的语言
- Twitter
- 与 Retro Music 分享您的设计
- 未标记
- 无法播放这首歌曲。
- 下一首
- 更新图片
- 更新中...
- 用户名
- 版本
- 垂直翻转
- 虚拟器
- 音量
- 网络搜索
- 欢迎,
- 您想分享什么?
- 更新内容
- 窗口
- 圆角
- 将 %1$s 设置为铃声。
- 已选择 %1$d 首
- 年份
- 请至少选择一个分类。
- 将跳转至问题追踪网站。
- 您的账户数据仅用于验证。
- 数量
- 备注(可选)
- 开始支付
- 显示正在播放界面
- 点击通知将显示「正在播放界面」而不是「主界面」
- 迷你卡片
-
diff --git a/app/src/main/res/master/values-zh-rTW/strings.xml b/app/src/main/res/master/values-zh-rTW/strings.xml
deleted file mode 100644
index fa860ba65..000000000
--- a/app/src/main/res/master/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,515 +0,0 @@
-
-
- Team, social links
- 重點色調
- 重點色調,預設為粉紅色。
- 關於
- 加到最愛
- 加入播放佇列
- 加入播放清單...
- 清空播放佇列
- 清除播放清單
- Cycle repeat mode
- 刪除
- 刪除
- 詳細資訊
- 開啟此專輯
- 前往此演唱者頁面
- Go to genre
- 前往起始目錄
- 取得
- 網格大小
- 網格大小
- New playlist
- 下一首
- 播放
- Play all
- 在下一首播放
- 播放/暫停
- 上一首
- 從最愛中移除
- 從播放佇列中移除
- 從播放清單移除
- 重新命名
- Save playing queue
- 掃描
- 搜尋
- 設定
- 設為鈴聲
- 設為起始目錄
- "設定"
- 分享
- 隨機播放
- 隨機播放清單
- 睡眠定時器
- Sort order
- 編輯音樂資訊
- Toggle favorite
- Toggle shuffle mode
- Adaptive
- Add
- Add lyrics
- Add \nphoto
- "加入播放清單"
- Add time frame lyrics
- "已將 1 首歌加到播放佇列"
- 已將 %1$d 首歌加到播放佇列。
- 專輯
- 專輯演出者
- 專輯名稱或演出者欄是空的。
- 專輯
- 永遠
- Hey check out this cool music player at: https://play.google.com/store/apps/details?id=%s
- 隨機播放
- 最佳單曲
- 大型
- Card
- 經典
- 小型
- Text
- 演唱者
- 演唱者
- 無法控制音訊焦點。
- Change the sound settings and adjust the equalizer controls
- Auto
- Base color theme
- Bass Boost
- Bio
- 簡介
- 純黑(AMOLED)
- Blacklist
- Blur
- Blur Card
- Unable to send report
- Invalid access token. Please contact the app developer.
- Issues are not enabled for the selected repository. Please contact the app developer.
- An unexpected error occurred. Please contact the app developer.
- Wrong username or password
- Issue
- Send manually
- Please enter an issue description
- Please enter your valid GitHub password
- Please enter an issue title
- Please enter your valid GitHub username
- An unexpected error occurred. Sorry you found this bug, if it keeps crashing \"Clear app data\" or send an Email
- Uploading report to GitHub…
- Send using GitHub account
- Buy now
- 取消目前的計時器
- Card
- Circular
- Colored Card
- Card
- Carousel
- Carousel effect on the now playing screen
- Cascading
- Cast
- 新功能
- Changelog maintained on the Telegram channel
- Circle
- Circular
- Classic
- 清空
- Clear app data
- Clear blacklist
- Clear queue
- 清空播放清單
- %1$s? This can\u2019t be undone!]]>
- Close
- Color
- Color
- 主題顏色
- Composer
- Copied device info to clipboard.
- Couldn\u2019t create playlist.
- "Couldn\u2019t download a matching album cover."
- Could not restore purchase.
- 不能掃描 %d。
- 建立
- 已新增播放清單 %1$s。
- Members and contributors
- 我正在聽 %2$s 的 %1$s
- 暗沉
- No Lyrics
- 刪除播放清單
- %1$s 嗎?]]>
- 刪除多個播放清單
- Delete song
- %1$s 嗎?]]>
- Delete songs
- %1$d 個播放清單?]]>
- %1$d 首歌嗎?]]>
- 已刪除 %1$d 首歌。
- Deleting songs
- Depth
- Description
- Device info
- Allow Retro Music to modify audio settings
- Set ringtone
- Do you want to clear the blacklist?
- %1$s from the blacklist?]]>
- 捐助
- 如果你認為我的努力值得回報,你可以在這裡留幾塊錢。
- Buy me a:
- 從 Last.fm 下載
- Drive mode
- Edit
- Edit cover
- 空的
- 等化器
- Error
- FAQ
- 最愛
- Finish last song
- Fit
- 方角
- 文件夾
- Follow system
- For you
- Free
- Full
- Full card
- Change the theme and colors of the app
- Look and feel
- 類型
- Genres
- Fork the project on GitHub
- Join the Google Plus community where you can ask for help or follow Retro Music updates
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Grid style
- Hinge
- 記錄
- 首頁
- Horizontal flip
- Image
- Gradient image
- Change artist image download settings
- 已將 %1$d 首歌加入播放清單 %2$s 中。
- Share your Retro Music setup to showcase on Instagram
- Keyboard
- 位元率
- 格式
- 檔案名稱
- 檔案路徑
- 檔案大小
- More from %s
- 取樣率
- 長度
- Labeled
- 最後新增
- Last song
- Let\'s play some music
- 音樂庫
- Library categories
- 原始碼授權
- 明亮
- Listeners
- 清單文件
- 正在載入
- Login
- 歌詞
- Made with ❤️ in India
- Material
- Error
- Permission error
- Name
- 我的最佳單曲
- 永不
- New banner photo
- 新增播放清單
- New profile photo
- %s是新的起始目錄
- Next Song
- 沒有專輯
- 沒有演唱者
- "請先播放一首歌後再重試一遍。"
- 找不到等化器。
- You have no genres
- No lyrics found
- No songs playing
- 沒有播放清單
- No purchase found.
- 沒有搜尋結果
- 沒有歌曲
- Normal
- Normal lyrics
- Normal
- %s 未在音樂庫裡。]]>
- 沒有東西可掃描。
- Nothing to see
- 通知
- Customize the notification style
- Now playing
- 播放佇列
- Customize the now playing screen
- 9+ now playing themes
- 只在有 Wi-Fi 連接時
- Advanced testing features
- Other
- Password
- Past 3 months
- Paste lyrics here
- Peak
- 無法取得存取外部儲存空間的權限。
- 存取被拒
- Personalize
- Customize your now playing and UI controls
- 從手機裡選擇(SD卡或記憶體)
- Pick image
- Pinterest
- Follow Pinterest page for Retro Music design inspiration
- Plain
- The playing notification provides actions for play/pause etc.
- Playing notification
- 播放清單是空的
- Playlist is empty
- 播放清單名稱
- 播放清單
- Album detail style
- Amount of blur applied for blur themes, lower is faster
- Blur amount
- Adjust the bottom sheet dialog corners
- Dialog corner
- Filter songs by length
- Filter song duration
- Advanced
- Album style
- 音訊
- Blacklist
- Controls
- Theme
- 圖片
- Library
- 鎖定螢幕
- Playlists
- Pauses the song when the volume decreases to zero and starts playing back when the volume level rises. Also works outside the app
- Pause on zero
- Keep in mind that enabling this feature may affect battery life
- Keep the screen on
- Click to open with or slide to without transparent navigation of now playing screen
- Click or Slide
- Snow fall effect
- 將播放中歌曲的專輯封面設為鎖定螢幕背景。
- 通知鈴聲、導航語音等。
- The content of blacklisted folders is hidden from your library.
- Start playing as soon as connected to bluetooth device
- 在鎖定畫面上模糊化專輯圖片。第三方程式和小工具可能不正常運作。
- Carousel effect for the album art in the now playing screen. Note that Card and Blur Card themes won\'t work
- Use the classic notification design
- 在播放面板上,背景與控制按鈕的顏色將根據的專輯封面顏色而改變
- 將重點色調設為應用快捷方式的顏色。每次更改重點色調後,請切換此功能以生效。
- 將主色調設為導航列的顏色。
- "\u72c0\u614b\u5217\u984f\u8272\u8207\u5c08\u8f2f\u5716\u7247\u984f\u8272\u4e00\u81f4"
- As per Material Design guide lines in dark mode colors should be desaturated
- Most dominant color will be picked from the album or artist cover
- Add extra controls for mini player
- Show extra Song information, such as file format, bitrate and frequency
- "可能會在某些裝置上出現播放問題。"
- Toggle genre tab
- Show or hide the home banner
- 提高專輯封面的成像品質,但會造成較長的讀取時間。建議只有在您對低畫質的專輯封面有問題時才開啟此選項。
- Configure visibility and order of library categories.
- Use Retro Music\'s custom lockscreen controls
- License details for open source software
- 使視窗邊角為圓形邊角
- Toggle titles for the bottom navigation bar tabs
- Immersive mode
- Start playing immediately after headphones are connected
- Shuffle mode will turn off when playing a new list of songs
- If enough space is available, show volume controls in the now playing screen
- 顯示專輯封面
- Album cover theme
- Album cover skip
- Album grid
- 彩色的應用快捷方式
- Artist grid
- 在焦點音訊響起時降低音量
- 自動下載演唱者圖片
- Blacklist
- Bluetooth playback
- 將專輯圖片模糊化
- Choose equalizer
- Classic notification design
- 自適應顏色
- 彩色的狀態列
- Desaturated color
- Extra controls
- Song info
- 無縫播放
- 主題
- Show genre tab
- Artist grid
- Banner
- 忽略音訊檔內嵌的專輯封面
- Last added playlist interval
- Fullscreen controls
- 彩色的導航列
- 外觀
- 開源授權協議
- 圓形邊角
- Tab titles mode
- Carousel effect
- Dominant color
- Fullscreen app
- Tab titles
- Auto-play
- Shuffle mode
- Volume controls
- User info
- 主色調
- The primary theme color, defaults to blue grey, for now works with dark colors
- Pro
- Black theme, Now playing themes, Carousel effect and more..
- Profile
- Purchase
- *Think before buying, don\'t ask for refund.
- 播放佇列
- 評分
- 如果您喜歡 Retro music,在 Play 商店給個好評吧 !
- Recent albums
- Recent artists
- 移除
- Remove banner photo
- 移除封面
- Remove from blacklist
- Remove profile photo
- 將歌曲從播放清單中移除
- %1$s 從播放清單中移除嗎?]]>
- 將多首歌曲從播放清單中移除
- %1$d 首歌從播放清單中移除嗎?]]>
- 重新命名播放清單
- Report an issue
- Report bug
- Reset
- Reset artist image
- Restore
- Restored previous purchase. Please restart the app to make use of all features.
- 回復購買
- Restoring purchase…
- Retro Music Equalizer
- Retro Music Player
- Retro Music Pro
- File delete failed: %s
-
- Can\'t get SAF URI
- Open navigation drawer
- Enable \'Show SD card\' in overflow menu
-
- %s needs SD card access
- You need to select your SD card root directory
- Select your SD card in navigation drawer
- Do not open any sub-folders
- Tap \'select\' button at the bottom of the screen
- File write failed: %s
- Save
-
-
- 儲存檔案
- Save as files
- 已儲存播放清單至 %s
- 儲存變更
- Scan media
- 已掃描 %2$d 個檔案夾中的 %1$d 個。
- Scrobbles
- 搜尋音樂庫…
- Select all
- Select banner photo
- Selected
- Send crash log
- Set
- Set artist image
- Set a profile photo
- Share app
- Share to Stories
- 隨機播放
- Simple
- 已取消睡眠定時器。
- %d 分鐘後,音樂將會自動停止。
- Slide
- Small album
- Social
- Share story
- 歌曲
- Song duration
- 歌曲
- 排序
- Ascending
- Album
- Artist
- Composer
- Date added
- Date modified
- Year
- Descending
- 抱歉!你的裝置不支援語音輸入
- 搜尋音樂庫
- Stack
- Start playing music.
- Suggestions
- Just show your name on home screen
- 支援開發
- Swipe to unlock
- Synced lyrics
- System Equalizer
-
- Telegram
- Join the Telegram group to discuss bugs, make suggestions, show off and more
- 感謝你!
- 音訊檔案
- This month
- This week
- This year
- Tiny
- Title
- Dashboard
- Good afternoon
- Good day
- Good evening
- Good morning
- Good night
- What\'s Your Name
- Today
- Top albums
- Top artists
- "音軌(用2表示第2首歌或用3004表示 CD3 的第4首歌)"
- Track number
- 翻譯
- Help us translate the app to your language
- Twitter
- Share your design with Retro Music
- Unlabeled
- \u7121\u6cd5\u64ad\u653e\u9019\u9996\u6b4c\u3002
- 即將播放
- 更新圖片
- 正在更新…
- Username
- 版本
- Vertical flip
- Virtualizer
- Volume
- 網路搜尋
- Welcome,
- 你想分享哪些內容?
- What\'s New
- Window
- Rounded corners
- 已將 %1$s 設為鈴聲。
- 已選取 %1$d 個
- 年份
- You have to select at least one category.
- You will be forwarded to the issue tracker website.
- Your account data is only used for authentication.
- Amount
- Note(Optional)
- Start payment
- Show now playing screen
- Clicking on the notification will show now playing screen instead of the home screen
- Tiny card
-
diff --git a/app/src/main/res/menu/menu_player.xml b/app/src/main/res/menu/menu_player.xml
index 948fc66fb..34bef5148 100755
--- a/app/src/main/res/menu/menu_player.xml
+++ b/app/src/main/res/menu/menu_player.xml
@@ -1,6 +1,13 @@
Modifica le impostazioni audio e regola i controlli dell\'equalizzatore
Automatico
Backup e ripristino impostazioni e playlist
-
+
+
+
Backup
Biografia
Solo nero
@@ -138,13 +140,21 @@ https://play.google.com/store/apps/details?id=%s
Immagini dell\'Artista Personalizzate
Scuro
Elimina playlist
- %1$s?]]>
+
+ %1$s?]]>
+
Elimina playlist
Elimina brano
- %1$s?]]>
+
+ %1$s?]]>
+
Elimina brani
- %1$d playlist?]]>
- %1$d brani?]]>
+
+ %1$d playlist?]]>
+
+
+ %1$d brani?]]>
+
Eliminati %1$d brani
Eliminazione brani
Profondità
@@ -154,7 +164,9 @@ https://play.google.com/store/apps/details?id=%s
Imposta suoneria
Numero del disco
Vuoi cancellare la blacklist?
- %1$s dalla blacklist?]]>
+
+ %1$s dalla blacklist?]]>
+
Dona
Se pensi che io meriti di essere pagato per il mio lavoro, puoi lasciarmi qualche soldo qui
Pagami un:
@@ -248,7 +260,9 @@ https://play.google.com/store/apps/details?id=%s
Nessun brano
Normale
Testi normali
- %s non è presente nel Media Store.]]>
+
+ %s non è presente nel Media Store.]]>
+
Non riprodotto recentemente
Niente da rilevare
Non c\'è niente da vedere
@@ -300,6 +314,7 @@ https://play.google.com/store/apps/details?id=%s
Ricorda che abilitando questa opzione l\'autonomia del tuo dispositivo potrebbe risentirne
Mantieni lo schermo acceso
Seleziona lingua
+ Effetto neve
Imposta la copertina del brano riprodotto come sfondo del blocco schermo
Mostra gli artisti degli album nella categoria Artista
Riduce il volume quando viene riprodotto un suono di sistema o viene ricevuta una notifica
@@ -383,9 +398,13 @@ https://play.google.com/store/apps/details?id=%s
Rimuovi copertina
Rimuovi dalla blacklist
Rimuovi il brano dalla playlist
- %1$s dalla playlist?]]>
+
+ %1$s dalla playlist?]]>
+
Rimuovi brani dalla playlist
- %1$d dalla playlist?]]>
+
+ %1$d dalla playlist?]]>
+
Rinomina playlist
Segnala un problema
Segnala bug
diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml
index 4a759fb1a..0fae9da74 100644
--- a/app/src/main/res/values-ja-rJP/strings.xml
+++ b/app/src/main/res/values-ja-rJP/strings.xml
@@ -77,12 +77,14 @@
Minimal Text
アーティスト
アーティスト
- Audio Fade Duration
+ Audio fade duration
オーディオのフォーカスが拒否されました。
サウンド設定を変更し、イコライザーコントロールを調整する
自動
Backup and restore your settings, playlists
-
+
+
+
Backups
バイオグラフィー
ダークテーマ時に漆黒にする
@@ -136,13 +138,21 @@
Custom Artist Images
ダーク
プレイリストを削除
- %1$s を削除しますか?]]>
+
+ %1$s を削除しますか?]]>
+
プレイリストを削除
Delete song
- %1$s を削除しますか?]]>
+
+ %1$s を削除しますか?]]>
+
Delete songs
- %1$d を削除しますか?]]>
- %1$d 曲を削除しますか?]]>
+
+ %1$d を削除しますか?]]>
+
+
+ %1$d 曲を削除しますか?]]>
+
%1$d 曲を削除しました
Deleting Songs
深さ
@@ -152,7 +162,9 @@
着信音に設定
Disc Number
ブラックリストを削除しますか?
- %1$s をブラックリストから削除しますか?]]>
+
+ %1$s をブラックリストから削除しますか?]]>
+
寄付する
私が自分の仕事に払う価値があると思うなら、あなたはここにお金を残すことができます
俺を購入:
@@ -246,7 +258,9 @@
曲がありません
通常
通常の歌詞
- %s がリストされたされていません。]]>
+
+ %s がリストされたされていません。]]>
+
Not recently played
スキャン対象がありません
Nothing to see
@@ -298,10 +312,11 @@
この機能をオンにすると、バッテリー寿命に影響する可能性があります
画面をオンのままにする
言語を選択
+ スノーフォールエフェクト
再生中のジャケットをロック画面の壁紙に適用する
アーティストカテゴリ内にアルバムのアーティストを表示する
システムでサウンドが再生されたとき、または通知が受信されたときに一時的に音量を下げる
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
ブラックリストに登録されたフォルダの内容はコレクションには表示されません。
端末にBluetoothデバイスが接続されたとき、再生を開始する
ロック画面のジャケットをぼかします。他のアプリやウィジェットに問題を及ぼす可能性があります
@@ -322,8 +337,8 @@
Retro Musicのカスタムされたロック画面を使用する
オープンソースライセンスの詳細
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
アプリをフルスクリーン表示にする
ヘッドフォンが接続されたら自動で再生を開始する
新しいリストの楽曲を再生する時にシャッフルは自動的にオフになります
@@ -335,7 +350,7 @@
アルバムジャケットをスキップ
色のついたアプリショートカット
フォーカスロス時に音量を下げる
- Fade Audio
+ Fade audio
アーティスト画像を自動でダウンロードする
ブラックリスト
Bluetooth接続時に再生
@@ -358,16 +373,16 @@
フルスクリーンコントロール
再生中のテーマ
オープンソースライセンス
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
タブのラベル
カルーセルエフェクト
フルスクリーン表示
自動再生
シャッフルモード
ボリュームコントロール
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
プロフィール
@@ -381,9 +396,13 @@
ジャケットを削除
ブラックリストから削除
プレイリストから曲を削除
- %1$s をプレイリストから削除しますか?]]>
+
+ %1$s をプレイリストから削除しますか?]]>
+
プレイリストから曲を削除する
- %1$d をプレイリストから削除しますか?]]>
+
+ %1$d をプレイリストから削除しますか?]]>
+
プレイリストの名前を変更
問題を報告
不具合を報告する
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index 04b9d5c16..e5714ffe6 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -77,7 +77,7 @@
Minimal Text
아티스트
아티스트
- Audio Fade Duration
+ Audio fade duration
오디오 포커스가 거부되었습니다.
소리 설정 및 이퀄라이저 조정
Auto
@@ -300,7 +300,7 @@
현재 재생 중인 노래의 앨범 커버를 잠금 화면 배경화면으로 사용합니다.
Show Album Artists in the Artist category
알림, 탐색 등
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
잠금 화면의 앨범 커버에 흐림 효과를 적용합니다. 서드 파티 앱 및 위젯에서 문제가 생길 수 있습니다.
@@ -321,8 +321,8 @@
Retro music에서 제공하는 자체 잠금 화면 사용
오픈소스 소프트웨어의 상세 라이센스 정보
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
몰입 모드
이어폰이 연결되면 바로 음악을 재생합니다.
Shuffle mode will turn off when playing a new list of songs
@@ -334,7 +334,7 @@
Album cover skip
앱 바로가기 색상 틴트
알림이 올 때 볼륨 감소
- Fade Audio
+ Fade audio
아티스트 이미지 자동 다운로드
블랙리스트
Bluetooth playback
@@ -357,16 +357,16 @@
전체 화면 컨트롤
테마
오픈소스 라이선스
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
회전 효과
전체 화면
자동 재생
Shuffle mode
볼륨 조절
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml
index eaa2ac2f0..5299030f4 100644
--- a/app/src/main/res/values-ml-rIN/strings.xml
+++ b/app/src/main/res/values-ml-rIN/strings.xml
@@ -79,7 +79,7 @@
Minimal Text
ആർട്ടിസ്റ്റ്
ആർട്ടിസ്റ്റുകൾ
- Audio Fade Duration
+ Audio fade duration
Audio focus denied.
Change the sound settings and adjust the equalizer controls
Auto
@@ -302,7 +302,7 @@
Use the currently playing song album cover as the lockscreen wallpaper
Show Album Artists in the Artist category
Lower the volume when a system sound is played or a notification is received
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
@@ -323,8 +323,8 @@
Use Retro Music\'s custom lockscreen controls
License details for open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
Start playing immediately after headphones are connected
Shuffle mode will turn off when playing a new list of songs
@@ -336,7 +336,7 @@
Album cover skip
Colored app shortcuts
Reduce volume on focus loss
- Fade Audio
+ Fade audio
Auto-download artist images
Blacklist
Bluetooth playback
@@ -359,16 +359,16 @@
Fullscreen controls
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Fullscreen app
Auto-play
Shuffle mode
Volume controls
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-my-rMM/strings.xml b/app/src/main/res/values-my-rMM/strings.xml
index 087ab7858..164c23f6e 100644
--- a/app/src/main/res/values-my-rMM/strings.xml
+++ b/app/src/main/res/values-my-rMM/strings.xml
@@ -77,7 +77,7 @@
Minimal Text
အဆိုတော်
အဆိုတော်များ
- Audio Fade Duration
+ Audio fade duration
အသံအာရုံစိုက်ခြင်းအား ပယ်ဖျက်ခဲ့သည်
အသံ Settings များပြောင်းလဲရန်နှင့် Equalizer ချိန်ညှိရန်
အလိုအလျောက်
@@ -300,7 +300,7 @@
ယခု play နေသောသီချင်း Album cover ပုံအား Lockscreen wallpaper အဖြစ်ထားမည်
Album သီဆိုသူများကိုလည်း အဆိုတော် Category တွင်ထားမည်
System Sound (သို့) Notification တစ်ခုရောက်လာသည့်အခါ သီချင်းအသံကိုတိုးမည်
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
Blacklist folder သိို့သွင်းထားသည်များကို Library တွင်မြင်ရမည်မဟုတ်ပါ
Bluetooth device နှင့်ချိတ်ဆက်လိုက်သည်နှင့် သီချင်းစဖွင့်မည်
Lockscreen တွင် Album cover ပုံကိုဝါးထားမည်။ Third-party app နှင့် Widget များတွင် ပြဿနာတက်နိုင်သည်။
@@ -321,8 +321,8 @@
Retro Music ၏ ပြင်ဆင်ထားသော Lockscreen controls များကိုသုံးမည်
Open Source software အတွက် လိုင်စင်အချက်အလက်များ
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
နားကြပ်နှင့်ချိတ်ဆက်ပြီးသည့်နှင့် စတင် play မည်
သီချင်းဖွင့်မည့်စာရင်း\'အသစ်\'ကို play သည့်အခါ Shuffle Mode ပိတ်သွားပါမည်
@@ -334,7 +334,7 @@
Album cover skip
Colored App shortcuts
Reduce volume on focus loss
- Fade Audio
+ Fade audio
အဆိုတော်ဓာတ်ပုံများကို အလိုအလျောက်ဒေါင်းလုဒ်ဆွဲခြင်း
လစ်လျူရှုမည့်စာရင်း
Bluetooth playback
@@ -357,16 +357,16 @@
Lockscreen အပြည့် controls
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab ခေါင်းစဉ်ပြသခြင်း
Carousel effect
App ကို screen အပြည့်ထားမည်
အလိုအလျောက် play ခြင်း
Shuffle mode
အသံထိန်းချုပ်မှု
- Whitelist Music
+ Whitelist music
Pro
Black theme ၊ Now playing themes နှင့် Carousel effect စသည်များ...
Profile
diff --git a/app/src/main/res/values-night-v27/styles.xml b/app/src/main/res/values-night-v27/styles.xml
index 17d658a0a..1945d2ca8 100644
--- a/app/src/main/res/values-night-v27/styles.xml
+++ b/app/src/main/res/values-night-v27/styles.xml
@@ -15,25 +15,15 @@
\ No newline at end of file
diff --git a/app/src/main/res/values-night-v31/styles.xml b/app/src/main/res/values-night-v31/styles.xml
new file mode 100644
index 000000000..3f0129227
--- /dev/null
+++ b/app/src/main/res/values-night-v31/styles.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 5718c56e9..e25b5f1f4 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -4,4 +4,5 @@
@android:color/black
#202020
+ @color/darkerColorSurface
\ No newline at end of file
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index 5780ad13a..b09adfb63 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -15,12 +15,7 @@
diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml
index 9ed36b5e4..dbe46c8be 100644
--- a/app/src/main/res/values-nl-rNL/strings.xml
+++ b/app/src/main/res/values-nl-rNL/strings.xml
@@ -302,7 +302,7 @@
Gebruik de huidige cover als vergrendelscherm achtergrond.
Show Album Artists in the Artist category
Notificaties, bediening etc.
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Vervaagt de album cover op het vergrendelscherm. Kan problemen veroorzaken met apps van derde en widgets/
@@ -323,8 +323,8 @@
Zet besturing knoppen aan op vergrendelscherm
Licentie details voor open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Zet dit aan voor immersive mode
Wanneer headphones ingeplugd zijn, afspelen start automatisch
Shuffle mode will turn off when playing a new list of songs
@@ -336,7 +336,7 @@
Album cover skip
Gekleurde app snelkoppelingen
Beperk volume bij verliezen focus
- Fade Audio
+ Fade audio
Automatisch downloaden artisten afbeeldingen
Zwarte lijst
Bluetooth playback
@@ -359,16 +359,16 @@
Volledig scherm besturing knoppen
Uiterlijk
Open source licenties
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carrousel-effect
Volledig scherm app
Automatisch afspelen
Shufflemodus
Volume knoppen
- Whitelist Music
+ Whitelist music
Pro
Donker thema, \"speelt nu\" thema\'s, Carrousel-effect en nog veel meer..
Profiel
diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml
index 4d2c2b212..4b1fd4af1 100644
--- a/app/src/main/res/values-no-rNO/strings.xml
+++ b/app/src/main/res/values-no-rNO/strings.xml
@@ -79,7 +79,7 @@
Minimal Text
Artist
Artists
- Audio Fade Duration
+ Audio fade duration
Audio focus denied.
Change the sound settings and adjust the equalizer controls
Auto
@@ -302,7 +302,7 @@
Use the currently playing song album cover as the lockscreen wallpaper
Show Album Artists in the Artist category
Lower the volume when a system sound is played or a notification is received
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
@@ -323,8 +323,8 @@
Use Retro Music\'s custom lockscreen controls
License details for open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
Start playing immediately after headphones are connected
Shuffle mode will turn off when playing a new list of songs
@@ -336,7 +336,7 @@
Album cover skip
Colored app shortcuts
Reduce volume on focus loss
- Fade Audio
+ Fade audio
Auto-download artist images
Blacklist
Bluetooth playback
@@ -359,16 +359,16 @@
Fullscreen controls
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Fullscreen app
Auto-play
Shuffle mode
Volume controls
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-or-rIN/strings.xml b/app/src/main/res/values-or-rIN/strings.xml
index 1b3d4a237..1ce9feb43 100644
--- a/app/src/main/res/values-or-rIN/strings.xml
+++ b/app/src/main/res/values-or-rIN/strings.xml
@@ -79,7 +79,7 @@
Minimal Text
Artist
Artists
- Audio Fade Duration
+ Audio fade duration
Audio focus denied.
Change the sound settings and adjust the equalizer controls
Auto
@@ -302,7 +302,7 @@
Use the currently playing song album cover as the lockscreen wallpaper
Show Album Artists in the Artist category
Lower the volume when a system sound is played or a notification is received
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
@@ -323,8 +323,8 @@
Use Retro Music\'s custom lockscreen controls
License details for open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
Start playing immediately after headphones are connected
Shuffle mode will turn off when playing a new list of songs
@@ -336,7 +336,7 @@
Album cover skip
Colored app shortcuts
Reduce volume on focus loss
- Fade Audio
+ Fade audio
Auto-download artist images
Blacklist
Bluetooth playback
@@ -359,16 +359,16 @@
Fullscreen controls
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Fullscreen app
Auto-play
Shuffle mode
Volume controls
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml
index 59d353453..e81850ea2 100644
--- a/app/src/main/res/values-pl-rPL/strings.xml
+++ b/app/src/main/res/values-pl-rPL/strings.xml
@@ -88,7 +88,9 @@
Dostosuj ustawienia dźwięku i equalizera
Automatyczny
Backup and restore your settings, playlists
-
+
+
+
Backups
Biografia
Po prostu czarny
@@ -141,13 +143,21 @@
Custom Artist Images
Dość ciemny
Usuń playlistę
- %1$s?]]>
+
+ %1$s?]]>
+
Usuń playlisty
Usuń utwór
- %1$s?]]>
+
+ %1$s?]]>
+
Usuń utwory
- %1$d playlisty?]]>
- %1$d utwory?]]>
+
+ %1$d playlisty?]]>
+
+
+ %1$d utwory?]]>
+
Usunięto %1$d utworów.
Usuwanie utworów
Głębia
@@ -157,7 +167,9 @@
Ustaw jako dzwonek
Disc Number
Czy chcesz wyczyścić czarną listę?
- %1$s z czarnej listy?]]>
+
+ %1$s z czarnej listy?]]>
+
Wesprzyj nas
Jeżeli uważasz, że zasługuje na zapłatę za moją pracę możesz zostawić tu drobną sumę
Kup mi:
@@ -251,7 +263,9 @@
Brak utworów
Normalne
Normalny tekst utworu
- %s nie znajduje się w magazynie multimediów.]]>
+
+ %s nie znajduje się w magazynie multimediów.]]>
+
Ostatnio nieodtwarzane
Brak elementów do przeskanowania.
Pusto
@@ -303,10 +317,11 @@
Ta opcja może mieć wpływ na zużycie baterii
Pozostaw ekran włączony
Wybierz język
+ Efekt spadającego śniegu
Używaj okładki aktualnie odtwarzanego albumu jako tła ekranu blokady
Show Album Artists in the Artist category
Zmniejsz głośność kiedy dostajesz powiadomienia
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
Foldery zawarte na czarnej listy są ukryte w Twojej bibliotece.
Rozpocznij odtwarzanie po podłączeniu urządzenia Bluetooth
Rozmyj okładkę albumu na ekranie blokady. Może powodować problemy z aplikacjami i widżetami innych firm
@@ -327,8 +342,8 @@
Użyj niestandardowych przycisków kontroli na ekranie blokady
Szczegóły licencji oprogramowania typu open source
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Tryb imersji
Rozpocznij odtwarzanie po podłączeniu zestawu słuchawkowego
Odtwarzanie losowe zostanie wyłączone podczas odtwarzania nowej listy utworów
@@ -340,7 +355,7 @@
Przesuwanie okładki albumu
Kolorowe skróty aplikacji
Zmniejsz głośność przy braku skupienia
- Fade Audio
+ Fade audio
Automatycznie pobierz grafiki wykonawców
Czarna lista
Odtwarzanie przez Bluetooth
@@ -364,7 +379,7 @@
Wyglądodtwarzacza
Licencje typu Open Source
Zapamiętaj ostatnią kartę
- Show Lyrics
+ Show lyrics
Pokaż sugestie
Wygląd tytułów kart
Efekt karuzeli
@@ -372,7 +387,7 @@
Autoodtwarzanie
Tryb losowy
Sterowanie głośnością
- Whitelist Music
+ Whitelist music
Pro
Efekt karuzeli, tryb czarny i wiele więcej...
Profil
@@ -386,9 +401,13 @@
Usuń okładkę
Usuń z czarnej listy
Usuń utwór z playlisty
- %1$s z playlisty?]]>
+
+ %1$s z playlisty?]]>
+
Usuń utwory z playlisty
- %1$d z playlisty?]]>
+
+ %1$d z playlisty?]]>
+
Zmień nazwę playlisty
Zgłoś problem
Zgłoś błąd
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index ac96569f4..20405ab0f 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -84,7 +84,9 @@
Altere as configurações de som e ajuste os controles do equalizador
Automático
Backup and restore your settings, playlists
-
+
+
+
Backups
Biografia
Totalmente preto
@@ -137,13 +139,21 @@
Custom Artist Images
Meio escuro
Excluir playlist
- %1$s?]]>
+
+ %1$s?]]>
+
Excluir playlists
Excluir música
- %1$s?]]>
+
+ %1$s?]]>
+
Excluir músicas
- %1$d playlists?]]>
- %1$d músicas?]]>
+
+ %1$d playlists?]]>
+
+
+ %1$d músicas?]]>
+
%1$d músicas foram excluídas.
Apagando músicas
Profundidade
@@ -153,7 +163,9 @@
Definir como toque
Disc Number
Você quer limpar a lista negra?
- %1$s da lista negra?]]>
+
+ %1$s da lista negra?]]>
+
Doar
Se você acha que eu mereço ser recompensado pelo meu trabalho, você pode me deixar algum dinheiro aqui
Me pague um:
@@ -247,7 +259,9 @@
Você não tem músicas
Normal
Letras normais
- %s não está listado no armazenamento de mídia.]]>
+
+ %s não está listado no armazenamento de mídia.]]>
+
Não reproduzido recentemente
Nada para escanear.
Nada para ver
@@ -299,6 +313,7 @@
Tenha em mente que ativar este recurso pode afetar a duração da bateria
Manter a tela ligada
Selecione o idioma
+ Efeito de neve caindo
Usar a capa do álbum da música em reprodução como papel de parede na tela de bloqueio
Mostrar Artistas do Álbum na categoria de Artistas
Diminuir o volume quando um som do sistema for reproduzido ou uma notificação for recebida
@@ -382,9 +397,13 @@
Remover capa
Remover da lista negra
Remover música da playlist
- %1$s da playlist?]]>
+
+ %1$s da playlist?]]>
+
Remover músicas da playlist
- %1$d músicas da playlist?]]>
+
+ %1$d músicas da playlist?]]>
+
Renomear playlist
Reportar um problema
Reportar erro
diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml
index c834ca77a..451180c87 100644
--- a/app/src/main/res/values-ro-rRO/strings.xml
+++ b/app/src/main/res/values-ro-rRO/strings.xml
@@ -81,7 +81,7 @@
Minimal Text
Artist
Artiști
- Audio Fade Duration
+ Audio fade duration
Folcalizarea audio a fost respinsă.
Ajustați setările de sunet și comenzile egalizatorului
Auto
@@ -304,7 +304,7 @@
Folosește coperta de album curentă ca imagine de fundal pe ecranul de blocare.
Show Album Artists in the Artist category
Notificațiile, navigarea etc.
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Spălăcește coperta de album pe ecranul de blocare. Poate cauza probleme cu alte aplcicatii sau widget-uri.
@@ -325,8 +325,8 @@
Comenzi pe ecranul de blocare pentru Retro music.
Detalii privind licența pentru software open source
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Mod imersiv
Începe redarea imediat ce sunt conectate căștile.
Shuffle mode will turn off when playing a new list of songs
@@ -338,7 +338,7 @@
Album cover skip
Comenzi rapide colorate
Reduce volumul la pierderea focalizării
- Fade Audio
+ Fade audio
Descărcați automat imagini ale artistului
Lista neagră
Bluetooth playback
@@ -361,16 +361,16 @@
Comenzi ecran complet
Aspect
Licențe open source
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Efect de carusel
Ecran complet
Redare automată
Shuffle mode
Controale volum
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml
index 2b056856b..8adaf6c22 100644
--- a/app/src/main/res/values-ru-rRU/strings.xml
+++ b/app/src/main/res/values-ru-rRU/strings.xml
@@ -88,7 +88,9 @@
Измените настройки звука и отрегулируйте настройки эквалайзера
Авто
Backup and restore your settings, playlists
-
+
+
+
Backups
Биография
Чёрная
@@ -141,13 +143,21 @@
Custom Artist Images
Тёмная
Удалить плейлист
- %1$s?]]>
+
+ %1$s?]]>
+
Удалить плейлисты
Удалить песню
- %1$s?]]>
+
+ %1$s?]]>
+
Удалить песни
- %1$d плейлистов?]]>
- %1$d песен?]]>
+
+ %1$d плейлистов?]]>
+
+
+ %1$d песен?]]>
+
Удалено %1$d песен.
Удаление песен
Глубина
@@ -157,7 +167,9 @@
Выбрать рингтон
Disc Number
Вы хотите очистить черный список?
- %1$s из черного списка?]]>
+
+ %1$s из черного списка?]]>
+
Пожертвовать
Если вы считаете, что я заслуживаю награды за свой труд, можете отправить мне несколько рублей здесь
Купить мне:
@@ -251,7 +263,9 @@
Нет песен
Обычная
Обычный текст
- %s не найден в хранилище медиа.]]>
+
+ %s не найден в хранилище медиа.]]>
+
Сейчас не проигрывается
Нет файлов для сканирования.
Нет файлов для сканирования
@@ -303,6 +317,7 @@
Имейте в виду, что включение этой функции может повлиять на заряд батареи
Оставить экран включенным
Выберите язык
+ Эффект снегопада
Использовать обложку альбома текущей песни в качестве обоев на экране блокировки.
Только альбомы исполнителей
Снизить громкость воспроизведения когда приходит звуковое уведомление
@@ -386,9 +401,13 @@
Удалить обложку
Удалить из черного списка
Удалить песню из плейлиста
- %1$s из плейлиста?]]>
+
+ %1$s из плейлиста?]]>
+
Удалить песни из плейлиста
-
+
+
+
Переименовать плейлист
Сообщить об ошибке
Сообщить об ошибке
diff --git a/app/src/main/res/values-sr-rSP/strings.xml b/app/src/main/res/values-sr-rSP/strings.xml
index 0657b0e50..2098c2082 100644
--- a/app/src/main/res/values-sr-rSP/strings.xml
+++ b/app/src/main/res/values-sr-rSP/strings.xml
@@ -81,7 +81,7 @@
Minimal Text
Izvodjac
Izvodjac
- Audio Fade Duration
+ Audio fade duration
Zvuk se vec reprodukuje
Change the sound settings and adjust the equalizer controls
Auto
@@ -304,7 +304,7 @@
Koristi omot albuma kao pozadinu kada se reprodukuje muzika
Show Album Artists in the Artist category
Obavestenja, navigacija itd.
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Zamuti omot albuma na zakljucanom ekranu. (moze izazvati probleme sa drugim aplikacijama i vidzetima)
@@ -325,8 +325,8 @@
Prikazuj kontrole na zakljucanom ekranu
Detalji o licencama za softver otvorenog izvora
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Omoguci ovo za impresivan mod.
Kada se prikljuce slusalice automatki pusti pesme
Shuffle mode will turn off when playing a new list of songs
@@ -338,7 +338,7 @@
Album cover skip
Obojene ikone aplikacije
Utisaj zvuk prilikom poziva i drugih obavestenja.
- Fade Audio
+ Fade audio
Automatski preuzmi sliku izvodjaca
Ne trazi muziku u...
Bluetooth playback
@@ -361,16 +361,16 @@
Kontrole preko celog ekrana
Izgled
Otvoren izvor licenca
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Aplikacija preko celog ekrana
Automatsko reprodukovanje
Shuffle mode
Kontroler jacine zvuka
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml
index 32b494e09..81f5d1191 100644
--- a/app/src/main/res/values-sv-rSE/strings.xml
+++ b/app/src/main/res/values-sv-rSE/strings.xml
@@ -79,7 +79,7 @@
Minimal Text
Artist
Artister
- Audio Fade Duration
+ Audio fade duration
Ljudfokus nekas.
Ändra ljudinställningarna och justera equalizer-kontrollerna
Auto
@@ -302,7 +302,7 @@
Använd det spelade albumets omslag som låsskärmsbakgrund
Show Album Artists in the Artist category
Sänk volymen när ett systemljud spelas upp eller ett meddelande tas emot
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
Innehållet i svartlistade mappar döljs från ditt bibliotek.
Börja spela direkt när en bluetooth-enhet ansluts
Ger albumomslaget oskärpa på låsskärmen. Kan orsaka problem med tredjepartsappar och widgets
@@ -323,8 +323,8 @@
Använd Retro Music:s anpassade låsskärmskontroller
Licensinformation för programvara med öppen källkod
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Uppslukande läge
Börja spela direkt då hörlurar ansluts
Shuffleläget stängs av när du spelar en ny lista med låtar
@@ -336,7 +336,7 @@
Nästa albumomslag
Färgade appgenvägar
Minska volymen vid fokusförlust
- Fade Audio
+ Fade audio
Ladda ner artistbilder automatiskt
Svartlista
Bluetooth-uppspelning
@@ -359,16 +359,16 @@
Helskärmskontroller
Spelartema
Licenser för öppen källkod
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Fliktitlar
Karuselleffekt
Helskärmsapp
Auto-play
Shuffleläge
Volymkontroller
- Whitelist Music
+ Whitelist music
Pro
Helt svart tema, spelarteman, karuselleffekt med mera…
Profil
diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml
index 2634e7bd3..e8eb63925 100644
--- a/app/src/main/res/values-ta-rIN/strings.xml
+++ b/app/src/main/res/values-ta-rIN/strings.xml
@@ -79,7 +79,7 @@
Minimal Text
Artist
Artists
- Audio Fade Duration
+ Audio fade duration
Audio focus denied.
Change the sound settings and adjust the equalizer controls
Auto
@@ -302,7 +302,7 @@
Use the currently playing song album cover as the lockscreen wallpaper
Show Album Artists in the Artist category
Lower the volume when a system sound is played or a notification is received
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
@@ -323,8 +323,8 @@
Use Retro Music\'s custom lockscreen controls
License details for open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
Start playing immediately after headphones are connected
Shuffle mode will turn off when playing a new list of songs
@@ -336,7 +336,7 @@
Album cover skip
Colored app shortcuts
Reduce volume on focus loss
- Fade Audio
+ Fade audio
Auto-download artist images
Blacklist
Bluetooth playback
@@ -359,16 +359,16 @@
Fullscreen controls
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Fullscreen app
Auto-play
Shuffle mode
Volume controls
- Whitelist Music
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
diff --git a/app/src/main/res/master/values-te-rIN/strings.xml b/app/src/main/res/values-te-rIN/strings.xml
similarity index 83%
rename from app/src/main/res/master/values-te-rIN/strings.xml
rename to app/src/main/res/values-te-rIN/strings.xml
index 65a843bcc..3b3a52556 100644
--- a/app/src/main/res/master/values-te-rIN/strings.xml
+++ b/app/src/main/res/values-te-rIN/strings.xml
@@ -7,12 +7,13 @@
ఇష్టమైన వాటికి జోడించండి
క్యూ ఆడటానికి జోడించండి
పాటల క్రమంలో చేర్చు
+ తారాగణం
క్యూ ప్లే చేయడం క్లియర్
- ప్లేజాబితాను క్లియర్ చేయండి
సైకిల్ రిపీట్ మోడ్
తొలగించు
పరికరం నుండి తొలగించండి
వివరాలు
+ మార్చు
ఆల్బమ్కు వెళ్లండి
ఆర్టిస్ట్ వద్దకు వెళ్ళండి
కళా ప్రక్రియకు వెళ్లండి
@@ -48,15 +49,12 @@
షఫుల్ మోడ్ను టోగుల్ చేయండి
అనుకూల
చేర్చు
- సాహిత్యాన్ని జోడించండి
- ఫోటోను జోడించండి
"పాటల క్రమంలో చేర్చు"
సమయ ఫ్రేమ్ సాహిత్యాన్ని జోడించండి
"ప్లే క్యూలో 1 శీర్షిక జోడించబడింది."
ప్లే క్యూలో %1$d శీర్షికలను చేర్చారు.
ఆల్బమ్
ఆల్బమ్ ఆర్టిస్ట్
- టైటిల్ లేదా ఆర్టిస్ట్ ఖాళీగా ఉంది.
ఆల్బమ్లు
ఎల్లప్పుడూ
హే ఈ చల్లని మ్యూజిక్ ప్లేయర్ను ఇక్కడ చూడండి: https://play.google.com/store/apps/details?id=%s
@@ -72,9 +70,6 @@
ఆడియో ఫోకస్ తిరస్కరించబడింది.
ధ్వని సెట్టింగులను మార్చండి మరియు ఈక్వలైజర్ నియంత్రణలను సర్దుబాటు చేయండి
దానంతట అదే
- బేస్ కలర్ థీమ్
- బాస్ బూస్ట్
- బయో
బయోగ్రఫీ
జస్ట్ బ్లాక్
బ్లాక్లిస్ట్
@@ -92,32 +87,23 @@
దయచేసి సమస్య శీర్షికను నమోదు చేయండి
దయచేసి మీ చెల్లుబాటు అయ్యే GitHub వినియోగదారు పేరును నమోదు చేయండి
అనుకోని తప్పు జరిగినది. క్షమించండి, మీరు ఈ బగ్ను కనుగొన్నారు, అది \"అనువర్తన డేటాను క్లియర్ చేయి\" క్రాష్ చేస్తూ ఉంటే లేదా ఇమెయిల్ పంపండి
- గిట్హబ్కు నివేదికను అప్లోడ్ చేస్తోంది…
GitHub ఖాతాను ఉపయోగించి పంపండి
ఇప్పుడే కొనండి
రద్దు చేయండి
కార్డ్
- సర్క్యులర్
రంగు కార్డు
కార్డ్
- రంగులరాట్నం
ఇప్పుడు ప్లే అవుతున్న తెరపై రంగులరాట్నం ప్రభావం
క్యాస్కేడింగ్
- తారాగణం
చేంజ్లాగ్
టెలిగ్రామ్ ఛానెల్లో చేంజ్లాగ్ నిర్వహించబడుతుంది
వృత్తం
సర్క్యులర్
క్లాసిక్
ప్రశాంతంగా
- అనువర్తన డేటాను క్లియర్ చేయండి
బ్లాక్లిస్ట్ క్లియర్
క్యూ క్లియర్
- ప్లేజాబితాను క్లియర్ చేయండి
- % 1 $ s ప్లేజాబితాను క్లియర్ చేయాలా? ఇది రద్దు చేయబడదు!]]>
- దగ్గరగా
రంగు
- రంగు
రంగులు
కంపోజర్
పరికర సమాచారం క్లిప్బోర్డ్కు కాపీ చేయబడింది
@@ -130,15 +116,22 @@
సభ్యులు మరియు సహాయకులు
ప్రస్తుతం% 2 by s ద్వారా% 1 $ s వింటున్నారు.
కైండా డార్క్
- సాహిత్యం లేదు
ప్లేజాబితాను తొలగించండి
- % 1 $ s ప్లేజాబితాను తొలగించాలా?]]>
+
+ % 1 $ s ప్లేజాబితాను తొలగించాలా?]]>
+
ప్లేజాబితాలను తొలగించండి
పాటను తొలగించండి
- % 1 $ s పాటను తొలగించాలా?]]>
+
+ % 1 $ s పాటను తొలగించాలా?]]>
+
పాటలను తొలగించండి
- % 1 $ d ప్లేజాబితాలను తొలగించాలా?]]>
- % 1 $ d పాటలను తొలగించాలా?]]>
+
+ % 1 $ d ప్లేజాబితాలను తొలగించాలా?]]>
+
+
+ % 1 $ d పాటలను తొలగించాలా?]]>
+
% 1 $ d పాటలు తొలగించబడ్డాయి.
పాటలను తొలగిస్తోంది
లోతు
@@ -147,17 +140,15 @@
ఆడియో సెట్టింగులను సవరించడానికి రెట్రో సంగీతాన్ని అనుమతించండి
రింగ్టోన్ సెట్ చేయండి
మీరు బ్లాక్లిస్ట్ క్లియర్ చేయాలనుకుంటున్నారా?
- % 1 $ s ను తొలగించాలనుకుంటున్నారా?]]>
+
+ % 1 $ s ను తొలగించాలనుకుంటున్నారా?]]>
+
దానం
నా పనికి డబ్బు సంపాదించడానికి నేను అర్హుడని మీరు అనుకుంటే, మీరు ఇక్కడ కొంత డబ్బును వదిలివేయవచ్చు
నన్ను కొనండి:
- Last.fm నుండి డౌన్లోడ్ చేయండి
డ్రైవ్ మోడ్
- మార్చు
- కవర్ను సవరించండి
ఖాళీ
సమం
- లోపం
ఎఫ్ ఎ క్యూ
ఇష్టమైన
చివరి పాటను ముగించండి
@@ -174,7 +165,6 @@
చూడండి మరియు అనుభూతి
కళలు
GitHub లో ప్రాజెక్ట్ను ఫోర్క్ చేయండి
- మీరు సహాయం కోసం అడగగల లేదా రెట్రో మ్యూజిక్ నవీకరణలను అనుసరించగల Google ప్లస్ సంఘంలో చేరండి
1
2
3
@@ -205,8 +195,6 @@
లేబుల్
చివరిగా జోడించబడింది
చివరి పాట
- కొంత సంగీతం ప్లే చేద్దాం
- గ్రంధాలయం
లైబ్రరీ వర్గాలు
లైసెన్సుల
Clearly White
@@ -215,16 +203,14 @@
ఉత్పత్తులను లోడ్ చేస్తోంది…
ప్రవేశించండి
సాహిత్యం
- భారతదేశంలో 🖤 తో తయారు చేయబడింది
+ భారతదేశంలో 🖤 తో తయారు చేయబడింది
మెటీరియల్
లోపం
అనుమతి లోపం
పేరు
ఎక్కువగా ఆడారు
నెవర్
- క్రొత్త బ్యానర్ ఫోటో
క్రొత్త ప్లేజాబితా
- క్రొత్త ప్రొఫైల్ ఫోటో
% s క్రొత్త ప్రారంభ డైరెక్టరీ.
తదుపరి పాట
మీకు ఆల్బమ్లు లేవు
@@ -240,8 +226,9 @@
మీకు పాటలు లేవు
సాధారణ
సాధారణ సాహిత్యం
- సాధారణ
- % s మీడియా స్టోర్లో జాబితా చేయబడలేదు.]]>
+
+ % s మీడియా స్టోర్లో జాబితా చేయబడలేదు.]]>
+
స్కాన్ చేయడానికి ఏమీ లేదు.
చూడటానికి ఏమీ లేదు
నోటిఫికేషన్
@@ -262,21 +249,16 @@
వ్యక్తిగతీకరించండి
మీరు ఇప్పుడు ఆడుతున్న మరియు UI నియంత్రణలను అనుకూలీకరించండి
స్థానిక నిల్వ నుండి ఎంచుకోండి
- చిత్రాన్ని ఎంచుకోండి
Pinterest
రెట్రో మ్యూజిక్ డిజైన్ ప్రేరణ కోసం Pinterest పేజీని అనుసరించండి
సాదా
ప్లే నోటిఫికేషన్ ఆట / పాజ్ మొదలైన వాటి కోసం చర్యలను అందిస్తుంది.
నోటిఫికేషన్ ప్లే అవుతోంది
- ఖాళీ ప్లేజాబితా
ప్లేజాబితా ఖాళీగా ఉంది
ప్లేజాబితా పేరు
ప్లేజాబితాలు
- ఆల్బమ్ వివరాల శైలి
బ్లర్ థీమ్స్ కోసం బ్లర్ మొత్తం వర్తించబడుతుంది, తక్కువ వేగంగా ఉంటుంది
అస్పష్టమైన మొత్తం
- దిగువ షీట్ డైలాగ్ మూలలను సర్దుబాటు చేయండి
- డైలాగ్ మూలలో
పాటలను పొడవు వడపోత
పాట వ్యవధిని ఫిల్టర్ చేయండి
ఆధునిక
@@ -293,8 +275,6 @@
సున్నాపై పాజ్ చేయండి
ఈ లక్షణాన్ని ప్రారంభించడం బ్యాటరీ జీవితాన్ని ప్రభావితం చేస్తుందని గుర్తుంచుకోండి
స్క్రీన్ను ఆన్లో ఉంచండి
- ఇప్పుడు ప్లే స్క్రీన్ యొక్క పారదర్శక నావిగేషన్ లేకుండా తెరవడానికి క్లిక్ చేయండి లేదా స్లైడ్ చేయండి
- క్లిక్ చేయండి లేదా స్లైడ్ చేయండి
మంచు పతనం ప్రభావం
ప్రస్తుతం ప్లే అవుతున్న పాట ఆల్బమ్ కవర్ను లాక్స్క్రీన్ వాల్పేపర్గా ఉపయోగించండి
సిస్టమ్ ధ్వనిని ప్లే చేసినప్పుడు లేదా నోటిఫికేషన్ వచ్చినప్పుడు వాల్యూమ్ను తగ్గించండి
@@ -305,21 +285,17 @@
క్లాసిక్ నోటిఫికేషన్ డిజైన్ను ఉపయోగించండి
ఇప్పుడు ప్లే అవుతున్న స్క్రీన్ నుండి ఆల్బమ్ ఆర్ట్ ప్రకారం నేపథ్యం మరియు నియంత్రణ బటన్ రంగులు మారుతాయి
అనువర్తన సత్వరమార్గాలను యాస రంగులో రంగులు వేస్తుంది. మీరు రంగును మార్చిన ప్రతిసారీ దయచేసి దీనిని అమలు చేయడానికి టోగుల్ చేయండి
- నావిగేషన్ బార్ను ప్రాథమిక రంగులో రంగులు వేస్తుంది
"ఆల్బమ్ కవర్ in u2019 యొక్క శక్తివంతమైన రంగులోని నోటిఫికేషన్ను రంగులు వేస్తుంది"
మెటీరియల్ డిజైన్ ప్రకారం డార్క్ మోడ్ రంగులలోని గైడ్ పంక్తులు డీసచురేటెడ్ అయి ఉండాలి
- ఆల్బమ్ లేదా ఆర్టిస్ట్ కవర్ నుండి చాలా ఆధిపత్య రంగు తీసుకోబడుతుంది
+ నోటిఫికేషన్పై క్లిక్ చేస్తే హోమ్ స్క్రీన్కు బదులుగా ఇప్పుడు ప్లే స్క్రీన్ కనిపిస్తుంది
మినీ ప్లేయర్ కోసం అదనపు నియంత్రణలను జోడించండి
ఫైల్ ఫార్మాట్, బిట్రేట్ మరియు ఫ్రీక్వెన్సీ వంటి అదనపు పాట సమాచారాన్ని చూపించు
"కొన్ని పరికరాల్లో ప్లేబ్యాక్ సమస్యలను కలిగిస్తుంది."
- శైలి టాబ్ను టోగుల్ చేయండి
హోమ్ బ్యానర్ శైలిని టోగుల్ చేయండి
ఆల్బమ్ కవర్ నాణ్యతను పెంచగలదు, కానీ నెమ్మదిగా చిత్రం లోడింగ్ సమయాలకు కారణమవుతుంది. మీకు తక్కువ రిజల్యూషన్ కళాకృతులతో సమస్యలు ఉంటే మాత్రమే దీన్ని ప్రారంభించండి
లైబ్రరీ వర్గాల దృశ్యమానత మరియు క్రమాన్ని కాన్ఫిగర్ చేయండి.
రెట్రో మ్యూజిక్ యొక్క అనుకూల లాక్స్క్రీన్ నియంత్రణలను ఉపయోగించండి
ఓపెన్ సోర్స్ సాఫ్ట్వేర్ కోసం లైసెన్స్ వివరాలు
- అనువర్తనం యొక్క అంచులను రౌండ్ చేయండి
- దిగువ నావిగేషన్ బార్ ట్యాబ్ల కోసం శీర్షికలను టోగుల్ చేయండి
లీనమయ్యే మోడ్
హెడ్ఫోన్లు కనెక్ట్ అయిన వెంటనే ప్లే చేయడం ప్రారంభించండి
కొత్త పాటల జాబితాను ప్లే చేసేటప్పుడు షఫుల్ మోడ్ ఆపివేయబడుతుంది
@@ -327,63 +303,54 @@
ఆల్బమ్ కవర్ చూపించు
ఆల్బమ్ కవర్ థీమ్
ఆల్బమ్ కవర్ దాటవేయి
- Album grid
రంగు అనువర్తన సత్వరమార్గాలు
- ఆర్టిస్ట్ గ్రిడ్
ఫోకస్ నష్టంపై వాల్యూమ్ను తగ్గించండి
ఆర్టిస్ట్ చిత్రాలను ఆటో-డౌన్లోడ్ చేయండి
బ్లాక్లిస్ట్
బ్లూటూత్ ప్లేబ్యాక్
బ్లర్ ఆల్బమ్ కవర్
- ఈక్వలైజర్ ఎంచుకోండి
క్లాసిక్ నోటిఫికేషన్ డిజైన్
అనుకూల రంగు
రంగు నోటిఫికేషన్
అసంతృప్త రంగు
+ ఇప్పుడు ప్లే స్క్రీన్ చూపించు
అదనపు నియంత్రణలు
పాట సమాచారం
గ్యాప్లెస్ ప్లేబ్యాక్
అనువర్తన థీమ్
- శైలి టాబ్ చూపించు
హోమ్ ఆర్టిస్ట్ గ్రిడ్
హోమ్ బ్యానర్
మీడియా స్టోర్ కవర్లను విస్మరించండి
చివరిగా జోడించిన ప్లేజాబితా విరామం
పూర్తి స్క్రీన్ నియంత్రణలు
- రంగు నావిగేషన్ బార్
ఇప్పుడు థీమ్ ప్లే అవుతోంది
ఓపెన్ సోర్స్ లైసెన్సులు
- కార్నర్ అంచులు
టాబ్ శీర్షికల మోడ్
రంగులరాట్నం ప్రభావం
- ఆధిపత్య రంగు
పూర్తి స్క్రీన్ అనువర్తనం
- టాబ్ శీర్షికలు
ఆటో ప్లే
షఫుల్ మోడ్
వాల్యూమ్ నియంత్రణలు
- వినియోగదారు సమాచారం
- ప్రాథమిక రంగు
- ప్రాధమిక థీమ్ రంగు, డిఫాల్ట్గా నీలం బూడిద రంగులో ఉంది, ఎందుకంటే ఇప్పుడు ముదురు రంగులతో పనిచేస్తుంది
ప్రో
బ్లాక్ థీమ్, ఇప్పుడు థీమ్స్ ప్లే, రంగులరాట్నం ప్రభావం మరియు మరిన్ని ..
ప్రొఫైల్
కొనుగోలు
- * కొనడానికి ముందు ఆలోచించండి, వాపసు కోసం అడగవద్దు.
క్యూ
అనువర్తనాన్ని రేట్ చేయండి
ఈ అనువర్తనాన్ని ఇష్టపడుతున్నారా? దీన్ని మరింత మెరుగ్గా ఎలా చేయవచ్చో గూగుల్ ప్లే స్టోర్లో మాకు తెలియజేయండి
ఇటీవలి ఆల్బమ్లు
ఇటీవలి కళాకారులు
తొలగించు
- బ్యానర్ ఫోటోను తొలగించండి
కవర్ తొలగించండి
బ్లాక్లిస్ట్ నుండి తొలగించండి
- ప్రొఫైల్ ఫోటోను తొలగించండి
ప్లేజాబితా నుండి పాటను తొలగించండి
- % 1 $ s పాటను ప్లేజాబితా నుండి తొలగించాలా?]]>
+
+ % 1 $ s పాటను ప్లేజాబితా నుండి తొలగించాలా?]]>
+
ప్లేజాబితా నుండి పాటలను తొలగించండి
- % 1 $ d పాటలను ప్లేజాబితా నుండి తొలగించాలా?]]>
+
+ % 1 $ d పాటలను ప్లేజాబితా నుండి తొలగించాలా?]]>
+
ప్లేజాబితా పేరు మార్చండి
సమస్యను నివేదించండి
బగ్ను నివేదించండి
@@ -393,7 +360,6 @@
మునుపటి కొనుగోలు పునరుద్ధరించబడింది. దయచేసి అన్ని లక్షణాలను ఉపయోగించడానికి అనువర్తనాన్ని పున art ప్రారంభించండి.
మునుపటి కొనుగోళ్లను పునరుద్ధరించారు.
కొనుగోలును పునరుద్ధరిస్తోంది…
- రెట్రో మ్యూజిక్ ఈక్వలైజర్
రెట్రో మ్యూజిక్ ప్లేయర్
రెట్రో మ్యూజిక్ ప్రో
ఫైల్ తొలగింపు విఫలమైంది:% s
@@ -418,22 +384,16 @@
మీడియాను స్కాన్ చేయండి
% 2 $ d ఫైళ్ళలో% 1 $ d స్కాన్ చేయబడింది.
Scrobbles
- మీ లైబ్రరీని శోధించండి…
అన్ని ఎంచుకోండి
- బ్యానర్ ఫోటోను ఎంచుకోండి
ఎంచుకున్న
- క్రాష్ లాగ్ పంపండి
సెట్
ఆర్టిస్ట్ చిత్రాన్ని సెట్ చేయండి
- ప్రొఫైల్ ఫోటోను సెట్ చేయండి
అనువర్తనాన్ని భాగస్వామ్యం చేయండి
కథలకు భాగస్వామ్యం చేయండి
షఫుల్
సాధారణ
స్లీప్ టైమర్ రద్దు చేయబడింది.
స్లీప్ టైమర్ ఇప్పటి నుండి% d నిమిషాలు సెట్ చేయబడింది.
- స్లయిడ్
- చిన్న ఆల్బమ్
సామాజిక
కథను భాగస్వామ్యం చేయండి
సాంగ్
@@ -453,11 +413,9 @@
స్టాక్
సంగీతం ఆడటం ప్రారంభించండి.
సలహాలు
- Just show your name on home screen
అభివృద్ధికి మద్దతు ఇవ్వండి
అన్లాక్ చేయడానికి స్వైప్ చేయండి
సమకాలీకరించిన సాహిత్యం
- సిస్టమ్ ఈక్వలైజర్
టెలిగ్రాం
దోషాలను చర్చించడానికి, సూచనలు చేయడానికి, ప్రదర్శించడానికి మరియు మరిన్ని చేయడానికి టెలిగ్రామ్ సమూహంలో చేరండి
@@ -467,14 +425,8 @@
ఈ వారం
ఈ సంవత్సరం
చిన్న
+ చిన్న కార్డు
శీర్షిక
- డాష్బోర్డ్
- శుభ మద్యాహ్నం
- మంచి రోజు
- శుభ సాయంత్రం
- శుభోదయం
- శుభ రాత్రి
- మీ పేరు ఏమిటి
నేడు
అగ్ర ఆల్బమ్లు
అగ్ర కళాకారులు
@@ -492,7 +444,6 @@
యూజర్ పేరు
సంస్కరణ
లంబ ఫ్లిప్
- Virtualizer
వాల్యూమ్
వెబ్ సెర్చ్
స్వాగతం
@@ -506,10 +457,4 @@
మీరు కనీసం ఒక వర్గాన్ని ఎంచుకోవాలి.
మీరు ఇష్యూ ట్రాకర్ వెబ్సైట్కు ఫార్వార్డ్ చేయబడతారు.
మీ ఖాతా డేటా ప్రామాణీకరణ కోసం మాత్రమే ఉపయోగించబడుతుంది.
- మొత్తం
- గమనిక (ఆప్షనల్)
- చెల్లింపు ప్రారంభించండి
- ఇప్పుడు ప్లే స్క్రీన్ చూపించు
- నోటిఫికేషన్పై క్లిక్ చేస్తే హోమ్ స్క్రీన్కు బదులుగా ఇప్పుడు ప్లే స్క్రీన్ కనిపిస్తుంది
- చిన్న కార్డు
diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml
index f48a24e78..e1fd719b1 100644
--- a/app/src/main/res/values-th-rTH/strings.xml
+++ b/app/src/main/res/values-th-rTH/strings.xml
@@ -334,7 +334,7 @@
ข้ามรูปปกอัลบัม
สีของทางลัดเข้าแอป
ลบเสียงเมื่อหลุดโฟกัส
- Fade Audio
+ Fade audio
ดาวน์โหลดรูปศิลปินอัตโนมัติ
รายชื่อแบล็คลิสต์
การเล่นด้วยอุปกรณ์ Bluetooth
diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml
index ed827ded6..ac2c9ef0d 100644
--- a/app/src/main/res/values-tr-rTR/strings.xml
+++ b/app/src/main/res/values-tr-rTR/strings.xml
@@ -84,7 +84,9 @@
Ses ayarlarını değiştirin ve ekolayzır kontrollerini ayarlayın
Otomatik
Backup and restore your settings, playlists
-
+
+
+
Yedeklemeler
Yaşam öyküsü
Sade Siyah
@@ -137,13 +139,21 @@
Custom Artist Images
Koyu
Çalma listesini sil
- %1$s silinsin mi?]]>
+
+ %1$s silinsin mi?]]>
+
Çalma listelerini sil
Şarkıyı sil
- %1$s adlı şarkı silinsin mi?]]>
+
+ %1$s adlı şarkı silinsin mi?]]>
+
Şarkıları sil
- %1$d çalma listeleri silinsin mi?]]>
- %1$d parçaları silinsin mi?]]>
+
+ %1$d çalma listeleri silinsin mi?]]>
+
+
+ %1$d parçaları silinsin mi?]]>
+
%1$d parça silindi.
Şarkıları silme
Derinlik
@@ -153,7 +163,9 @@
Zil sesini ayarla
Disc Number
Kara listeyi temizlemek istiyor musunuz?
- %1$s\'i kaldırmak istiyor musunuz?]]>
+
+ %1$s\'i kaldırmak istiyor musunuz?]]>
+
Bağış yapın
Çalışmalarımın karşılığı olarak para hakettiğimi düşünüyorsanız bana biraz bahşiş bırakabilirsiniz
Bağışlayacağınız tutar:
@@ -247,7 +259,9 @@
Hiç şarkınız bulunmuyor
Normal
Normal şarkı sözleri
- %s medya deposunda listelenmiyor.]]>
+
+ %s medya deposunda listelenmiyor.]]>
+
Yakın zamanda oynatılmadı
Aranacak herhangi bir şey yok.
Hiçbir şey yok
@@ -299,6 +313,7 @@
Bu özelliği etkinleştirmenin pil ömrünü etkileyebileceğini unutmayın.
Ekranı açık tut
Dil seçiniz
+ Kar yağışı efekti
Çalmakta olan şarkı albüm kapağını kilit ekranı duvar kağıdı olarak kullanın
Sanatçı kategorisinde Albüm Sanatçılarını göster
Sistem sesi çalındığında veya bir bildirim alındığında sesi kısın
@@ -382,9 +397,13 @@
Kapağı kaldır
Kara listeden kaldır
Şarkıyı oynatma listesinden kaldır
- %1$s adlı şarkı oynatma listesinden kaldırılsın mı?]]>
+
+ %1$s adlı şarkı oynatma listesinden kaldırılsın mı?]]>
+
Şarkıları oynatma listesinden kaldır
- %1$d adlı şarkılar oynatma listesinden kaldırılsın mı?]]>
+
+ %1$d adlı şarkılar oynatma listesinden kaldırılsın mı?]]>
+
Oynatma listesini yeniden adlandır
Sorun Bildir
Hata bildir
diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml
index 5adaab45f..6124b418c 100644
--- a/app/src/main/res/values-uk-rUA/strings.xml
+++ b/app/src/main/res/values-uk-rUA/strings.xml
@@ -83,12 +83,14 @@
Minimal Text
Виконавець
Виконавці
- Audio Fade Duration
+ Audio fade duration
В отриманні аудіофокусу відмовлено.
Змінити налаштування звуку та налаштувати параметри еквалайзера
Автоматично
Backup and restore your settings, playlists
-
+
+
+
Backups
Життєпис
Чорний
@@ -141,13 +143,21 @@
Custom Artist Images
Майже темна
Видалити список відтворення
- %1$s?]]>
+
+ %1$s?]]>
+
Видалити списки відтворення
Видалити пісню
- %1$s?]]>
+
+ %1$s?]]>
+
Видалити пісні
- %1$d списки відтворення?]]>
- %1$d пісень?]]>
+
+ %1$d списки відтворення?]]>
+
+
+ %1$d пісень?]]>
+
Видалено %1$d пісень.
Deleting Songs
Глибина
@@ -157,7 +167,9 @@
Встановити як мелодію дзвінка
Disc Number
Ви хочете очистити чорний список?
- %1$s з чорного списку?]]>
+
+ %1$s з чорного списку?]]>
+
Підтримати
Якщо ви вважаєте, що я заслуговую на оплату своєї праці, ви можете залишити гроші тут
Купіть мені:
@@ -251,7 +263,9 @@
У вас немає пісень
Нормальний
Стандартний текст
- %s не вказано в медіа сховищі.]]>
+
+ %s не вказано в медіа сховищі.]]>
+
Not recently played
Нічого сканувати.
Порожньо
@@ -303,10 +317,11 @@
Майте на увазі, що увімкнення цієї функції може вплинути на заряд акумулятора
Не вимикати екран
Обрати мову
+ Ефект снігопаду
Використовувати обкладинку альбому пісні як шпалери екрана блокування
Show Album Artists in the Artist category
Зменшення гучності при відтворенні системного звуку або сповіщення
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
Вміст тек чорного списку приховано з вашої бібліотеки.
Почати відтворення відразу при під\'єднанні до Bluetooth пристрою
Розмивати обкладинку альбому на екрані блокування. Можуть виникнути проблеми з сторонніми додатками та віджетами
@@ -327,8 +342,8 @@
Використовувати керування музикою на екрані блокування від Retro Music
Деталі ліцензії для програмного забезпечення з відкритим кодом
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Режим занурення
Почати відтворення відразу після підключення навушників
Випадковий режим вимкнеться при відтворенні нового списку пісень
@@ -340,7 +355,7 @@
Пропустити обкладинку альбому
Кольорові ярлики додатків
Зменшити гучність при сторонніх звуках
- Fade Audio
+ Fade audio
Автоматично завантажувати зображення виконавців
Чорний список
Відтворення Bluetooth
@@ -363,16 +378,16 @@
Повноекранне керування
Тема відтворення
Ліцензії з відкритим кодом
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Режим назв вкладок
Ефект Каруселі
На весь екран
Автоматичне відтворення
Режим перемішування
Регулювання гучності
- Whitelist Music
+ Whitelist music
Pro
Чорна тема, теми відтворення, ефект каруселі та інше..
Профіль
@@ -386,9 +401,13 @@
Видалити обкладинку
Видалити з чорного списку
Видалити пісню зі списку відтворення
- %1$s зі списку відтворення?]]>
+
+ %1$s зі списку відтворення?]]>
+
Видалити пісні зі списку відтворення
- %1$d пісень зі списку відтворення?]]>
+
+ %1$d пісень зі списку відтворення?]]>
+
Перейменувати список відтворення
Повідомити про помилку
Повідомити про помилку
diff --git a/app/src/main/res/values-v27/donottranslate.xml b/app/src/main/res/values-v27/donottranslate.xml
new file mode 100644
index 000000000..a762b2d86
--- /dev/null
+++ b/app/src/main/res/values-v27/donottranslate.xml
@@ -0,0 +1,5 @@
+
+
+ true
+ true
+
\ No newline at end of file
diff --git a/app/src/main/res/values-v27/styles_parents.xml b/app/src/main/res/values-v27/styles_parents.xml
index c80f0d996..398dc66ec 100644
--- a/app/src/main/res/values-v27/styles_parents.xml
+++ b/app/src/main/res/values-v27/styles_parents.xml
@@ -15,72 +15,42 @@
-
\ No newline at end of file
diff --git a/app/src/main/res/values-v31/colors.xml b/app/src/main/res/values-v31/colors.xml
new file mode 100644
index 000000000..8872a5a73
--- /dev/null
+++ b/app/src/main/res/values-v31/colors.xml
@@ -0,0 +1,5 @@
+
+
+ @android:color/system_accent1_900
+ @android:color/system_accent1_50
+
\ No newline at end of file
diff --git a/app/src/main/res/values-v31/donottranslate.xml b/app/src/main/res/values-v31/donottranslate.xml
index f39fb68c1..fb985e1c5 100644
--- a/app/src/main/res/values-v31/donottranslate.xml
+++ b/app/src/main/res/values-v31/donottranslate.xml
@@ -3,6 +3,7 @@
true
true
- false
0
+ false
+ false
\ No newline at end of file
diff --git a/app/src/main/res/values-v31/styles.xml b/app/src/main/res/values-v31/styles.xml
index b5c3c71ce..af723c1e8 100644
--- a/app/src/main/res/values-v31/styles.xml
+++ b/app/src/main/res/values-v31/styles.xml
@@ -1,20 +1,16 @@
-
-
diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml
index 7eaf75366..e6e1d7aaf 100644
--- a/app/src/main/res/values-vi-rVN/strings.xml
+++ b/app/src/main/res/values-vi-rVN/strings.xml
@@ -82,7 +82,9 @@
Thay đổi cài đặt âm thanh và điều chỉnh các điều khiển bộ chỉnh âm
Tự động
Backup and restore your settings, playlists
-
+
+
+
Backups
Tiểu sử
Đen hoàn toàn
@@ -136,13 +138,21 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
Custom Artist Images
Xám đen
Xoá danh sách phát
- %1$s?]]>
+
+ %1$s?]]>
+
Xoá danh sách phát
Xoá bài hát
- %1$s?]]>
+
+ %1$s?]]>
+
Xoá bài hát
- %1$d danh sách phát?]]>
- %1$d bài hát?]]>
+
+ %1$d danh sách phát?]]>
+
+
+ %1$d bài hát?]]>
+
Đã xoá %1$d bài hát.
Xóa Các bài hát
Độ sâu
@@ -152,7 +162,9 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
Cài làm nhạc chuông
Disc Number
Bạn có muốn xóa danh sách đen?
- %1$s khỏi danh sách đen?]]>
+
+ %1$s khỏi danh sách đen?]]>
+
Ủng hộ
Nếu bạn nghĩ rằng tôi xứng đáng được thưởng cho công việc này, bạn có thể để lại một số tiền ở đây. Cảm ơn bạn! :D
Mua cho tôi một:
@@ -246,7 +258,9 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
Không có bài hát
Tiêu chuẩn
Lời chuẩn
- %s không được liệt kê trong thư mục nhạc.]]>
+
+ %s không được liệt kê trong thư mục nhạc.]]>
+
Không phát gần đây
Không có gì để quét.
Không có gì để hiển thị
@@ -298,6 +312,7 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
Lưu ý rằng việc bật tính năng này có thể ảnh hưởng đến tuổi thọ pin
Giữ màn hình luôn bật
Chọn ngôn ngữ
+ Hiệu ứng tuyết rơi
Sử dụng ảnh bìa album bài hát đang phát làm ảnh nền màn hình khóa.
Hiển thị Album Nghệ sĩ trong danh mục Nghệ sĩ
Giảm âm lượng khi có âm báo hệ thống hoặc khi bạn có thông báo
@@ -381,9 +396,13 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\"
Xoá ảnh bìa
Xóa khỏi danh sách đen
Xoá bài hát khỏi danh sách phát
- %1$s khỏi danh sách phát?]]>
+
+ %1$s khỏi danh sách phát?]]>
+
Xoá bài hát khỏi danh sách phát
- %1$d bài hát khỏi danh sách phát?]]>
+
+ %1$d bài hát khỏi danh sách phát?]]>
+
Đổi tên danh sách phát
Báo cáo vấn đề
Báo cáo lỗi
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 3a2f33681..2a2706490 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -82,7 +82,9 @@
更改声音设置或调整均衡器
自动
备份、恢复您的设置和播放列表
-
+
+
+
备份
简介
纯黑
@@ -135,13 +137,21 @@
自定义艺术家图像
深色
删除播放列表
- %1$s 吗?]]>
+
+ %1$s 吗?]]>
+
删除播放列表
删除歌曲
- %1$s?]]>
+
+ %1$s?]]>
+
删除歌曲
- %1$d 个播放列表?]]>
- %1$d 首歌曲?]]>
+
+ %1$d 个播放列表?]]>
+
+
+ %1$d 首歌曲?]]>
+
已删除 %1$d 首歌曲。
正在删除歌曲
深度
@@ -151,7 +161,9 @@
设为铃声
盘片编号
您想清空黑名单吗?
- %1$s 吗?]]>
+
+ %1$s 吗?]]>
+
捐赠
如果您认为应用还不错,可以通过捐赠支持我们
用以下方式捐赠:
@@ -245,7 +257,9 @@
暂无歌曲
正常
正常歌词
- %s 未在媒体存储中列出。]]>
+
+ %s 未在媒体存储中列出。]]>
+
最近未播放歌曲
无可检索。
空空如也
@@ -297,6 +311,7 @@
请注意,启用此功能可能会降低电池续航时间
保持屏幕常亮
选择语言
+ 降雪效果
将正在播放的歌曲专辑封面设置为锁屏壁纸
在艺术家类别中显示专辑艺术家
当系统播放声音或收到通知时降低音量
@@ -380,9 +395,13 @@
移除封面
从黑名单中移除
从播放列表中删除歌曲
- %1$s?]]>
+
+ %1$s?]]>
+
从播放列表中删除歌曲
- %1$d 首歌曲?]]>
+
+ %1$d 首歌曲?]]>
+
重命名播放列表
报告问题
报告错误
diff --git a/app/src/main/res/master/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml
similarity index 86%
rename from app/src/main/res/master/values-zh-rHK/strings.xml
rename to app/src/main/res/values-zh-rHK/strings.xml
index 6223e22e9..1228ec183 100644
--- a/app/src/main/res/master/values-zh-rHK/strings.xml
+++ b/app/src/main/res/values-zh-rHK/strings.xml
@@ -8,7 +8,6 @@
加入至播放列表
加入至播放清單
清除播放列表
- 清除播放清單
循環播放模式
刪除
由裝置記憶體刪除
@@ -48,15 +47,12 @@
切換隨機播放模式
自適應
增加
- 增加歌詞
- 增加\n相片
"加入至播放清單"
增加時間同步歌詞
"已經將1首歌曲新增至播放列表。"
已經將 %1$d 首歌曲新增至播放列表。
專輯
專輯歌手
- 標題或歌手一欄是空白的。
專輯
經常
哈囉!來看看這個很有型的播放器吧: https://play.google.com/store/apps/details?id=%s
@@ -72,9 +68,6 @@
無法找到音頻焦點。
更改音頻設定及調整等化器
自動
- 基色主題
- 低音增強
- 個人資料
演出者資料
純黑
黑名單
@@ -92,32 +85,23 @@
請輸入問題標題
請輸入您的有效GitHub用戶名稱
發生未預期的錯誤。真抱歉您發現了這個bug,如果一直死機請嘗試\"清除程式數據\",或者傳送電郵給我們
- 正在上傳報告至GitHub...
使用Github帳戶傳送
立即購買
取消
卡片
- 圓盤
彩色卡片
卡片
- 轉盤
在現在播放的轉盤效果
階層式
- 投放
版本最新動向
在Telegram頻道取得更新動向
圓形
圓盤
基本
清除
- 清除程式數據
清除黑名單
清除列表
- 清除播放清單
- %1$s播放清單嗎?此動作將無法復原!]]>
- 關閉
彩色
- 彩色
色彩
作曲者
已複製裝置內容到剪貼簿
@@ -130,7 +114,6 @@
成員和貢獻者
我在聽由 %2$s 唱的 %1$s 。
暗黑
- 沒有歌詞
刪除播放清單
%1$s播放清單嗎?]]>
刪除多個播放清單
@@ -151,13 +134,9 @@
捐款
若果您覺得我的開發工作值得回報,可以捐助幾元給我
給我買個:
- 由Last.fm下載
駕駛模式
- 編輯
- 編輯專輯圖片
空白
等化器
- 錯誤
常見問題
我的最愛
最後一首已經結束播放
@@ -174,7 +153,6 @@
類型
類型
在Github參與專案
- 加入Google+社交圈,在那裡您可以提出疑問或追蹤Retro Music的更新
1
2
3
@@ -205,8 +183,6 @@
已標記
最近新增
最後一首
- 讓我們播放音樂吧
- 媒體庫
類別庫
許可證
淺白色
@@ -222,9 +198,7 @@
名字
最常播放
永不
- 新橫幅圖片
新播放清單
- 新個人資料圖片
最新的主目錄是%s。
下一首
沒有專輯
@@ -240,7 +214,6 @@
沒有歌曲
常用
正常歌詞
- 常用
%s不在媒體庫。]]>
沒有項目可以掃描。
沒有什麼可以看的
@@ -262,21 +235,16 @@
個人化
個人化現在播放及用戶界面
由裝置儲存空間選擇
- 選擇圖片
Pinterest
加入我們的Pinterest來知道更多Retro Music的設計靈感
單色
播放通知欄包含了播放/暫停等動作。
播放通知欄
- 空白播放清單
空白播放清單
播放清單名稱
播放清單
- 專輯詳細樣式
給模糊模式主題的值,每值愈低就愈快
模糊值
- 調整底部對話框圓角
- 對話框圓角
以歌曲長度過濾歌曲
過濾歌曲長度
進階
@@ -293,8 +261,6 @@
無音量時暫停
請記住當您啟用此選項後或會影響電池壽命
螢幕保持開啟
- 點擊或滑動開啟無透明現在播放導航欄
- 點擊或滑動
雪花效果
使用現在播放歌曲的專輯圖片來用作鎖定畫面背景圖片
當播放系統聲音或收到通知時降低音量
@@ -305,21 +271,16 @@
使用基本的通知欄設計
背景及控制按鈕色彩根據現在播放中的專輯圖片而轉變
將重色設為程式捷徑色彩。每次更改色彩後請切換此選項來生效
- 設定導航欄色彩為主色調
"\u5f9e\u5c08\u8f2f\u5716\u7247\u4e2d\u6700\u9bae\u660e\u7684\u8272\u5f69\u4f86\u6311\u9078\u901a\u77e5\u6b04\u8272\u5f69"
根據物質設計指南(Material Design guide),在暗黑模式下的顏色應完全去飽和化
- 大多數主色會從專輯或歌手圖片中挑選
在迷你播放器增加控制項
顯示更多歌曲資料,如檔案格式、位元率及頻率
"或會引致某些裝置播放功能無法正常運作。"
- 切換類型標籤
切換首頁橫幅樣式
可以提升專輯圖片質素,但這會引致加長圖片載入時間。建議只有當您的載入專輯圖片時質素較差時啟用
修改類別的可視性及順序。
使用Retro Music自訂鎖定螢幕控制
開放軟件特許條款內容
- 將程式的邊角圓角化
- 切換底部導航欄的標題標籤
全螢幕模式
當耳機連接後開始立即播放
播放新清單時會關閉隨機播放模式
@@ -327,15 +288,12 @@
顯示專輯圖片
專輯圖片主題
專輯圖片轉場
- 專輯網格
彩色化程式捷徑
- 歌手網格
失去音頻焦點時降低音量
自動下載歌手相片
黑名單
藍牙播放
模糊化專輯圖片
- 選擇等化器
基本通知欄設計
自適應色彩
彩色通知欄
@@ -344,42 +302,31 @@
歌曲內容
無縫播放
應用主題
- 顯示類型標籤
首頁歌手網格
首頁橫幅
忽略音樂檔內含的專輯圖片
最近新增播放清單間隔
全螢幕控制
- 彩色導航欄
現在播放介面主題
開放源碼認證
- 螢幕圓角
標題標籤模式
轉盤效果
- 主色
全螢幕程式
- 標題標籤
自動播放
隨機模式
音量控制
- 使用者資料
- 原色
- 主原色預設為灰藍色,現在適用於深色色彩
Pro
現時播放主題、轉盤效果,還有更多...
個人資料
購買
- *購買前要三思,切勿要求退款
播放列表
為這個App評分
喜歡這個App嗎?請讓我們知道如何提供更好的體驗
近期專輯
近期歌手
移除
- 移除橫幅圖片
移除專輯圖片
由黑名單中移除
- 移除個人資料圖片
將歌曲由播放清單移除
%1$s 歌曲由播放清單移除嗎?]]>
將多首歌曲由播放清單移除
@@ -393,7 +340,6 @@
已恢復上次購買狀態。請重新啟動程式來應用所有功能。
回復購買狀態
正在恢復購買狀態...
- Retro等化器
Retro Music Player
Retro Music Pro
刪除檔案失敗: %s
@@ -418,22 +364,16 @@
掃描媒體
成功掃描 %2$d 項目 中的 %1$d 項目。
塗鴉
- 搜尋媒體庫...
選擇全部
- 選擇橫幅圖片
已選
- 傳送報告
設定
設定歌手相片
- 設定個人資料圖片
分享程式
分享到故事
隨機播放
簡單
休眠計時器已經取消。
休眠計時器從現在開始 %d 分鐘後停止播放。
- 滑動
- 迷你專輯
社交
分享故事
歌曲
@@ -453,11 +393,9 @@
堆疊
開始播放音樂。
建議
- 只會在首頁顯示您的名字
開發支援
滑動螢幕以解鎖
同步歌詞
- 系統等化器
Telegram
加入Telegram群組,討論程式錯誤、給予建議、炫耀一下,還有更多
@@ -468,13 +406,6 @@
這年
迷你
標題
- 通知板
- 您好
- 今天真美好
- 晚安
- 早晨
- 晚安
- 您的名字是...
今天
專輯榜
歌手榜
@@ -492,7 +423,6 @@
用戶名稱
版本
垂直翻轉式
- 音樂效果
音量
網路搜尋
歡迎,
@@ -506,9 +436,6 @@
您必須選擇最少一項類別。
您將會轉到問題跟蹤網站。
您的帳戶只會用於認證用途。
- 數量
- 註解(可選)
- 開始付款
顯示現在播放
點擊現在播放將顯示現在播放而非主頁
迷你卡片
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 85e626518..be012c33e 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -300,7 +300,7 @@
將播放中歌曲的專輯封面設為鎖定螢幕背景。
Show Album Artists in the Artist category
通知鈴聲、導航語音等。
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
在鎖定畫面上模糊化專輯圖片。第三方程式和小工具可能不正常運作。
@@ -321,8 +321,8 @@
Use Retro Music\'s custom lockscreen controls
開放原始碼軟體的授權詳細資料
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
沉浸模式
Start playing immediately after headphones are connected
選擇新樂曲清單時,關閉隨機模式
@@ -334,7 +334,7 @@
Album cover skip
彩色的應用快捷方式
在焦點音訊響起時降低音量
- Fade Audio
+ Fade audio
自動下載演唱者圖片
黑名單
Bluetooth playback
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 7c76d40ab..cf30c509f 100755
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -1,6 +1,6 @@
-
+
- @string/normal
- @string/cascading
- @string/depth
@@ -20,6 +20,16 @@
- 6
+
+ - 0
+ - 1
+
+
+
+ - @string/replace_cover
+ - @string/over_cover
+
+
- 0
- 1
@@ -40,6 +50,16 @@
- @string/unlabeled
+
+ - @string/collapsing
+ - @string/simple
+
+
+
+ - 0
+ - 1
+
+
- @string/light_theme_name
- @string/dark_theme_name
@@ -193,4 +213,5 @@
- ur
- vi
+ Collapsing
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 9d64c9075..2615a4a29 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -35,4 +35,7 @@
#000000
#FFFFFF
+ @color/lighterColorSurface
+ @color/md_indigo_A400
+ @color/lighterColorSurface
diff --git a/app/src/main/res/values/colors_md3.xml b/app/src/main/res/values/colors_md3.xml
index bedef30c0..471f25f8a 100644
--- a/app/src/main/res/values/colors_md3.xml
+++ b/app/src/main/res/values/colors_md3.xml
@@ -1,6 +1,6 @@
- @color/md_grey_700
+ @color/md_grey_500
@color/md_grey_500
@color/md_black_1000
@color/elevationOverlayLight
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index bf5ba4946..e9fb9f717 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -39,8 +39,13 @@
2dp
12dp
- 96dp
- 80dp
+ 90dp
+ 70dp
+
+ 180dp
+ 100dp
+ 250dp
+ 250dp
32dp
8dp
diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml
index 893f869f9..52cf6b212 100755
--- a/app/src/main/res/values/donottranslate.xml
+++ b/app/src/main/res/values/donottranslate.xml
@@ -27,7 +27,9 @@
false
false
- true
2
true
+
+ false
+ false
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6afb0f685..eaf28d29f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -73,13 +73,14 @@
Top Tracks
Full Image
Card
+ @string/circle
Classic
MD3
Small
Minimal Text
Artist
Artists
- Audio Fade Duration
+ Audio fade duration
Audio focus denied.
Change the sound settings and adjust the equalizer controls
Auto
@@ -243,6 +244,7 @@
Name
Most played
Never
+ New Music Mix
New playlist
%s is the new start directory.
Next Song
@@ -275,6 +277,7 @@
Only on Wi-Fi
Advanced testing features
Other
+ Over Cover
Password
Past 3 months
Paste Lyrics Here
@@ -290,6 +293,9 @@
Pinterest
Follow Pinterest page for Retro Music design inspiration
Plain
+ Pitch
+ Playback Settings
+ Playback Speed
The playing notification provides actions for play/pause etc.
Playing notification
Playlist is empty
@@ -314,10 +320,11 @@
Keep in mind that enabling this feature may affect battery life
Keep the screen on
Select language
+ Snow fall effect
Use the currently playing song album cover as the lockscreen wallpaper
Show Album Artists in the Artist category
Lower the volume when a system sound is played or a notification is received
- Fade Audio when Song is Paused or Played
+ Fade audio when song is paused or played
The content of blacklisted folders is hidden from your library.
Start playing as soon as connected to bluetooth device
Blur the album cover on the lockscreen. Can cause problems with third party apps and widgets
@@ -338,28 +345,32 @@
Use Retro Music\'s custom lockscreen controls
License details for open source software
Navigate to the last used tab on start
- Display Synced Lyrics over Album Cover
- Show New Music Mix on Homescreen
+ Display synced lyrics over album cover
+ Show New Music Mix on homescreen
Immersive mode
Start playing immediately after headphones are connected
Shuffle mode will turn off when playing a new list of songs
If enough space is available, show volume controls in the now playing screen
+ Extract accent color from wallpaper
Only show music from /Music Folder
Show album cover
Navigate by Album Artist
Album cover theme
Album cover skip
Colored app shortcuts
+ App bar mode
Reduce volume on focus loss
- Fade Audio
+ Fade audio
Auto-download artist images
Blacklist
Bluetooth playback
Blur album cover
+ Circular play button
Classic notification design
Adaptive color
Colored notification
Crossfade (Beta)
+ Use Manrope font
Desaturated color
Show now playing screen
Extra controls
@@ -372,18 +383,21 @@
Ignore Media Store covers
Last added playlist interval
Fullscreen controls
+ Keep screen on when showing lyrics
+ Lyrics type
Now playing theme
Open source licences
- Remember Last Tab
- Show Lyrics
- Show Suggestions
+ Remember last tab
+ Show lyrics
+ Show suggestions
Tab titles mode
Carousel effect
Fullscreen app
Auto-play
Shuffle mode
Volume controls
- Whitelist Music
+ Wallpaper accent color
+ Whitelist music
Pro
Black theme, Now playing themes, Carousel effect and more..
Profile
@@ -405,6 +419,7 @@
%1$d songs from the playlist?]]>
Rename playlist
+ Replace Cover
Report an issue
Report bug
Reset
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index f137c7ce9..5a11aca98 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -245,4 +245,17 @@
- @null
- @color/transparent
+
+
+
+
+
+
diff --git a/app/src/main/res/values/styles_parents.xml b/app/src/main/res/values/styles_parents.xml
index 6229dedbb..18c71ebb8 100644
--- a/app/src/main/res/values/styles_parents.xml
+++ b/app/src/main/res/values/styles_parents.xml
@@ -1,12 +1,7 @@
-
-
@@ -107,5 +74,4 @@
- wrap_content
- wrap_content
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_big_info.xml b/app/src/main/res/xml/app_widget_big_info.xml
index eff87d315..3f37d6309 100755
--- a/app/src/main/res/xml/app_widget_big_info.xml
+++ b/app/src/main/res/xml/app_widget_big_info.xml
@@ -1,11 +1,9 @@
\ No newline at end of file
+ android:widgetCategory="keyguard|home_screen" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_card_info.xml b/app/src/main/res/xml/app_widget_card_info.xml
index fc47e387d..7298e5eac 100755
--- a/app/src/main/res/xml/app_widget_card_info.xml
+++ b/app/src/main/res/xml/app_widget_card_info.xml
@@ -1,11 +1,9 @@
\ No newline at end of file
+ android:widgetCategory="keyguard|home_screen" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_circle_info.xml b/app/src/main/res/xml/app_widget_circle_info.xml
new file mode 100644
index 000000000..e1b5cf6ed
--- /dev/null
+++ b/app/src/main/res/xml/app_widget_circle_info.xml
@@ -0,0 +1,14 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_classic_info.xml b/app/src/main/res/xml/app_widget_classic_info.xml
index 6aff4feba..70eb5376f 100755
--- a/app/src/main/res/xml/app_widget_classic_info.xml
+++ b/app/src/main/res/xml/app_widget_classic_info.xml
@@ -1,11 +1,9 @@
\ No newline at end of file
+ android:widgetCategory="keyguard|home_screen" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_md3_info.xml b/app/src/main/res/xml/app_widget_md3_info.xml
index 6aff4feba..70eb5376f 100644
--- a/app/src/main/res/xml/app_widget_md3_info.xml
+++ b/app/src/main/res/xml/app_widget_md3_info.xml
@@ -1,11 +1,9 @@
\ No newline at end of file
+ android:widgetCategory="keyguard|home_screen" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/app_widget_small_info.xml b/app/src/main/res/xml/app_widget_small_info.xml
index e89998319..0665451f5 100644
--- a/app/src/main/res/xml/app_widget_small_info.xml
+++ b/app/src/main/res/xml/app_widget_small_info.xml
@@ -1,11 +1,9 @@
\ No newline at end of file
+ android:widgetCategory="keyguard|home_screen" />
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
index 4b67a2825..a075b334a 100755
--- a/app/src/main/res/xml/pref_general.xml
+++ b/app/src/main/res/xml/pref_general.xml
@@ -30,6 +30,12 @@
android:title="@string/pref_title_md3"
app:isPreferenceVisible="@bool/md3_available" />
+
+
+
+
diff --git a/app/src/main/res/xml/pref_now_playing_screen.xml b/app/src/main/res/xml/pref_now_playing_screen.xml
index f1c84acad..c78344fb2 100644
--- a/app/src/main/res/xml/pref_now_playing_screen.xml
+++ b/app/src/main/res/xml/pref_now_playing_screen.xml
@@ -19,7 +19,28 @@
android:defaultValue="false"
android:key="snowfall"
android:layout="@layout/list_item_view_switch_no_title"
- android:title="Snow Fall Effect (Only on Normal theme)" />
+ android:title="@string/pref_snow_fall_title" />
+
+
+
+
+
+
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_ui.xml b/app/src/main/res/xml/pref_ui.xml
index fba7e68c8..be466eb0f 100644
--- a/app/src/main/res/xml/pref_ui.xml
+++ b/app/src/main/res/xml/pref_ui.xml
@@ -69,6 +69,16 @@
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="@string/pref_title_tab_text_mode" />
+
+
since
}
- @Suppress("Deprecation")
- fun setLightStatusBar(activity: Activity, enabled: Boolean) {
- if (VersionUtils.hasMarshmallow()) {
- val decorView = activity.window.decorView
- val systemUiVisibility = decorView.systemUiVisibility
- if (enabled) {
- decorView.systemUiVisibility =
- systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
- } else {
- decorView.systemUiVisibility =
- systemUiVisibility and View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR.inv()
- }
- }
- }
-
- @Suppress("Deprecation")
- fun setLightNavigationBar(activity: Activity, enabled: Boolean) {
- if (VersionUtils.hasOreo()) {
- val decorView = activity.window.decorView
- var systemUiVisibility = decorView.systemUiVisibility
- systemUiVisibility = if (enabled) {
- systemUiVisibility or SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
- } else {
- systemUiVisibility and SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR.inv()
- }
- decorView.systemUiVisibility = systemUiVisibility
-
- }
- }
-
- fun setLightNavigationBarAuto(activity: Activity, bgColor: Int) {
- setLightNavigationBar(activity, ColorUtil.isColorLight(bgColor))
- }
-
- fun setNavigationBarColor(activity: Activity, color: Int) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- activity.window.navigationBarColor = color
- } else {
- activity.window.navigationBarColor = ColorUtil.darkenColor(color)
- }
- setLightNavigationBarAuto(activity, color)
- }
-
- fun setActivityToolbarColorAuto(activity: Activity, toolbar: Toolbar?) {
- setActivityToolbarColor(activity, toolbar, ThemeStore.primaryColor(activity))
- }
-
- private fun setActivityToolbarColor(
- activity: Activity, toolbar: Toolbar?,
- color: Int
- ) {
- if (toolbar == null) {
- return
- }
- toolbar.setBackgroundColor(color)
- ToolbarContentTintHelper.setToolbarContentColorBasedOnToolbarColor(
- activity,
- toolbar,
- color
- )
- }
-
- fun setTaskDescriptionColorAuto(activity: Activity) {
- setTaskDescriptionColor(activity, ThemeStore.primaryColor(activity))
- }
-
- fun setTaskDescriptionColor(activity: Activity, @ColorInt color: Int) {
- var colorFinal = color
- // Task description requires fully opaque color
- colorFinal = ColorUtil.stripAlpha(colorFinal)
- // Sets color of entry in the system recents page
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- activity.setTaskDescription(
- ActivityManager.TaskDescription(
- activity.title as String?,
- -1,
- colorFinal
- )
- )
- } else {
- activity.setTaskDescription(ActivityManager.TaskDescription(activity.title as String?))
- }
- }
-
fun setTint(view: View, @ColorInt color: Int) {
TintHelper.setTintAuto(view, color, false)
}
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStore.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStore.kt
index f64b15280..542396ff2 100644
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStore.kt
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStore.kt
@@ -59,6 +59,11 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
return this
}
+ override fun wallpaperColor(color: Int): ThemeStore {
+ mEditor.putInt(ThemeStorePrefKeys.KEY_WALLPAPER_COLOR, color)
+ return this
+ }
+
override fun accentColorRes(@ColorRes colorRes: Int): ThemeStore {
return accentColor(ContextCompat.getColor(mContext, colorRes))
}
@@ -211,16 +216,29 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
return ContextCompat.getColor(context, R.color.m3_accent_color)
}
val desaturatedColor = prefs(context).getBoolean("desaturated_color", false)
- val color = prefs(context).getInt(
- ThemeStorePrefKeys.KEY_ACCENT_COLOR,
- resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238"))
- )
+ val color = if (isWallpaperAccentEnabled(context)) {
+ wallpaperColor(context)
+ } else {
+ prefs(context).getInt(
+ ThemeStorePrefKeys.KEY_ACCENT_COLOR,
+ resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238"))
+ )
+ }
return if (isWindowBackgroundDark(context) && desaturatedColor) ColorUtil.desaturateColor(
color,
0.4f
) else color
}
+ @CheckResult
+ @ColorInt
+ fun wallpaperColor(context: Context): Int {
+ return prefs(context).getInt(
+ ThemeStorePrefKeys.KEY_WALLPAPER_COLOR,
+ resolveColor(context, R.attr.colorAccent, Color.parseColor("#263238"))
+ )
+ }
+
@CheckResult
@ColorInt
fun navigationBarColor(context: Context): Int {
@@ -307,7 +325,13 @@ private constructor(private val mContext: Context) : ThemeStorePrefKeys, ThemeSt
}
private fun isMD3Enabled(context: Context): Boolean {
- return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(ThemeStorePrefKeys.KEY_MATERIAL_YOU, VersionUtils.hasS())
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean(ThemeStorePrefKeys.KEY_MATERIAL_YOU, VersionUtils.hasS())
+ }
+
+ private fun isWallpaperAccentEnabled(context: Context): Boolean {
+ return PreferenceManager.getDefaultSharedPreferences(context)
+ .getBoolean("wallpaper_accent", VersionUtils.hasOreoMR1() && !VersionUtils.hasS())
}
}
}
\ No newline at end of file
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStoreInterface.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStoreInterface.kt
index cbcb41f04..700fe398a 100755
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStoreInterface.kt
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStoreInterface.kt
@@ -34,6 +34,8 @@ internal interface ThemeStoreInterface {
fun accentColor(@ColorInt color: Int): ThemeStore
+ fun wallpaperColor(@ColorInt color: Int): ThemeStore
+
fun accentColorRes(@ColorRes colorRes: Int): ThemeStore
fun accentColorAttr(@AttrRes colorAttr: Int): ThemeStore
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStorePrefKeys.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStorePrefKeys.kt
index 8b6c8aeba..75825f074 100755
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStorePrefKeys.kt
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ThemeStorePrefKeys.kt
@@ -29,5 +29,6 @@ internal interface ThemeStorePrefKeys {
const val KEY_AUTO_GENERATE_PRIMARYDARK = "auto_generate_primarydark"
const val KEY_MATERIAL_YOU = "material_you"
+ const val KEY_WALLPAPER_COLOR = "wallpaper_color"
}
}
\ No newline at end of file
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt
index 3c1c240a1..4291efa94 100755
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ATHUtil.kt
@@ -1,8 +1,10 @@
package code.name.monkey.appthemehelper.util
import android.content.Context
+import android.graphics.Color
import androidx.annotation.AttrRes
import androidx.core.content.res.use
+import java.lang.Exception
/**
* @author Aidan Follestad (afollestad)
@@ -16,7 +18,11 @@ object ATHUtil {
@JvmOverloads
fun resolveColor(context: Context, @AttrRes attr: Int, fallback: Int = 0): Int {
context.theme.obtainStyledAttributes(intArrayOf(attr)).use {
- return it.getColor(0, fallback)
+ return try {
+ it.getColor(0, fallback);
+ } catch (e: Exception) {
+ Color.BLACK
+ }
}
}
}
\ No newline at end of file
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
index 8c266b65a..62ffd2a47 100755
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/ToolbarContentTintHelper.java
@@ -341,7 +341,7 @@ public final class ToolbarContentTintHelper {
.setSubtitleTextColor(ATHUtil.INSTANCE.resolveColor(activity, android.R.attr.textColorSecondary));
//Step 4: Changing the color of the Overflow Menu icon.
- setOverflowButtonColor(activity, toolbarView, toolbarIconsColor);
+ setOverflowButtonColor(toolbarView, toolbarIconsColor);
}
}
@@ -530,6 +530,16 @@ public final class ToolbarContentTintHelper {
v.getViewTreeObserver().removeOnGlobalLayoutListener(listener);
}
+ private static void setOverflowButtonColor(final Toolbar toolbar, final int color) {
+ Drawable drawable = toolbar.getOverflowIcon();
+ if (drawable != null) {
+ // If we don't mutate the drawable, then all drawables with this id will have the ColorFilter
+ drawable.mutate();
+ drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
+ }
+
+ }
+
private static void setOverflowButtonColor(final Activity activity, final Toolbar toolbar,
final int toolbarIconsColor) {
final ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt
index a9a0d34d7..dabc64eca 100644
--- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt
+++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt
@@ -35,6 +35,13 @@ object VersionUtils {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
}
+ /**
+ * @return true if device is running API >= 27
+ */
+ fun hasOreoMR1(): Boolean {
+ return Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1
+ }
+
/**
* @return true if device is running API >= 28
*/
diff --git a/build.gradle b/build.gradle
index 764e4911b..943652c2f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,13 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
- ext.kotlin_version = '1.6.10'
- ext.navigation_version = '2.4.0-rc01'
- ext.mdc_version = '1.5.0-rc01'
- ext.preference_version = '1.2.0-rc01'
-
+ ext {
+ kotlin_version = '1.6.10'
+ navigation_version = '2.4.0-rc01'
+ mdc_version = '1.5.0'
+ preference_version = '1.2.0-rc01'
+ appcompat_version = '1.4.1'
+ }
repositories {
mavenCentral()
@@ -17,9 +19,6 @@ buildscript {
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigation_version"
}
}
-plugins {
- id "com.github.ben-manes.versions" version "0.39.0"
-}
task clean(type: Delete) {
delete rootProject.buildDir
}
\ No newline at end of file