Fix terminal view OOM on session attach

pull/1352/head
Anharo 2 weeks ago
parent 0697a8906b
commit 7358829fc0

@ -58,8 +58,9 @@ class TerminalViewModel(private val application: Application) : AndroidViewModel
session.updateTerminalSessionClient(client)
terminal.setBackgroundColor(android.graphics.Color.TRANSPARENT)
val zoom = PreferenceManager.getDefaultSharedPreferences(context)
.getFloat("terminal_zoom", 14f).coerceIn(10f, 30f)
val storedZoom = PreferenceManager.getDefaultSharedPreferences(context)
.getFloat("terminal_zoom", 35f)
val zoom = if (storedZoom.isFinite()) storedZoom.coerceIn(10f, 37f) else 35f
terminal.setTextSize(zoom.toInt())
terminal.setTypeface(TerminalUtils.typeface)

@ -67,6 +67,11 @@ class TerminalFragment : Fragment() {
private lateinit var session : TerminalSession
private var sessionId: String? = null
private fun terminalZoom(): Int {
val zoom = sharedPreferences.getFloat("terminal_zoom", 35f)
return if (zoom.isFinite()) zoom.coerceIn(10f, 37f).toInt() else 35
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@ -128,7 +133,7 @@ class TerminalFragment : Fragment() {
slider?.apply {
valueFrom = 10f
valueTo = 37f
value = sharedPreferences.getFloat("terminal_zoom", 35f)
value = terminalZoom().toFloat()
addOnChangeListener { _, value, _ ->
terminalView.setTextSize(value.toInt())
@ -292,8 +297,10 @@ class TerminalFragment : Fragment() {
val termView = view as TerminalView
if (termView.width <= 0 || termView.height <= 0) return@doOnLayout
termView.setTextSize(
sharedPreferences.getFloat("terminal_zoom", 35f).toInt()
terminalZoom()
)
termView.setTypeface(TerminalUtils.typeface)

Loading…
Cancel
Save