Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77aaa373 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "catalyst" into main

* changes:
  [Catalyst] Add PreferenceLifecycleContext.findPreference
  [Catalyst] Update PreferenceLifecycleContext.notifyPreferenceChange
parents 222c7b1e a3431940
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -133,8 +133,11 @@ interface PreferenceLifecycleProvider {
 */
abstract class PreferenceLifecycleContext(context: Context) : ContextWrapper(context) {

    /** Notifies that preference state is changed and update preference widget UI. */
    abstract fun notifyPreferenceChange(preference: PreferenceMetadata)
    /** Returns the preference widget object associated with given key. */
    abstract fun <T> findPreference(key: String): T?

    /** Notifies that preference state of given key is changed and updates preference widget UI. */
    abstract fun notifyPreferenceChange(key: String)

    /**
     * Starts activity for result, see [android.app.Activity.startActivityForResult].
+5 −2
Original line number Diff line number Diff line
@@ -57,8 +57,11 @@ class PreferenceScreenBindingHelper(

    private val preferenceLifecycleContext =
        object : PreferenceLifecycleContext(context) {
            override fun notifyPreferenceChange(preference: PreferenceMetadata) =
                notifyChange(preference.key, CHANGE_REASON_STATE)
            override fun <T> findPreference(key: String) =
                preferenceScreen.findPreference(key) as T?

            override fun notifyPreferenceChange(key: String) =
                notifyChange(key, CHANGE_REASON_STATE)

            @Suppress("DEPRECATION")
            override fun startActivityForResult(