InternetPreferenceController V2 (4/n)
Display different icon for different condition. Bug: 339884322 Flag: com.android.settings.flags.internet_preference_controller_v2 Test: manual - on Internet Test: unit test Change-Id: Ic06b0e349a284f8b4466bd0c19f318a6a0936a6e
This commit is contained in:
@@ -22,11 +22,13 @@ import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import com.android.settings.R
|
||||
import com.android.settings.core.BasePreferenceController
|
||||
import com.android.settingslib.Utils
|
||||
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
|
||||
|
||||
class InternetPreferenceControllerV2(context: Context, preferenceKey: String) :
|
||||
BasePreferenceController(context, preferenceKey) {
|
||||
|
||||
private val repository = InternetPreferenceRepository(mContext)
|
||||
private var preference: Preference? = null
|
||||
|
||||
override fun getAvailabilityStatus() =
|
||||
@@ -39,9 +41,14 @@ class InternetPreferenceControllerV2(context: Context, preferenceKey: String) :
|
||||
}
|
||||
|
||||
override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
|
||||
InternetPreferenceRepository(mContext).summaryFlow()
|
||||
.collectLatestWithLifecycle(viewLifecycleOwner) {
|
||||
preference?.summary = it
|
||||
repository.displayInfoFlow().collectLatestWithLifecycle(viewLifecycleOwner) { displayInfo ->
|
||||
preference?.apply {
|
||||
summary = displayInfo.summary
|
||||
icon =
|
||||
mContext.getDrawable(displayInfo.iconResId)?.apply {
|
||||
setTintList(Utils.getColorAttr(mContext, android.R.attr.colorControlNormal))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user