diff --git a/packages/SystemUI/res/values/lmodroid_strings.xml b/packages/SystemUI/res/values/lmodroid_strings.xml
index e7da5cf19163a51ba0e98e67fa80f977c7f8af53..57b5a0b0c2e88b0de45e26ed0bd3e38c06905245 100644
--- a/packages/SystemUI/res/values/lmodroid_strings.xml
+++ b/packages/SystemUI/res/values/lmodroid_strings.xml
@@ -89,6 +89,7 @@
 
     <!-- Navbar -->
     <string name="systemui_tuner_navbar_title">Layout</string>
+    <string name="navigation_bar_format_title">Navbar format</string>
 
     <!-- WiFi standard numbering on statusbar -->
     <string name="status_bar_wifi_standard">Wi-Fi standard number</string>
diff --git a/packages/SystemUI/res/xml/nav_bar_tuner.xml b/packages/SystemUI/res/xml/nav_bar_tuner.xml
index ff423ca26bc895a030e2dcaea10e7cee2e58da5b..a1bbc2fde8fcd671ec9dbf679516ff7a7141c4b1 100644
--- a/packages/SystemUI/res/xml/nav_bar_tuner.xml
+++ b/packages/SystemUI/res/xml/nav_bar_tuner.xml
@@ -18,50 +18,12 @@
     xmlns:sysui="http://schemas.android.com/apk/res-auto"
     android:title="@string/systemui_tuner_navbar_title">
 
-    <com.android.systemui.tuner.RadioListPreference
+    <ListPreference
         android:key="layout"
-        android:title="@string/nav_bar_layout"
+        android:title="@string/navigation_bar_format_title"
         android:summary="%s"
         android:persistent="false"
         android:entries="@array/nav_bar_layouts"
         android:entryValues="@array/nav_bar_layouts_values" />
 
-    <com.android.systemui.tuner.RadioListPreference
-        android:key="type_left"
-        android:title="@string/left_nav_bar_button_type"
-        android:persistent="false"
-        android:summary="%s"
-        android:entries="@array/nav_bar_buttons"
-        android:entryValues="@array/nav_bar_button_values" />
-
-    <Preference
-        android:key="keycode_left"
-        android:persistent="false"
-        android:title="@string/left_keycode" />
-
-    <com.android.systemui.tuner.RadioListPreference
-        android:key="icon_left"
-        android:persistent="false"
-        android:summary="%s"
-        android:title="@string/left_icon" />
-
-    <com.android.systemui.tuner.RadioListPreference
-        android:key="type_right"
-        android:title="@string/right_nav_bar_button_type"
-        android:summary="%s"
-        android:persistent="false"
-        android:entries="@array/nav_bar_buttons"
-        android:entryValues="@array/nav_bar_button_values" />
-
-    <Preference
-        android:key="keycode_right"
-        android:persistent="false"
-        android:title="@string/right_keycode" />
-
-    <com.android.systemui.tuner.RadioListPreference
-        android:key="icon_right"
-        android:persistent="false"
-        android:summary="%s"
-        android:title="@string/right_icon" />
-
 </PreferenceScreen>
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
index be88f96ed957c7b9ef071dd0a6042f4f5121ec3d..55ccf8f1efabedd92625164cddb58d97f7b49a8e 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarInflaterView.java
@@ -139,6 +139,8 @@ public class NavigationBarInflaterView extends FrameLayout {
 
     private final ContentObserver mContentObserver;
 
+    private boolean mUsingCustomLayout;
+
     public NavigationBarInflaterView(Context context, AttributeSet attrs) {
         super(context, attrs);
         createInflaters();
@@ -162,6 +164,11 @@ public class NavigationBarInflaterView extends FrameLayout {
                     mContext.getMainExecutor().execute(() -> {
                         onLikelyDefaultLayoutChange();
                     });
+                } else if (Settings.Secure.getUriFor(NAV_BAR_VIEWS).equals(uri)) {
+                    mContext.getMainExecutor().execute(() -> {
+                        setNavigationBarLayout(Settings.Secure.getString(mContext.getContentResolver(),
+                                NAV_BAR_VIEWS));
+                    });
                 }
             }
         };
