Loading packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBinding.kt +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ interface PreferenceScreenCreator : PreferenceScreenMetadata, PreferenceScreenPr fun isFlagEnabled(context: Context): Boolean = true val preferenceBindingFactory: PreferenceBindingFactory get() = DefaultPreferenceBindingFactory get() = PreferenceBindingFactory.defaultFactory override fun createPreferenceScreen(factory: PreferenceScreenFactory) = factory.getOrCreatePreferenceScreen().apply { Loading packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindingFactory.kt +8 −2 Original line number Diff line number Diff line Loading @@ -45,10 +45,15 @@ interface PreferenceBindingFactory { /** Returns the [PreferenceBinding] associated with the [PreferenceMetadata]. */ fun getPreferenceBinding(metadata: PreferenceMetadata): PreferenceBinding? companion object { /** Default preference binding factory. */ @JvmStatic var defaultFactory: PreferenceBindingFactory = DefaultPreferenceBindingFactory() } } /** Default [PreferenceBindingFactory]. */ object DefaultPreferenceBindingFactory : PreferenceBindingFactory { open class DefaultPreferenceBindingFactory : PreferenceBindingFactory { override fun getPreferenceBinding(metadata: PreferenceMetadata) = metadata as? PreferenceBinding Loading @@ -66,5 +71,6 @@ class KeyedPreferenceBindingFactory(private val bindings: Map<String, Preference PreferenceBindingFactory { override fun getPreferenceBinding(metadata: PreferenceMetadata) = bindings[metadata.key] ?: DefaultPreferenceBindingFactory.getPreferenceBinding(metadata) bindings[metadata.key] ?: PreferenceBindingFactory.defaultFactory.getPreferenceBinding(metadata) } packages/SettingsLib/Preference/testutils/com/android/settingslib/preference/PreferenceBindingTestUtils.kt +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.settingslib.metadata.PreferenceMetadata /** Creates [Preference] widget and binds with metadata. */ @VisibleForTesting fun <P : Preference> PreferenceMetadata.createAndBindWidget(context: Context): P { val binding = DefaultPreferenceBindingFactory.getPreferenceBinding(this) val binding = PreferenceBindingFactory.defaultFactory.getPreferenceBinding(this)!! return (binding.createWidget(context) as P).also { if (this is PersistentPreference<*>) { storage(context)?.let { keyValueStore -> Loading Loading
packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBinding.kt +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ interface PreferenceScreenCreator : PreferenceScreenMetadata, PreferenceScreenPr fun isFlagEnabled(context: Context): Boolean = true val preferenceBindingFactory: PreferenceBindingFactory get() = DefaultPreferenceBindingFactory get() = PreferenceBindingFactory.defaultFactory override fun createPreferenceScreen(factory: PreferenceScreenFactory) = factory.getOrCreatePreferenceScreen().apply { Loading
packages/SettingsLib/Preference/src/com/android/settingslib/preference/PreferenceBindingFactory.kt +8 −2 Original line number Diff line number Diff line Loading @@ -45,10 +45,15 @@ interface PreferenceBindingFactory { /** Returns the [PreferenceBinding] associated with the [PreferenceMetadata]. */ fun getPreferenceBinding(metadata: PreferenceMetadata): PreferenceBinding? companion object { /** Default preference binding factory. */ @JvmStatic var defaultFactory: PreferenceBindingFactory = DefaultPreferenceBindingFactory() } } /** Default [PreferenceBindingFactory]. */ object DefaultPreferenceBindingFactory : PreferenceBindingFactory { open class DefaultPreferenceBindingFactory : PreferenceBindingFactory { override fun getPreferenceBinding(metadata: PreferenceMetadata) = metadata as? PreferenceBinding Loading @@ -66,5 +71,6 @@ class KeyedPreferenceBindingFactory(private val bindings: Map<String, Preference PreferenceBindingFactory { override fun getPreferenceBinding(metadata: PreferenceMetadata) = bindings[metadata.key] ?: DefaultPreferenceBindingFactory.getPreferenceBinding(metadata) bindings[metadata.key] ?: PreferenceBindingFactory.defaultFactory.getPreferenceBinding(metadata) }
packages/SettingsLib/Preference/testutils/com/android/settingslib/preference/PreferenceBindingTestUtils.kt +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.settingslib.metadata.PreferenceMetadata /** Creates [Preference] widget and binds with metadata. */ @VisibleForTesting fun <P : Preference> PreferenceMetadata.createAndBindWidget(context: Context): P { val binding = DefaultPreferenceBindingFactory.getPreferenceBinding(this) val binding = PreferenceBindingFactory.defaultFactory.getPreferenceBinding(this)!! return (binding.createWidget(context) as P).also { if (this is PersistentPreference<*>) { storage(context)?.let { keyValueStore -> Loading