VancedMicroG/play-services-core/src/main/kotlin/org/microg/gms/ui/TextPreference.kt

35 lines
1.4 KiB
Kotlin

/*
* SPDX-FileCopyrightText: 2020, microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/
package org.microg.gms.ui
import android.content.Context
import android.util.AttributeSet
import android.view.Gravity
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import android.widget.LinearLayout
import android.widget.TextView
import androidx.preference.Preference
import androidx.preference.PreferenceViewHolder
class TextPreference : Preference {
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context) : super(context)
override fun onBindViewHolder(holder: PreferenceViewHolder?) {
super.onBindViewHolder(holder)
val iconFrame = holder?.findViewById(androidx.preference.R.id.icon_frame)
iconFrame?.layoutParams?.height = MATCH_PARENT
(iconFrame as? LinearLayout)?.gravity = Gravity.TOP or Gravity.START
val pad = (context.resources.displayMetrics.densityDpi/160f * 20).toInt()
iconFrame?.setPadding(0, pad, 0, pad)
val textView = holder?.findViewById(android.R.id.summary) as? TextView
textView?.maxLines = Int.MAX_VALUE
}
}