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 716fef95c..e9aa2a3b3 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){ + if (BuildConfig.VERSION_CODE > PreferenceUtil.lastVersion && !BuildConfig.DEBUG){ NavigationUtil.gotoWhatNews(this) } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt index 0a6b950e7..590cb7778 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/backup/BackupViewModel.kt @@ -29,7 +29,8 @@ class BackupViewModel : ViewModel() { suspend fun restoreBackup(activity: Activity, inputStream: InputStream?, contents: List) { BackupHelper.restoreBackup(activity, inputStream, contents) - if (contents.contains(BackupContent.SETTINGS)) { + if (contents.contains(BackupContent.SETTINGS) or contents.contains(BackupContent.CUSTOM_ARTIST_IMAGES)) { + // We have to restart App when Preferences i.e. Settings or Artist Images are to be restored withContext(Dispatchers.Main) { val intent = Intent( activity, 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 5ee4b8ed5..af92c73e2 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 @@ -3,9 +3,11 @@ package code.name.monkey.retromusic.fragments.backup import android.net.Uri import android.os.Bundle import android.provider.MediaStore +import android.view.ViewGroup import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate +import androidx.core.view.updateLayoutParams import androidx.lifecycle.lifecycleScope import code.name.monkey.retromusic.databinding.ActivityRestoreBinding import code.name.monkey.retromusic.helper.BackupContent @@ -27,6 +29,7 @@ class RestoreActivity : AppCompatActivity() { super.onCreate(savedInstanceState) binding = ActivityRestoreBinding.inflate(layoutInflater) setContentView(binding.root) + setWidth() val backupUri = intent?.data binding.backupName.setText(getFileName(backupUri)) binding.cancelButton.setOnClickListener { @@ -35,7 +38,6 @@ class RestoreActivity : AppCompatActivity() { binding.restoreButton.setOnClickListener { val backupContents = mutableListOf() if (binding.checkSettings.isChecked) backupContents.add(SETTINGS) - if (binding.checkQueue.isChecked) backupContents.add(QUEUE) if (binding.checkDatabases.isChecked) backupContents.add(PLAYLISTS) if (binding.checkArtistImages.isChecked) backupContents.add(CUSTOM_ARTIST_IMAGES) if (binding.checkUserImages.isChecked) backupContents.add(USER_IMAGES) @@ -82,4 +84,9 @@ class RestoreActivity : AppCompatActivity() { } return "Backup" } + + private fun setWidth() { + val width = resources.displayMetrics.widthPixels * 0.8 + binding.root.updateLayoutParams { this.width = width.toInt() } + } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt index a1d749fd6..16cc7268f 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt @@ -29,6 +29,7 @@ import android.widget.Toast import androidx.core.view.doOnPreDraw import androidx.core.view.updateLayoutParams import androidx.fragment.app.Fragment +import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import code.name.monkey.retromusic.Constants.USER_BANNER import code.name.monkey.retromusic.Constants.USER_PROFILE @@ -50,7 +51,6 @@ import com.bumptech.glide.request.target.Target import com.github.dhaval2404.imagepicker.ImagePicker import com.github.dhaval2404.imagepicker.constant.ImageProvider import com.google.android.material.transition.MaterialContainerTransform -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -202,15 +202,15 @@ class UserInfoFragment : Fragment() { } private fun saveImage(bitmap: Bitmap, fileName: String) { - CoroutineScope(Dispatchers.IO).launch { + lifecycleScope.launch(Dispatchers.IO) { val appDir = requireContext().filesDir val file = File(appDir, fileName) var successful = false runCatching { - val os = BufferedOutputStream(FileOutputStream(file)) - successful = ImageUtil.resizeBitmap(bitmap, 2048) - .compress(Bitmap.CompressFormat.WEBP, 100, os) - withContext(Dispatchers.IO) { os.close() } + BufferedOutputStream(FileOutputStream(file)).use { + successful = ImageUtil.resizeBitmap(bitmap, 2048) + .compress(Bitmap.CompressFormat.WEBP, 100, it) + } }.onFailure { it.printStackTrace() } diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/BackupHelper.kt b/app/src/main/java/code/name/monkey/retromusic/helper/BackupHelper.kt index 2766c906e..bbc7a91d6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/BackupHelper.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/BackupHelper.kt @@ -2,21 +2,28 @@ package code.name.monkey.retromusic.helper import android.content.Context import android.os.Environment -import android.util.Log import android.widget.Toast -import androidx.core.content.edit -import androidx.preference.PreferenceManager import code.name.monkey.retromusic.App import code.name.monkey.retromusic.BuildConfig +import code.name.monkey.retromusic.db.PlaylistEntity +import code.name.monkey.retromusic.db.toSongEntity import code.name.monkey.retromusic.helper.BackupContent.* +import code.name.monkey.retromusic.model.Song +import code.name.monkey.retromusic.repository.Repository +import code.name.monkey.retromusic.repository.SongRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject import java.io.* import java.util.zip.ZipEntry import java.util.zip.ZipInputStream import java.util.zip.ZipOutputStream -object BackupHelper { +object BackupHelper : KoinComponent { + private val repository by inject() + private val songRepository by inject() + suspend fun createBackup(context: Context, name: String) { val backupFile = File(backupRootPath + File.separator + name + APPEND_EXTENSION) @@ -24,17 +31,18 @@ object BackupHelper { backupFile.parentFile?.mkdirs() } val zipItems = mutableListOf() - zipItems.addAll(getDatabaseZipItems(context)) + zipItems.addAll(getPlaylistZipItems(context)) zipItems.addAll(getSettingsZipItems(context)) getUserImageZipItems(context)?.let { zipItems.addAll(it) } zipItems.addAll(getCustomArtistZipItems(context)) - zipItems.addAll(getQueueZipItems(context)) zipAll(zipItems, backupFile) + // Clean Cache Playlist Directory + File(context.filesDir, PLAYLISTS_PATH).deleteRecursively() } private suspend fun zipAll(zipItems: List, backupFile: File) = withContext(Dispatchers.IO) { - kotlin.runCatching { + runCatching { ZipOutputStream(BufferedOutputStream(FileOutputStream(backupFile))).use { out -> for (zipItem in zipItems) { FileInputStream(zipItem.filePath).use { fi -> @@ -51,7 +59,6 @@ object BackupHelper { Toast.makeText(App.getContext(), "Couldn't create backup", Toast.LENGTH_SHORT) .show() } - throw Exception(it) }.onSuccess { withContext(Dispatchers.Main) { Toast.makeText( @@ -62,25 +69,30 @@ object BackupHelper { .show() } } - } - private fun getDatabaseZipItems(context: Context): List { - return context.databaseList().filter { - it.endsWith(".db") && it != queueDatabase - }.map { - ZipItem(context.getDatabasePath(it).absolutePath, "$DATABASES_PATH${File.separator}$it") + private suspend fun getPlaylistZipItems(context: Context): List { + val playlistZipItems = mutableListOf() + // Cache Playlist files in App storage + val playlistFolder = File(context.filesDir, PLAYLISTS_PATH) + if (!playlistFolder.exists()) { + playlistFolder.mkdirs() } - } - - private fun getQueueZipItems(context: Context): List { - Log.d("RetroMusic", context.getDatabasePath(queueDatabase).absolutePath) - return listOf( - ZipItem( - context.getDatabasePath(queueDatabase).absolutePath, - "$QUEUE_PATH${File.separator}$queueDatabase" - ) - ) + for (playlist in repository.fetchPlaylistWithSongs()) { + runCatching { + M3UWriter.writeIO(playlistFolder, playlist) + }.onSuccess { playlistFile -> + if (playlistFile.exists()) { + playlistZipItems.add( + ZipItem( + playlistFile.absolutePath, + PLAYLISTS_PATH + File.separator + playlistFile.name + ) + ) + } + } + } + return playlistZipItems } private fun getSettingsZipItems(context: Context): List { @@ -124,8 +136,6 @@ object BackupHelper { ) } } - - return zipItemList } @@ -138,22 +148,19 @@ object BackupHelper { ZipInputStream(inputStream).use { var entry = it.nextEntry while (entry != null) { - if (entry.isDatabaseEntry() && contents.contains(PLAYLISTS)) { - restoreDatabase(context, it, entry) + if (entry.isPlaylistEntry() && contents.contains(PLAYLISTS)) { + restorePlaylists(it, entry) } else if (entry.isPreferenceEntry() && contents.contains(SETTINGS)) { restorePreferences(context, it, entry) } else if (entry.isImageEntry() && contents.contains(USER_IMAGES)) { restoreImages(context, it, entry) - } else if (entry.isCustomArtistImageEntry() && contents.contains( - CUSTOM_ARTIST_IMAGES - ) - ) { - restoreCustomArtistImages(context, it, entry) - restoreCustomArtistPrefs(context, it, entry) - } else if (entry.isQueueEntry() && contents.contains(QUEUE)) { - restoreQueueDatabase(context, it, entry) + } else if (entry.isCustomArtistEntry() && contents.contains(CUSTOM_ARTIST_IMAGES)) { + if (entry.isCustomArtistPrefEntry()) { + restoreCustomArtistPrefs(context, it, entry) + } else if (entry.isCustomArtistImageEntry()) { + restoreCustomArtistImages(context, it, entry) + } } - entry = it.nextEntry } } @@ -183,22 +190,33 @@ object BackupHelper { } } - private fun restoreDatabase(context: Context, zipIn: ZipInputStream, zipEntry: ZipEntry) { - val filePath = - context.filesDir.parent!! + File.separator + DATABASES_PATH + File.separator + zipEntry.getFileName() - BufferedOutputStream(FileOutputStream(filePath)).use { bos -> - zipIn.copyTo(bos) - } - } + private suspend fun restorePlaylists( + zipIn: ZipInputStream, + zipEntry: ZipEntry + ) { + val playlistName = zipEntry.getFileName().substringBeforeLast(".") + val songs = mutableListOf() - private fun restoreQueueDatabase(context: Context, zipIn: ZipInputStream, zipEntry: ZipEntry) { - PreferenceManager.getDefaultSharedPreferences(context).edit(commit = true) { - putInt("POSITION", 0) + // Get songs from m3u playlist files + zipIn.bufferedReader().lineSequence().forEach { line -> + if (line.startsWith(File.separator)) { + if (File(line).exists()) { + songs.addAll(songRepository.songsByFilePath(line)) + } + } } - val filePath = - context.filesDir.parent!! + File.separator + DATABASES_PATH + File.separator + zipEntry.getFileName() - BufferedOutputStream(FileOutputStream(filePath)).use { bos -> - zipIn.copyTo(bos) + val playlistEntity = repository.checkPlaylistExists(playlistName).firstOrNull() + if (playlistEntity != null) { + val songEntities = songs.map { + it.toSongEntity(playlistEntity.playListId) + } + repository.insertSongs(songEntities) + } else { + val playListId = repository.createPlaylist(PlaylistEntity(playlistName = playlistName)) + val songEntities = songs.map { + it.toSongEntity(playListId) + } + repository.insertSongs(songEntities) } } @@ -241,16 +259,14 @@ object BackupHelper { .toString() + "/RetroMusic/Backups/" const val BACKUP_EXTENSION = "rmbak" const val APPEND_EXTENSION = ".$BACKUP_EXTENSION" - private const val DATABASES_PATH = "databases" - private const val QUEUE_PATH = "queue" + private const val PLAYLISTS_PATH = "Playlists" private const val SETTINGS_PATH = "prefs" private const val IMAGES_PATH = "userImages" private const val CUSTOM_ARTISTS_PATH = "artistImages" private const val THEME_PREFS_KEY_DEFAULT = "[[kabouzeid_app-theme-helper]]" - private const val queueDatabase = "music_playback_state.db" - private fun ZipEntry.isDatabaseEntry(): Boolean { - return name.startsWith(DATABASES_PATH) + private fun ZipEntry.isPlaylistEntry(): Boolean { + return name.startsWith(PLAYLISTS_PATH) } private fun ZipEntry.isPreferenceEntry(): Boolean { @@ -261,6 +277,10 @@ object BackupHelper { return name.startsWith(IMAGES_PATH) } + private fun ZipEntry.isCustomArtistEntry(): Boolean { + return name.startsWith(CUSTOM_ARTISTS_PATH) + } + private fun ZipEntry.isCustomArtistImageEntry(): Boolean { return name.startsWith(CUSTOM_ARTISTS_PATH) && name.contains("custom_artist_images") } @@ -269,12 +289,8 @@ object BackupHelper { return name.startsWith(CUSTOM_ARTISTS_PATH) && name.contains("prefs") } - private fun ZipEntry.isQueueEntry(): Boolean { - return name.startsWith(QUEUE_PATH) - } - private fun ZipEntry.getFileName(): String { - return name.substring(name.lastIndexOf(File.separator)) + return name.substring(name.lastIndexOf(File.separator) + 1) } } @@ -297,6 +313,5 @@ enum class BackupContent { SETTINGS, USER_IMAGES, CUSTOM_ARTIST_IMAGES, - PLAYLISTS, - QUEUE + PLAYLISTS } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_restore.xml b/app/src/main/res/layout/activity_restore.xml index 5f5224af6..e9e922f8d 100644 --- a/app/src/main/res/layout/activity_restore.xml +++ b/app/src/main/res/layout/activity_restore.xml @@ -38,14 +38,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="48dp" - android:text="@string/databases_description" /> - - + android:text="@string/playlists" /> يستمع حالياً إلى %1$s لـ %2$s Custom Artist Images أسود قليلاً - Databases (Playlists, History, Most Played, etc.) حذف قائمة التشغيل %1$s؟]]> حذف قوائم التشغيل diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 5888e4f96..3e12aec33 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -140,7 +140,6 @@ Aktuálně posloucháš %1$s od %2$s. Custom Artist Images Tmavá - Databases (Playlists, History, Most Played, etc.) Smazat seznam skladeb %1$s?]]> Smazat seznamy skladeb diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index d5054be18..57e8b115c 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -136,7 +136,6 @@ Spielt zur Zeit %1$s von %2$s. Custom Artist Images Dunkel - Databases (Playlists, History, Most Played, etc.) Playlist löschen %1$s löschen?]]> Playlisten löschen diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index feea07f59..14523ba85 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -136,7 +136,6 @@ Παίζει το %1$s από τους %2$s. Custom Artist Images Κάπως Σκούρο - Databases (Playlists, History, Most Played, etc.) Διαγραφή playlist %1$s?]]> Διαγραφή αυτών των λιστών αναπαραγωγής diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 1c4c0921f..eb91a4cac 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -136,7 +136,6 @@ Actualmente estás escuchando %1$s de %2$s. Custom Artist Images Un poco Oscuro - Databases (Playlists, History, Most Played, etc.) Eliminar lista de reproducción %1$s?]]> Eliminar listas de reproducción diff --git a/app/src/main/res/values-fa-rIR/strings.xml b/app/src/main/res/values-fa-rIR/strings.xml index 2992c1764..791030970 100644 --- a/app/src/main/res/values-fa-rIR/strings.xml +++ b/app/src/main/res/values-fa-rIR/strings.xml @@ -136,7 +136,6 @@ در حال حاضر شما به s$1% از s$2% گوش می‌دهید. Custom Artist Images تقریبا مشکی - Databases (Playlists, History, Most Played, etc.) حذف کردن پلی لیست %1$s??]]> حذف کردن پلی لیست ها diff --git a/app/src/main/res/values-fil-rPH/strings.xml b/app/src/main/res/values-fil-rPH/strings.xml index 7008b44be..5313f5b18 100644 --- a/app/src/main/res/values-fil-rPH/strings.xml +++ b/app/src/main/res/values-fil-rPH/strings.xml @@ -136,7 +136,6 @@ Kasalukuyang nakikinig sa %1$s ni %2$s. Custom Artist Images Medyo Madilim - Databases (Playlists, History, Most Played, etc.) Tanggalin ang playlist %1$s?]]> Tanggalin ang mga playlist diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index e0f4d8824..c9046d5ba 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -136,7 +136,6 @@ Vous écoutez actuellement %1$s par %2$s. Custom Artist Images Plutôt Sombre - Databases (Playlists, History, Most Played, etc.) Supprimer la liste de lecture %1$s ?]]> Supprimer les listes de lecture diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 6f28ea543..a73ad2937 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -136,7 +136,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-hr-rHR/strings.xml b/app/src/main/res/values-hr-rHR/strings.xml index c7ecadb83..e4d7e6c5e 100644 --- a/app/src/main/res/values-hr-rHR/strings.xml +++ b/app/src/main/res/values-hr-rHR/strings.xml @@ -138,7 +138,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index c78241bab..bd7c0105e 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -136,7 +136,6 @@ Jelenleg %1$s hallgatása %2$s által. Custom Artist Images Kissé sötét - Databases (Playlists, History, Most Played, etc.) Lejátszási lista törlése %1$s lejátszási listát?]]> Lejátszási listák törlése diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 1c3eaa288..30fef24a9 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -137,7 +137,6 @@ https://play.google.com/store/apps/details?id=%s Ascoltando attualmente %1$s di %2$s. Immagini dell\'Artista Personalizzate Scuro - Database (Playlist, Cronologia, Più riprodotti, ecc.) Elimina playlist %1$s?]]> Elimina playlist diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 4268eadde..4a759fb1a 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -135,7 +135,6 @@ 現在、 %1$s によって %2$s で聴いています。 Custom Artist Images ダーク - Databases (Playlists, History, Most Played, etc.) プレイリストを削除 %1$s を削除しますか?]]> プレイリストを削除 diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 4566f6978..04b9d5c16 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -134,7 +134,6 @@ 현재 %2$s의 %1$s를 듣는 중입니다. Custom Artist Images 카인다 다크 - Databases (Playlists, History, Most Played, etc.) 재생목록 삭제 %1$s 재생목록을 삭제하시겠습니까?]]> 재생목록 삭제 diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 85ffd6afb..eaa2ac2f0 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -136,7 +136,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-my-rMM/strings.xml b/app/src/main/res/values-my-rMM/strings.xml index 83e928281..087ab7858 100644 --- a/app/src/main/res/values-my-rMM/strings.xml +++ b/app/src/main/res/values-my-rMM/strings.xml @@ -134,7 +134,6 @@ %2$s သီဆိုထားသော %1$s ကိုယခုနားထောင်နေသည် Custom Artist Images အနက်ရောင်ဆန်ဆန် - Databases (Playlists, History, Most Played, etc.) Playlist ဖျက်ခြင်း %1$s Playlist ကိုဖျက်မှာလား]]> Playlist များဖျက်ခြင်း diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 501097859..9ed36b5e4 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -136,7 +136,6 @@ Nu luisterend naar %1$s van %2$s. Custom Artist Images Soort van donker - Databases (Playlists, History, Most Played, etc.) Afspeellijst verwijderen %1$s verwijderen?]]> Afspeellijsten verwijderen diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index b22b9ac30..4d2c2b212 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -136,7 +136,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-or-rIN/strings.xml b/app/src/main/res/values-or-rIN/strings.xml index 0ae540bef..1b3d4a237 100644 --- a/app/src/main/res/values-or-rIN/strings.xml +++ b/app/src/main/res/values-or-rIN/strings.xml @@ -136,7 +136,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index dcc526560..59d353453 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -140,7 +140,6 @@ Aktualnie odtwarzane %1$s wykonawcy %2$s. Custom Artist Images Dość ciemny - Databases (Playlists, History, Most Played, etc.) Usuń playlistę %1$s?]]> Usuń playlisty diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index c563a4586..ac96569f4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -136,7 +136,6 @@ Atualmente ouvindo %1$s por %2$s. Custom Artist Images Meio escuro - Databases (Playlists, History, Most Played, etc.) Excluir playlist %1$s?]]> Excluir playlists diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index cc1a8d6f6..c01ccaaf7 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -136,7 +136,6 @@ A ouvir %1$s de %2$s. Custom Artist Images Meio escuro - Databases (Playlists, History, Most Played, etc.) Eliminar lista %1$s?]]> Eliminar listas diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index f4b9b9859..c834ca77a 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -138,7 +138,6 @@ Acum ascultați %1$s de %2$s. Custom Artist Images Suriu - Databases (Playlists, History, Most Played, etc.) Șterge playlist %1$s?]]> Șterge playlist-uri diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index d6b4fd747..2b056856b 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -140,7 +140,6 @@ Сейчас играет %1$s от %2$s. Custom Artist Images Тёмная - Databases (Playlists, History, Most Played, etc.) Удалить плейлист %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 08b85d0b3..0657b0e50 100644 --- a/app/src/main/res/values-sr-rSP/strings.xml +++ b/app/src/main/res/values-sr-rSP/strings.xml @@ -138,7 +138,6 @@ Trenutno se reprodukuje %1$s izvodjaca %2$s Custom Artist Images Kao tamno - Databases (Playlists, History, Most Played, etc.) Izbrisi plejlistu %1$s plejlistu?]]> Izbrisi plejlistu diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index cfabc1395..32b494e09 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -136,7 +136,6 @@ Lyssnar just nu på %1$s av %2$s. Custom Artist Images Ganska mörkt - Databases (Playlists, History, Most Played, etc.) Radera spellista %1$s?]]> Radera spellistor diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index 474260cab..2634e7bd3 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -136,7 +136,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]> Delete playlists diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml index ad90fd815..f48a24e78 100644 --- a/app/src/main/res/values-th-rTH/strings.xml +++ b/app/src/main/res/values-th-rTH/strings.xml @@ -134,7 +134,6 @@ กำลังฟัง %1$s ของ %2$s Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) ลบเพลย์ลิสต์ %1$s?]]> ลบเพลย์ลิสต์ diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 0742ab4b7..ed827ded6 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -136,7 +136,6 @@ Şu anda %2$s şarkıcısından %1$s dinleniyor. Custom Artist Images Koyu - Databases (Playlists, History, Most Played, etc.) Çalma listesini sil %1$s silinsin mi?]]> Çalma listelerini sil diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index 8907d217c..5adaab45f 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -140,7 +140,6 @@ Зараз грає %1$s від %2$s. Custom Artist Images Майже темна - Databases (Playlists, History, Most Played, etc.) Видалити список відтворення %1$s?]]> Видалити списки відтворення diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml index b3372da9c..7eaf75366 100644 --- a/app/src/main/res/values-vi-rVN/strings.xml +++ b/app/src/main/res/values-vi-rVN/strings.xml @@ -135,7 +135,6 @@ tiếp tục xảy ra hãy \"Xóa dữ liệu ứng dụng\" Đang nghe %1$s bởi %2$s. Custom Artist Images Xám đen - Databases (Playlists, History, Most Played, etc.) Xoá danh sách phát %1$s?]]> Xoá danh sách phát diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 267726dc2..3a2f33681 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -134,7 +134,6 @@ 正在收听 %2$s 的 %1$s。 自定义艺术家图像 深色 - 数据库(播放列表、播放历史、最多播放等) 删除播放列表 %1$s 吗?]]> 删除播放列表 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 29a512be3..85e626518 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -134,7 +134,6 @@ 我正在聽 %2$s 的 %1$s Custom Artist Images 暗沉 - Databases (Playlists, History, Most Played, etc.) 刪除播放清單 %1$s 嗎?]]> 刪除多個播放清單 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b66f5c1a7..6afb0f685 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -138,7 +138,6 @@ Currently listening to %1$s by %2$s. Custom Artist Images Kinda Dark - Databases (Playlists, History, Most Played, etc.) Delete playlist %1$s?]]>