@@ -218,12 +225,16 @@ public class NavigationBarInflaterView extends FrameLayout {
         Uri navBarInverse = Settings.Secure.getUriFor(NAV_BAR_INVERSE);
         Uri navigationBarHint = Settings.System.getUriFor(
                 LMOSettings.System.NAVIGATION_BAR_HINT);
+        Uri navigationBarView = Settings.Secure.getUriFor(NAV_BAR_VIEWS);
         mContext.getContentResolver().registerContentObserver(navBarInverse, false,
                 mContentObserver);
         mContext.getContentResolver().registerContentObserver(navigationBarHint, false,
                 mContentObserver);
+        mContext.getContentResolver().registerContentObserver(navigationBarView, false,
+                mContentObserver);
         mContentObserver.onChange(true, navBarInverse);
         mContentObserver.onChange(true, navigationBarHint);
+        mContentObserver.onChange(true, navigationBarView);
     }
 
     @Override
@@ -239,7 +250,17 @@ public class NavigationBarInflaterView extends FrameLayout {
         updateLayoutInversion();
     }
 
+    public void setNavigationBarLayout(String layoutValue) {
+        if (!Objects.equals(mCurrentLayout, layoutValue)) {
+            mUsingCustomLayout = layoutValue != null;
+            clearViews();
+            inflateLayout(layoutValue);
+        }
+    }
+
     public void onLikelyDefaultLayoutChange() {
+        // Don't override custom layouts
+        if (mUsingCustomLayout) return;
         // Reevaluate new layout
         final String newValue = getDefaultLayout();
         if (!Objects.equals(mCurrentLayout, newValue)) {
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java
deleted file mode 100644
index ade1f8258335ce1fad3da1fa843dde1f656dc8fc..0000000000000000000000000000000000000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.tuner;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
-import android.os.Bundle;
-import android.util.AttributeSet;
-
-import androidx.preference.ListPreference;
-import androidx.preference.ListPreferenceDialogFragment;
-
-public class CustomListPreference extends ListPreference {
-
-    public CustomListPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public CustomListPreference(Context context, AttributeSet attrs, int defStyleAttr,
-                                int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-    }
-
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
-            OnClickListener listener) {
-    }
-
-    protected void onDialogClosed(boolean positiveResult) {
-    }
-
-    protected Dialog onDialogCreated(DialogFragment fragment, Dialog dialog) {
-        return dialog;
-    }
-
-    protected boolean isAutoClosePreference() {
-        return true;
-    }
-
-    /**
-     * Called when a user is about to choose the given value, to determine if we
-     * should show a confirmation dialog.
-     *
-     * @param value the value the user is about to choose
-     * @return the message to show in a confirmation dialog, or {@code null} to
-     *         not request confirmation
-     */
-    protected CharSequence getConfirmationMessage(String value) {
-        return null;
-    }
-
-    protected void onDialogStateRestored(DialogFragment fragment, Dialog dialog,
-            Bundle savedInstanceState) {
-    }
-
-    public static class CustomListPreferenceDialogFragment extends ListPreferenceDialogFragment {
-
-        private static final String KEY_CLICKED_ENTRY_INDEX
-                = "settings.CustomListPrefDialog.KEY_CLICKED_ENTRY_INDEX";
-
-        private int mClickedDialogEntryIndex;
-
-        public static ListPreferenceDialogFragment newInstance(String key) {
-            final ListPreferenceDialogFragment fragment = new CustomListPreferenceDialogFragment();
-            final Bundle b = new Bundle(1);
-            b.putString(ARG_KEY, key);
-            fragment.setArguments(b);
-            return fragment;
-        }
-
-        public CustomListPreference getCustomizablePreference() {
-            return (CustomListPreference) getPreference();
-        }
-
-        @Override
-        protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
-            super.onPrepareDialogBuilder(builder);
-            mClickedDialogEntryIndex = getCustomizablePreference()
-                    .findIndexOfValue(getCustomizablePreference().getValue());
-            getCustomizablePreference().onPrepareDialogBuilder(builder, getOnItemClickListener());
-            if (!getCustomizablePreference().isAutoClosePreference()) {
-                builder.setPositiveButton(com.android.internal.R.string.ok, new OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        onItemConfirmed();
-                    }
-                });
-            }
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            Dialog dialog = super.onCreateDialog(savedInstanceState);
-            if (savedInstanceState != null) {
-                mClickedDialogEntryIndex = savedInstanceState.getInt(KEY_CLICKED_ENTRY_INDEX,
-                        mClickedDialogEntryIndex);
-            }
-            return getCustomizablePreference().onDialogCreated(this, dialog);
-        }
-
-        @Override
-        public void onSaveInstanceState(Bundle outState) {
-            super.onSaveInstanceState(outState);
-            outState.putInt(KEY_CLICKED_ENTRY_INDEX, mClickedDialogEntryIndex);
-        }
-
-        @Override
-        public void onActivityCreated(Bundle savedInstanceState) {
-            super.onActivityCreated(savedInstanceState);
-            getCustomizablePreference().onDialogStateRestored(this, getDialog(), savedInstanceState);
-        }
-
-        protected OnClickListener getOnItemClickListener() {
-            return new OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    setClickedDialogEntryIndex(which);
-                    if (getCustomizablePreference().isAutoClosePreference()) {
-                        onItemConfirmed();
-                    }
-                }
-            };
-        }
-
-        protected void setClickedDialogEntryIndex(int which) {
-            mClickedDialogEntryIndex = which;
-        }
-
-        private String getValue() {
-            final ListPreference preference = getCustomizablePreference();
-            if (mClickedDialogEntryIndex >= 0 && preference.getEntryValues() != null) {
-                return preference.getEntryValues()[mClickedDialogEntryIndex].toString();
-            } else {
-                return null;
-            }
-        }
-
-        protected void onItemConfirmed() {
-            onClick(getDialog(), DialogInterface.BUTTON_POSITIVE);
-            getDialog().dismiss();
-        }
-
-        @Override
-        public void onDialogClosed(boolean positiveResult) {
-            getCustomizablePreference().onDialogClosed(positiveResult);
-            final ListPreference preference = getCustomizablePreference();
-            final String value = getValue();
-            if (positiveResult && value != null) {
-                if (preference.callChangeListener(value)) {
-                    preference.setValue(value);
-                }
-            }
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java b/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java
index ec6f86297baeb39ca0cb772db905fe42a1dc9693..96ce68143f3aace265de6a026985c3e579a86e2d 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java
@@ -44,6 +44,7 @@ import android.widget.EditText;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.PreferenceFragment;
 
 import com.android.systemui.Dependency;
 import com.android.systemui.res.R;
@@ -51,25 +52,9 @@ import com.android.systemui.tuner.TunerService.Tunable;
 
 import java.util.ArrayList;
 
-@Deprecated
-public class NavBarTuner extends TunerPreferenceFragment {
+public class NavBarTuner extends PreferenceFragment {
 
     private static final String LAYOUT = "layout";
-    private static final String LEFT = "left";
-    private static final String RIGHT = "right";
-
-    private static final String TYPE = "type";
-    private static final String KEYCODE = "keycode";
-    private static final String ICON = "icon";
-
-    private static final int[][] ICONS = new int[][]{
-            {R.drawable.ic_qs_circle, R.string.tuner_circle},
-            {R.drawable.ic_add, R.string.tuner_plus},
-            {R.drawable.ic_remove, R.string.tuner_minus},
-            {R.drawable.ic_left, R.string.tuner_left},
-            {R.drawable.ic_right, R.string.tuner_right},
-            {R.drawable.ic_menu, R.string.tuner_menu},
-    };
 
     private final ArrayList<Tunable> mTunables = new ArrayList<>();
     private Handler mHandler;
@@ -90,8 +75,6 @@ public class NavBarTuner extends TunerPreferenceFragment {
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         addPreferencesFromResource(R.xml.nav_bar_tuner);
         bindLayout((ListPreference) findPreference(LAYOUT));
-        bindButton(NAV_BAR_LEFT, NAVSPACE, LEFT);
-        bindButton(NAV_BAR_RIGHT, MENU_IME_ROTATE, RIGHT);
     }
 
     @Override
@@ -115,126 +98,11 @@ public class NavBarTuner extends TunerPreferenceFragment {
         }), NAV_BAR_VIEWS);
         preference.setOnPreferenceChangeListener((preference1, newValue) -> {
             String val = (String) newValue;
+            int valueIndex = preference.findIndexOfValue(val);
+            preference.setSummary(preference.getEntries()[valueIndex]);
             if ("default".equals(val)) val = null;
             Dependency.get(TunerService.class).setValue(NAV_BAR_VIEWS, val);
             return true;
         });
     }
