From 712035ef30d4f8c5202ae26402553bbb4c52f127 Mon Sep 17 00:00:00 2001 From: Ahaan Ugale Date: Sun, 7 Mar 2021 11:06:23 -0800 Subject: [PATCH] Add javadoc about lifecycles for xml defined Controllers. The described wiring is done in DashboardFragment. Test: n/a Change-Id: I086620e31a106a9183d43dd946c9e9e32170a9be --- src/com/android/settings/core/BasePreferenceController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/com/android/settings/core/BasePreferenceController.java b/src/com/android/settings/core/BasePreferenceController.java index c90fe48bc9c..95c94cea11f 100644 --- a/src/com/android/settings/core/BasePreferenceController.java +++ b/src/com/android/settings/core/BasePreferenceController.java @@ -30,6 +30,7 @@ import android.text.TextUtils; import android.util.Log; import androidx.annotation.Nullable; +import androidx.lifecycle.LifecycleObserver; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -38,6 +39,7 @@ import com.android.settings.slices.SettingsSliceProvider; import com.android.settings.slices.SliceData; import com.android.settings.slices.Sliceable; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.search.SearchIndexableRaw; import java.lang.annotation.Retention; @@ -50,6 +52,9 @@ import java.util.List; * Abstract class to consolidate utility between preference controllers and act as an interface * for Slices. The abstract classes that inherit from this class will act as the direct interfaces * for each type when plugging into Slices. + *

+ * Controllers defined in xml are automatically {@link Lifecycle#addObserver(LifecycleObserver) + * wired up} to the settings lifecycle if they implement {@link LifecycleObserver}. */ public abstract class BasePreferenceController extends AbstractPreferenceController implements Sliceable {