mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-06-06 02:23:05 +03:00
Dont clear playlist
This commit is contained in:
parent
6f6d9fd839
commit
bdcf385b26
@ -23,8 +23,6 @@ import org.moire.ultrasonic.util.ServerColor
|
|||||||
/**
|
/**
|
||||||
* Row Adapter to be used in the Server List
|
* Row Adapter to be used in the Server List
|
||||||
* Converts a Server Setting into a displayable Row, and sets up the Row's context menu
|
* Converts a Server Setting into a displayable Row, and sets up the Row's context menu
|
||||||
* @param manageMode: set to True if the default action by clicking the row is to edit the server
|
|
||||||
* In Manage Mode the "Offline" setting is not visible, and the servers can be edited by
|
|
||||||
* clicking the row.
|
* clicking the row.
|
||||||
*/
|
*/
|
||||||
internal class ServerRowAdapter(
|
internal class ServerRowAdapter(
|
||||||
@ -32,9 +30,8 @@ internal class ServerRowAdapter(
|
|||||||
passedData: Array<ServerSetting>,
|
passedData: Array<ServerSetting>,
|
||||||
private val model: ServerSettingsModel,
|
private val model: ServerSettingsModel,
|
||||||
private val activeServerProvider: ActiveServerProvider,
|
private val activeServerProvider: ActiveServerProvider,
|
||||||
private val manageMode: Boolean,
|
private val serverDeletedCallback: (Int) -> Unit,
|
||||||
private val serverDeletedCallback: ((Int) -> Unit),
|
private val serverEditRequestedCallback: (Int) -> Unit
|
||||||
private val serverEditRequestedCallback: ((Int) -> Unit)
|
|
||||||
) : BaseAdapter() {
|
) : BaseAdapter() {
|
||||||
|
|
||||||
private var data: MutableList<ServerSetting> = mutableListOf()
|
private var data: MutableList<ServerSetting> = mutableListOf()
|
||||||
@ -56,10 +53,8 @@ internal class ServerRowAdapter(
|
|||||||
fun setData(data: Array<ServerSetting>) {
|
fun setData(data: Array<ServerSetting>) {
|
||||||
this.data.clear()
|
this.data.clear()
|
||||||
|
|
||||||
// In read mode show the offline server as well
|
// Show the offline server as well
|
||||||
if (!manageMode) {
|
this.data.add(ActiveServerProvider.OFFLINE_DB)
|
||||||
this.data.add(ActiveServerProvider.OFFLINE_DB)
|
|
||||||
}
|
|
||||||
|
|
||||||
this.data.addAll(data)
|
this.data.addAll(data)
|
||||||
notifyDataSetChanged()
|
notifyDataSetChanged()
|
||||||
@ -82,10 +77,6 @@ internal class ServerRowAdapter(
|
|||||||
*/
|
*/
|
||||||
@Suppress("LongMethod")
|
@Suppress("LongMethod")
|
||||||
override fun getView(pos: Int, convertView: View?, parent: ViewGroup?): View? {
|
override fun getView(pos: Int, convertView: View?, parent: ViewGroup?): View? {
|
||||||
var position = pos
|
|
||||||
|
|
||||||
// Skip "Offline" in manage mode
|
|
||||||
if (manageMode) position++
|
|
||||||
|
|
||||||
var vi: View? = convertView
|
var vi: View? = convertView
|
||||||
if (vi == null) vi = inflater.inflate(R.layout.server_row, parent, false)
|
if (vi == null) vi = inflater.inflate(R.layout.server_row, parent, false)
|
||||||
@ -95,7 +86,7 @@ internal class ServerRowAdapter(
|
|||||||
val layout = vi?.findViewById<ConstraintLayout>(R.id.server_layout)
|
val layout = vi?.findViewById<ConstraintLayout>(R.id.server_layout)
|
||||||
val image = vi?.findViewById<ImageView>(R.id.server_image)
|
val image = vi?.findViewById<ImageView>(R.id.server_image)
|
||||||
val serverMenu = vi?.findViewById<ImageButton>(R.id.server_menu)
|
val serverMenu = vi?.findViewById<ImageButton>(R.id.server_menu)
|
||||||
val setting = data.singleOrNull { t -> t.index == position }
|
val setting = data.singleOrNull { t -> t.index == pos }
|
||||||
|
|
||||||
text?.text = setting?.name ?: ""
|
text?.text = setting?.name ?: ""
|
||||||
description?.text = setting?.url ?: ""
|
description?.text = setting?.url ?: ""
|
||||||
@ -122,7 +113,7 @@ internal class ServerRowAdapter(
|
|||||||
image?.background = background
|
image?.background = background
|
||||||
|
|
||||||
// Highlight the Active Server's row by changing its background
|
// Highlight the Active Server's row by changing its background
|
||||||
if (position == activeServerProvider.getActiveServer().index) {
|
if (pos == activeServerProvider.getActiveServer().index) {
|
||||||
layout?.background = ContextCompat.getDrawable(context, R.drawable.select_ripple)
|
layout?.background = ContextCompat.getDrawable(context, R.drawable.select_ripple)
|
||||||
} else {
|
} else {
|
||||||
layout?.background = ContextCompat.getDrawable(context, R.drawable.default_ripple)
|
layout?.background = ContextCompat.getDrawable(context, R.drawable.default_ripple)
|
||||||
@ -134,7 +125,7 @@ internal class ServerRowAdapter(
|
|||||||
R.drawable.select_ripple_circle
|
R.drawable.select_ripple_circle
|
||||||
)
|
)
|
||||||
|
|
||||||
serverMenu?.setOnClickListener { view -> serverMenuClick(view, position) }
|
serverMenu?.setOnClickListener { view -> serverMenuClick(view, pos) }
|
||||||
|
|
||||||
return vi
|
return vi
|
||||||
}
|
}
|
||||||
@ -145,18 +136,14 @@ internal class ServerRowAdapter(
|
|||||||
private fun serverMenuClick(view: View, position: Int) {
|
private fun serverMenuClick(view: View, position: Int) {
|
||||||
val menu = PopupMenu(context, view)
|
val menu = PopupMenu(context, view)
|
||||||
val firstServer = 1
|
val firstServer = 1
|
||||||
var lastServer = count - 1
|
val lastServer = count - 1
|
||||||
|
|
||||||
if (!manageMode) {
|
menu.menu.add(
|
||||||
menu.menu.add(
|
Menu.NONE,
|
||||||
Menu.NONE,
|
MENU_ID_EDIT,
|
||||||
MENU_ID_EDIT,
|
Menu.NONE,
|
||||||
Menu.NONE,
|
context.getString(R.string.server_menu_edit)
|
||||||
context.getString(R.string.server_menu_edit)
|
)
|
||||||
)
|
|
||||||
} else {
|
|
||||||
lastServer++
|
|
||||||
}
|
|
||||||
|
|
||||||
menu.menu.add(
|
menu.menu.add(
|
||||||
Menu.NONE,
|
Menu.NONE,
|
||||||
|
@ -14,6 +14,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
|
|||||||
import org.moire.ultrasonic.R
|
import org.moire.ultrasonic.R
|
||||||
import org.moire.ultrasonic.adapters.ServerRowAdapter
|
import org.moire.ultrasonic.adapters.ServerRowAdapter
|
||||||
import org.moire.ultrasonic.data.ActiveServerProvider
|
import org.moire.ultrasonic.data.ActiveServerProvider
|
||||||
|
import org.moire.ultrasonic.data.ActiveServerProvider.Companion.OFFLINE_DB_ID
|
||||||
import org.moire.ultrasonic.data.ServerSetting
|
import org.moire.ultrasonic.data.ServerSetting
|
||||||
import org.moire.ultrasonic.fragment.EditServerFragment.Companion.EDIT_SERVER_INTENT_INDEX
|
import org.moire.ultrasonic.fragment.EditServerFragment.Companion.EDIT_SERVER_INTENT_INDEX
|
||||||
import org.moire.ultrasonic.model.ServerSettingsModel
|
import org.moire.ultrasonic.model.ServerSettingsModel
|
||||||
@ -28,9 +29,6 @@ import timber.log.Timber
|
|||||||
* TODO: Manage mode is unused. Remove it...
|
* TODO: Manage mode is unused. Remove it...
|
||||||
*/
|
*/
|
||||||
class ServerSelectorFragment : Fragment() {
|
class ServerSelectorFragment : Fragment() {
|
||||||
companion object {
|
|
||||||
const val SERVER_SELECTOR_MANAGE_MODE = "manageMode"
|
|
||||||
}
|
|
||||||
|
|
||||||
private var listView: ListView? = null
|
private var listView: ListView? = null
|
||||||
private val serverSettingsModel: ServerSettingsModel by viewModel()
|
private val serverSettingsModel: ServerSettingsModel by viewModel()
|
||||||
@ -55,16 +53,7 @@ class ServerSelectorFragment : Fragment() {
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
val manageMode = arguments?.getBoolean(
|
FragmentTitle.setTitle(this, R.string.server_selector_label)
|
||||||
SERVER_SELECTOR_MANAGE_MODE,
|
|
||||||
false
|
|
||||||
) ?: false
|
|
||||||
|
|
||||||
if (manageMode) {
|
|
||||||
FragmentTitle.setTitle(this, R.string.settings_server_manage_servers)
|
|
||||||
} else {
|
|
||||||
FragmentTitle.setTitle(this, R.string.server_selector_label)
|
|
||||||
}
|
|
||||||
|
|
||||||
listView = view.findViewById(R.id.server_list)
|
listView = view.findViewById(R.id.server_list)
|
||||||
serverRowAdapter = ServerRowAdapter(
|
serverRowAdapter = ServerRowAdapter(
|
||||||
@ -72,7 +61,6 @@ class ServerSelectorFragment : Fragment() {
|
|||||||
arrayOf(),
|
arrayOf(),
|
||||||
serverSettingsModel,
|
serverSettingsModel,
|
||||||
activeServerProvider,
|
activeServerProvider,
|
||||||
manageMode,
|
|
||||||
::deleteServerById,
|
::deleteServerById,
|
||||||
::editServerByIndex
|
::editServerByIndex
|
||||||
)
|
)
|
||||||
@ -82,12 +70,8 @@ class ServerSelectorFragment : Fragment() {
|
|||||||
listView?.onItemClickListener = AdapterView.OnItemClickListener { parent, _, position, _ ->
|
listView?.onItemClickListener = AdapterView.OnItemClickListener { parent, _, position, _ ->
|
||||||
|
|
||||||
val server = parent.getItemAtPosition(position) as ServerSetting
|
val server = parent.getItemAtPosition(position) as ServerSetting
|
||||||
if (manageMode) {
|
setActiveServerById(server.id)
|
||||||
editServerByIndex(position + 1)
|
findNavController().popBackStack(R.id.mainFragment, false)
|
||||||
} else {
|
|
||||||
setActiveServerById(server.id)
|
|
||||||
findNavController().popBackStack(R.id.mainFragment, false)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val fab = view.findViewById<FloatingActionButton>(R.id.server_add_fab)
|
val fab = view.findViewById<FloatingActionButton>(R.id.server_add_fab)
|
||||||
@ -110,12 +94,20 @@ class ServerSelectorFragment : Fragment() {
|
|||||||
* Sets the active server when a list item is clicked
|
* Sets the active server when a list item is clicked
|
||||||
*/
|
*/
|
||||||
private fun setActiveServerById(id: Int) {
|
private fun setActiveServerById(id: Int) {
|
||||||
|
val oldId = activeServerProvider.getActiveServer().id
|
||||||
|
|
||||||
controller.clearIncomplete()
|
// Check if there is a change
|
||||||
|
if (oldId == id)
|
||||||
|
return
|
||||||
|
|
||||||
if (activeServerProvider.getActiveServer().id != id) {
|
// Remove incomplete tracks if we are going offline, or changing between servers.
|
||||||
ActiveServerProvider.setActiveServerById(id)
|
// If we are coming from offline there is no need to clear downloads etc.
|
||||||
|
if (oldId != OFFLINE_DB_ID) {
|
||||||
|
controller.removeIncompleteTracksFromPlaylist()
|
||||||
|
controller.clearDownloads()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ActiveServerProvider.setActiveServerById(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -132,7 +124,7 @@ class ServerSelectorFragment : Fragment() {
|
|||||||
val activeServerId = ActiveServerProvider.getActiveServerId()
|
val activeServerId = ActiveServerProvider.getActiveServerId()
|
||||||
|
|
||||||
// If the currently active server is deleted, go offline
|
// If the currently active server is deleted, go offline
|
||||||
if (id == activeServerId) setActiveServerById(ActiveServerProvider.OFFLINE_DB_ID)
|
if (id == activeServerId) setActiveServerById(OFFLINE_DB_ID)
|
||||||
|
|
||||||
serverSettingsModel.deleteItemById(id)
|
serverSettingsModel.deleteItemById(id)
|
||||||
|
|
||||||
|
@ -468,13 +468,24 @@ class MediaPlayerController(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
fun clearIncomplete() {
|
fun clearDownloads() {
|
||||||
reset()
|
|
||||||
|
|
||||||
downloader.clearActiveDownloads()
|
downloader.clearActiveDownloads()
|
||||||
downloader.clearBackground()
|
downloader.clearBackground()
|
||||||
|
}
|
||||||
|
|
||||||
jukeboxMediaPlayer.updatePlaylist()
|
@Synchronized
|
||||||
|
fun removeIncompleteTracksFromPlaylist() {
|
||||||
|
val list = playlist.toList()
|
||||||
|
var removed = 0
|
||||||
|
for ((index, item) in list.withIndex()) {
|
||||||
|
val state = downloader.getDownloadState(item.toTrack())
|
||||||
|
|
||||||
|
// The track is not downloaded, remove it
|
||||||
|
if (state != DownloadStatus.DONE && state != DownloadStatus.PINNED) {
|
||||||
|
removeFromPlaylist(index - removed)
|
||||||
|
removed++
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
|
@ -239,7 +239,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Historie hledání vyčištěna</string>
|
<string name="settings.search_history_cleared">Historie hledání vyčištěna</string>
|
||||||
<string name="settings.search_title">Nastavení vyhledávání</string>
|
<string name="settings.search_title">Nastavení vyhledávání</string>
|
||||||
<string name="settings.server_manage_servers">Spravovat servery</string>
|
|
||||||
<string name="settings.server_address">Adresa serveru</string>
|
<string name="settings.server_address">Adresa serveru</string>
|
||||||
<string name="settings.server_name">Název</string>
|
<string name="settings.server_name">Název</string>
|
||||||
<string name="settings.server_password">Heslo</string>
|
<string name="settings.server_password">Heslo</string>
|
||||||
|
@ -279,7 +279,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Suchhistorie gelöscht</string>
|
<string name="settings.search_history_cleared">Suchhistorie gelöscht</string>
|
||||||
<string name="settings.search_title">Sucheinstellungen</string>
|
<string name="settings.search_title">Sucheinstellungen</string>
|
||||||
<string name="settings.server_manage_servers">Server verwalten</string>
|
|
||||||
<string name="settings.server_address">Server Adresse</string>
|
<string name="settings.server_address">Server Adresse</string>
|
||||||
<string name="settings.server_name">Name</string>
|
<string name="settings.server_name">Name</string>
|
||||||
<string name="settings.server_password">Kennwort</string>
|
<string name="settings.server_password">Kennwort</string>
|
||||||
|
@ -279,7 +279,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Se ha limpiado el historial de búsqueda</string>
|
<string name="settings.search_history_cleared">Se ha limpiado el historial de búsqueda</string>
|
||||||
<string name="settings.search_title">Configuración de la búsqueda</string>
|
<string name="settings.search_title">Configuración de la búsqueda</string>
|
||||||
<string name="settings.server_manage_servers">Administrar servidores</string>
|
|
||||||
<string name="settings.server_address">Dirección del servidor</string>
|
<string name="settings.server_address">Dirección del servidor</string>
|
||||||
<string name="settings.server_name">Nombre</string>
|
<string name="settings.server_name">Nombre</string>
|
||||||
<string name="settings.server_password">Contraseña</string>
|
<string name="settings.server_password">Contraseña</string>
|
||||||
|
@ -259,7 +259,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Historique des recherches effacé</string>
|
<string name="settings.search_history_cleared">Historique des recherches effacé</string>
|
||||||
<string name="settings.search_title">Paramètres de recherche</string>
|
<string name="settings.search_title">Paramètres de recherche</string>
|
||||||
<string name="settings.server_manage_servers">Gérer les serveurs</string>
|
|
||||||
<string name="settings.server_address">Adresse du serveur</string>
|
<string name="settings.server_address">Adresse du serveur</string>
|
||||||
<string name="settings.server_name">Nom</string>
|
<string name="settings.server_name">Nom</string>
|
||||||
<string name="settings.server_password">Mot de passe</string>
|
<string name="settings.server_password">Mot de passe</string>
|
||||||
|
@ -247,7 +247,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Keresési előzmények törölve.</string>
|
<string name="settings.search_history_cleared">Keresési előzmények törölve.</string>
|
||||||
<string name="settings.search_title">Keresés beállításai</string>
|
<string name="settings.search_title">Keresés beállításai</string>
|
||||||
<string name="settings.server_manage_servers">Kiszolgálók kezelése</string>
|
|
||||||
<string name="settings.server_address">Kiszolgáló címe</string>
|
<string name="settings.server_address">Kiszolgáló címe</string>
|
||||||
<string name="settings.server_name">Név</string>
|
<string name="settings.server_name">Név</string>
|
||||||
<string name="settings.server_password">Jelszó</string>
|
<string name="settings.server_password">Jelszó</string>
|
||||||
|
@ -279,7 +279,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Zoekgeschiedenis gewist</string>
|
<string name="settings.search_history_cleared">Zoekgeschiedenis gewist</string>
|
||||||
<string name="settings.search_title">Zoekinstellingen</string>
|
<string name="settings.search_title">Zoekinstellingen</string>
|
||||||
<string name="settings.server_manage_servers">Manage Servers</string>
|
|
||||||
<string name="settings.server_address">Serveradres</string>
|
<string name="settings.server_address">Serveradres</string>
|
||||||
<string name="settings.server_name">Naam</string>
|
<string name="settings.server_name">Naam</string>
|
||||||
<string name="settings.server_password">Wachtwoord</string>
|
<string name="settings.server_password">Wachtwoord</string>
|
||||||
|
@ -239,7 +239,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Wyczyść historię wyszukiwania</string>
|
<string name="settings.search_history_cleared">Wyczyść historię wyszukiwania</string>
|
||||||
<string name="settings.search_title">Ustawienia wyszukiwania</string>
|
<string name="settings.search_title">Ustawienia wyszukiwania</string>
|
||||||
<string name="settings.server_manage_servers">Manage Servers</string>
|
|
||||||
<string name="settings.server_address">Adres serwera</string>
|
<string name="settings.server_address">Adres serwera</string>
|
||||||
<string name="settings.server_name">Nazwa</string>
|
<string name="settings.server_name">Nazwa</string>
|
||||||
<string name="settings.server_password">Hasło</string>
|
<string name="settings.server_password">Hasło</string>
|
||||||
|
@ -254,7 +254,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Histórico de pesquisas apagado</string>
|
<string name="settings.search_history_cleared">Histórico de pesquisas apagado</string>
|
||||||
<string name="settings.search_title">Configurações de Pesquisa</string>
|
<string name="settings.search_title">Configurações de Pesquisa</string>
|
||||||
<string name="settings.server_manage_servers">Gerenciar Servidores</string>
|
|
||||||
<string name="settings.server_address">Endereço do Servidor</string>
|
<string name="settings.server_address">Endereço do Servidor</string>
|
||||||
<string name="settings.server_name">Nome</string>
|
<string name="settings.server_name">Nome</string>
|
||||||
<string name="settings.server_password">Senha</string>
|
<string name="settings.server_password">Senha</string>
|
||||||
|
@ -239,7 +239,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Histórico de pesquisas apagado</string>
|
<string name="settings.search_history_cleared">Histórico de pesquisas apagado</string>
|
||||||
<string name="settings.search_title">Configurações de Pesquisa</string>
|
<string name="settings.search_title">Configurações de Pesquisa</string>
|
||||||
<string name="settings.server_manage_servers">Manage Servers</string>
|
|
||||||
<string name="settings.server_address">Endereço do Servidor</string>
|
<string name="settings.server_address">Endereço do Servidor</string>
|
||||||
<string name="settings.server_name">Nome</string>
|
<string name="settings.server_name">Nome</string>
|
||||||
<string name="settings.server_password">Senha</string>
|
<string name="settings.server_password">Senha</string>
|
||||||
|
@ -265,7 +265,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">История поиска очищена</string>
|
<string name="settings.search_history_cleared">История поиска очищена</string>
|
||||||
<string name="settings.search_title">Настройки поиска</string>
|
<string name="settings.search_title">Настройки поиска</string>
|
||||||
<string name="settings.server_manage_servers">Управление серверами</string>
|
|
||||||
<string name="settings.server_address">Адрес сервера</string>
|
<string name="settings.server_address">Адрес сервера</string>
|
||||||
<string name="settings.server_name">Имя</string>
|
<string name="settings.server_name">Имя</string>
|
||||||
<string name="settings.server_password">Пароль</string>
|
<string name="settings.server_password">Пароль</string>
|
||||||
|
@ -259,7 +259,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">搜索记录已清除</string>
|
<string name="settings.search_history_cleared">搜索记录已清除</string>
|
||||||
<string name="settings.search_title">搜索设置</string>
|
<string name="settings.search_title">搜索设置</string>
|
||||||
<string name="settings.server_manage_servers">管理服务器</string>
|
|
||||||
<string name="settings.server_address">服务器地址</string>
|
<string name="settings.server_address">服务器地址</string>
|
||||||
<string name="settings.server_name">名称</string>
|
<string name="settings.server_name">名称</string>
|
||||||
<string name="settings.server_password">密码</string>
|
<string name="settings.server_password">密码</string>
|
||||||
|
@ -290,7 +290,6 @@
|
|||||||
<string name="settings.search_75">75</string>
|
<string name="settings.search_75">75</string>
|
||||||
<string name="settings.search_history_cleared">Search history cleared</string>
|
<string name="settings.search_history_cleared">Search history cleared</string>
|
||||||
<string name="settings.search_title">Search Settings</string>
|
<string name="settings.search_title">Search Settings</string>
|
||||||
<string name="settings.server_manage_servers">Manage Servers</string>
|
|
||||||
<string name="settings.server_address">Server Address</string>
|
<string name="settings.server_address">Server Address</string>
|
||||||
<string name="settings.server_name">Name</string>
|
<string name="settings.server_name">Name</string>
|
||||||
<string name="settings.server_password">Password</string>
|
<string name="settings.server_password">Password</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user