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

Commit 3382e600 authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge "Fix tuner sub-screens attach" into oc-dev am: 2579ec1b

am: 20f560d7

Change-Id: I70a64f872f85571c2050bea9c77254aecbbfdc16
parents 5ac0d271 20f560d7
Loading
Loading
Loading
Loading
+27 −2
Original line number Diff line number Diff line
@@ -110,10 +110,35 @@ public class TunerActivity extends SettingsDrawerActivity implements
    }

    public static class SubSettingsFragment extends PreferenceFragment {
        private PreferenceScreen mParentScreen;

        @Override
        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
            setPreferenceScreen((PreferenceScreen) ((PreferenceFragment) getTargetFragment())
                    .getPreferenceScreen().findPreference(rootKey));
            mParentScreen =
                    (PreferenceScreen) ((PreferenceFragment) getTargetFragment())
                            .getPreferenceScreen().findPreference(rootKey);
            PreferenceScreen screen =
                    getPreferenceManager().createPreferenceScreen(
                            getPreferenceManager().getContext());
            setPreferenceScreen(screen);
            // Copy all the preferences over to this screen so they go into the attached state.
            while (mParentScreen.getPreferenceCount() > 0) {
                Preference p = mParentScreen.getPreference(0);
                mParentScreen.removePreference(p);
                screen.addPreference(p);
            }
        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            // Copy all the preferences back so we don't lose them.
            PreferenceScreen screen = getPreferenceScreen();
            while (screen.getPreferenceCount() > 0) {
                Preference p = screen.getPreference(0);
                screen.removePreference(p);
                mParentScreen.addPreference(p);
            }
        }
    }