У меня есть класс конструктора Volley:
class VolleySingleton constructor(context: Context) {
companion object {
@Volatile
private var INSTANCE: VolleySingleton? = null
fun getInstance(context: Context) =
INSTANCE ?: synchronized(this) {
INSTANCE ?: VolleySingleton(context).also {
INSTANCE = it
}
}
}
some deals..
}
Я использую значение общих настроек для сравнения хостов в настраиваемом hostnameVerifier:
private val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
private val expectedHost: String? = sharedPref.getString("expectedHostname", null)
private val hostnameVerifier: HostnameVerifier = HostnameVerifier { _, session ->
val hv = HttpsURLConnection.getDefaultHostnameVerifier()
hv.verify(expectedHost, session)
}
Когда я изменяю значение Ожидаемое имя_хоста в моей Настройке активности это немедленно обновляется в MainActivity, как я вижу в Log.d, но не в классе VolleySingleton.Это все еще имеет предыдущее значение.Только перезапуск приложения решает проблему.
Новый экземпляр класса, который я создаю в MainActivity, выглядит следующим образом:
VolleySingleton.getInstance(applicationContext).addToRequestQueue(request)
Я очень новичок в Kotlin и Java и буду признателен за любую помощьс этим.Спасибо.