-
-    private void bindButton(String setting, String def, String k) {
-        ListPreference type = (ListPreference) findPreference(TYPE + "_" + k);
-        Preference keycode = findPreference(KEYCODE + "_" + k);
-        ListPreference icon = (ListPreference) findPreference(ICON + "_" + k);
-        setupIcons(icon);
-        addTunable((key, newValue) -> mHandler.post(() -> {
-            String val = newValue;
-            if (val == null) {
-                val = def;
-            }
-            String button = extractButton(val);
-            if (button.startsWith(KEY)) {
-                type.setValue(KEY);
-                String uri = extractImage(button);
-                int code = extractKeycode(button);
-                icon.setValue(uri);
-                updateSummary(icon);
-                keycode.setSummary(code + "");
-                keycode.setVisible(true);
-                icon.setVisible(true);
-            } else {
-                type.setValue(button);
-                keycode.setVisible(false);
-                icon.setVisible(false);
-            }
-        }), setting);
-        OnPreferenceChangeListener listener = (preference, newValue) -> {
-            mHandler.post(() -> {
-                setValue(setting, type, keycode, icon);
-                updateSummary(icon);
-            });
-            return true;
-        };
-        type.setOnPreferenceChangeListener(listener);
-        icon.setOnPreferenceChangeListener(listener);
-        keycode.setOnPreferenceClickListener(preference -> {
-            EditText editText = new EditText(getContext());
-            new AlertDialog.Builder(getContext())
-                    .setTitle(preference.getTitle())
-                    .setView(editText)
-                    .setNegativeButton(android.R.string.cancel, null)
-                    .setPositiveButton(android.R.string.ok, (dialog, which) -> {
-                        int code = KeyEvent.KEYCODE_ENTER;
-                        try {
-                            code = Integer.parseInt(editText.getText().toString());
-                        } catch (Exception e) {
-                        }
-                        keycode.setSummary(code + "");
-                        setValue(setting, type, keycode, icon);
-                    }).show();
-            return true;
-        });
-    }
-
-    private void updateSummary(ListPreference icon) {
-        try {
-            int size = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14,
-                    getContext().getResources().getDisplayMetrics());
-            String pkg = icon.getValue().split("/")[0];
-            int id = Integer.parseInt(icon.getValue().split("/")[1]);
-            SpannableStringBuilder builder = new SpannableStringBuilder();
-            Drawable d = Icon.createWithResource(pkg, id)
-                    .loadDrawable(getContext());
-            d.setTint(Color.BLACK);
-            d.setBounds(0, 0, size, size);
-            ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
-            builder.append("  ", span, 0);
-            builder.append(" ");
-            for (int i = 0; i < ICONS.length; i++) {
-                if (ICONS[i][0] == id) {
-                    builder.append(getString(ICONS[i][1]));
-                }
-            }
-            icon.setSummary(builder);
-        } catch (Exception e) {
-            Log.d("NavButton", "Problem with summary", e);
-            icon.setSummary(null);
-        }
-    }
-
-    private void setValue(String setting, ListPreference type, Preference keycode,
-            ListPreference icon) {
-        String button = type.getValue();
-        if (KEY.equals(button)) {
-            String uri = icon.getValue();
-            int code = KeyEvent.KEYCODE_ENTER;
-            try {
-                code = Integer.parseInt(keycode.getSummary().toString());
-            } catch (Exception e) {
-            }
-            button = button + KEY_CODE_START + code + KEY_IMAGE_DELIM + uri + KEY_CODE_END;
-        }
-        Dependency.get(TunerService.class).setValue(setting, button);
-    }
-
-    private void setupIcons(ListPreference icon) {
-        CharSequence[] labels = new CharSequence[ICONS.length];
-        CharSequence[] values = new CharSequence[ICONS.length];
-        int size = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 14,
-                getContext().getResources().getDisplayMetrics());
-        for (int i = 0; i < ICONS.length; i++) {
-            SpannableStringBuilder builder = new SpannableStringBuilder();
-            Drawable d = Icon.createWithResource(getContext().getPackageName(), ICONS[i][0])
-                    .loadDrawable(getContext());
-            d.setTint(Color.BLACK);
-            d.setBounds(0, 0, size, size);
-            ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
-            builder.append("  ", span, 0);
-            builder.append(" ");
-            builder.append(getString(ICONS[i][1]));
-            labels[i] = builder;
-            values[i] = getContext().getPackageName() + "/" + ICONS[i][0];
-        }
-        icon.setEntries(labels);
-        icon.setEntryValues(values);
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java
deleted file mode 100644
index 20ce23077cddabfbb7f5809ac0bd0531cd08795d..0000000000000000000000000000000000000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.tuner;
-
-import android.app.AlertDialog.Builder;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.Context;
-import android.content.DialogInterface.OnClickListener;
-import android.os.Bundle;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.Toolbar;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.Utils;
-import com.android.systemui.Dependency;
-import com.android.systemui.res.R;
-import com.android.systemui.fragments.FragmentService;
-
-import java.util.Objects;
-
-public class RadioListPreference extends CustomListPreference {
-
-    private OnClickListener mOnClickListener;
-    private CharSequence mSummary;
-
-    public RadioListPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onPrepareDialogBuilder(Builder builder, OnClickListener listener) {
-        mOnClickListener = listener;
-    }
-
-    @Override
-    public void setSummary(CharSequence summary) {
-        super.setSummary(summary);
-        mSummary = summary;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        if (mSummary == null || mSummary.toString().contains("%s")) {
-            return super.getSummary();
-        }
-        return mSummary;
-    }
-
-    @Override
-    protected Dialog onDialogCreated(DialogFragment fragment, Dialog dialog) {
-        Dialog d = new Dialog(getContext(), android.R.style.Theme_DeviceDefault_Settings);
-        Toolbar t = (Toolbar) d.findViewById(com.android.internal.R.id.action_bar);
-        View v = new View(getContext());
-        v.setId(R.id.content);
-        d.setContentView(v);
-        t.setTitle(getTitle());
-        t.setNavigationIcon(Utils.getDrawable(d.getContext(), android.R.attr.homeAsUpIndicator));
-        t.setNavigationOnClickListener(view -> d.dismiss());
-
-        RadioFragment f = new RadioFragment();
-        f.setPreference(this);
-        Dependency.get(FragmentService.class).getFragmentHostManager(v).getFragmentManager()
-                .beginTransaction()
-                .add(android.R.id.content, f)
-                .commit();
-        return d;
-    }
-
-    @Override
-    protected void onDialogStateRestored(DialogFragment fragment, Dialog dialog,
-            Bundle savedInstanceState) {
-        super.onDialogStateRestored(fragment, dialog, savedInstanceState);
-        View view = dialog.findViewById(R.id.content);
-        RadioFragment radioFragment = (RadioFragment) Dependency.get(FragmentService.class)
-                .getFragmentHostManager(view)
-                .getFragmentManager()
-                .findFragmentById(R.id.content);
-        if (radioFragment != null) {
-            radioFragment.setPreference(this);
-        }
-    }
-
-    @Override
-    protected void onDialogClosed(boolean positiveResult) {
-        super.onDialogClosed(positiveResult);
-    }
-
-    public static class RadioFragment extends TunerPreferenceFragment {
-        private RadioListPreference mListPref;
-
-        @Override
-        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-            Context context = getPreferenceManager().getContext();
-            PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(context);
-            setPreferenceScreen(screen);
-            if (mListPref != null) {
-                update();
-            }
-        }
-
-        private void update() {
-            Context context = getPreferenceManager().getContext();
-
-            CharSequence[] entries = mListPref.getEntries();
-            CharSequence[] values = mListPref.getEntryValues();
-            CharSequence current = mListPref.getValue();
-            for (int i = 0; i < entries.length; i++) {
-                CharSequence entry = entries[i];
-                SelectablePreference pref = new SelectablePreference(context);
-                getPreferenceScreen().addPreference(pref);
-                pref.setTitle(entry);
-                pref.setChecked(Objects.equals(current, values[i]));
-                pref.setKey(String.valueOf(i));
-            }
-        }
-
-        @Override
-        public boolean onPreferenceTreeClick(Preference preference) {
-            mListPref.mOnClickListener.onClick(null, Integer.parseInt(preference.getKey()));
-            return true;
-        }
-
-        public void setPreference(RadioListPreference radioListPreference) {
-            mListPref = radioListPreference;
-            if (getPreferenceManager() != null) {
-                update();
-            }
-        }
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java
deleted file mode 100644
index 9cc8943aa6dec3effebe442d279784e767c66445..0000000000000000000000000000000000000000
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.systemui.tuner;
-
-import android.app.DialogFragment;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragment;
-
-public abstract class TunerPreferenceFragment extends PreferenceFragment {
-
-    @Override
-    public void onDisplayPreferenceDialog(Preference preference) {
-        DialogFragment f = null;
-        if (preference instanceof CustomListPreference) {
-            f = CustomListPreference.CustomListPreferenceDialogFragment
-                    .newInstance(preference.getKey());
-        } else {
-            super.onDisplayPreferenceDialog(preference);
-        }
-        f.setTargetFragment(this, 0);
-        f.show(getFragmentManager(), "dialog_preference");
-    }
-}