Refactor Account Settings Screen - Implement LifeCycleOwner for PreferenceFragment #16370
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #12372
Description
The Third PR for the task of refactoring the
AccountSettingsFragmentto MVVM following the reactive approach using Flow. This PR implements theLifeCycleOwnerforPreferenceFragment.Why
Since android.preference.PreferenceFragment doesn't have support to observe Flows and LiveData. Implementing reactive approach seems impossible.
Possible Solutions
Reason for choosing Approach 2 - Implement LifeCycleOwner interface
Approach-1 (migrating to Androidx preference library) requires code changes in all Preference related classes. This can be done as a separate task.
So I have created a separate class, which implements LifeCycleOwner interface to support observing Flows and LiveData.
Note: This is just a temporary solution. Once the app is migrated to Androidx Preference Library, this class can be deleted.
Regression Notes
No Potential impact on screens as the implementation is not consumed by AccountSetingsFragment.
RELEASE-NOTES.txtif necessary.