Set a custom layout for PreferenceFragment
Since CarDevelopmentSettingsDashboardFragment doesn't extend car-ui-lib
PreferenceFragment, it can't use CarUiRecyclerView.
Bug: 194095014
Test: m CarDeverloperOptions
Change-Id: Ia522c59f7dc2b4537e0758db3a87f56c3cef314d
diff --git a/packages/CarDeveloperOptions/res/values/themes.xml b/packages/CarDeveloperOptions/res/values/themes.xml
index 691afd3..73bf8d8 100644
--- a/packages/CarDeveloperOptions/res/values/themes.xml
+++ b/packages/CarDeveloperOptions/res/values/themes.xml
@@ -47,6 +47,16 @@
<style name="Theme.CarDeveloperOptions" parent="@style/Theme.CarUi.WithToolbar">
<item name="alertDialogTheme">@style/Theme.AlertDialog</item>
<item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
+ <item name="preferenceTheme">@style/CarDeveloperOptionsPreferenceTheme</item>
+ </style>
+
+ <style name="CarDeveloperOptionsPreferenceTheme" parent="@style/CarUiPreferenceTheme">
+ <item name="preferenceFragmentCompatStyle">@style/CarDeveloperOptionsPreferenceFragment</item>
+ <item name="preferenceFragmentStyle">@style/CarDeveloperOptionsPreferenceFragment</item>
+ </style>
+
+ <style name="CarDeveloperOptionsPreferenceFragment" parent="@style/PreferenceFragment.CarUi">
+ <item name="android:layout">@layout/preference_list_fragment</item>
</style>
</resources>
\ No newline at end of file
diff --git a/packages/CarDeveloperOptions/src/com/android/car/developeroptions/CarDevelopmentSettingsDashboardFragment.java b/packages/CarDeveloperOptions/src/com/android/car/developeroptions/CarDevelopmentSettingsDashboardFragment.java
index ef007b4..d74b8ea 100644
--- a/packages/CarDeveloperOptions/src/com/android/car/developeroptions/CarDevelopmentSettingsDashboardFragment.java
+++ b/packages/CarDeveloperOptions/src/com/android/car/developeroptions/CarDevelopmentSettingsDashboardFragment.java
@@ -23,16 +23,12 @@
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.ViewGroup;
import androidx.annotation.XmlRes;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.SwitchPreference;
-import androidx.recyclerview.widget.RecyclerView;
-import com.android.car.ui.recyclerview.CarUiRecyclerView;
import com.android.car.ui.toolbar.MenuItem;
import com.android.car.ui.toolbar.Toolbar;
import com.android.car.ui.toolbar.ToolbarController;
@@ -127,20 +123,6 @@
}
}
- @Override
- public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
- Bundle savedInstanceState) {
- Object carUiRecyclerView = parent.findViewById(R.id.recycler_view);
- RecyclerView recyclerView = (carUiRecyclerView instanceof CarUiRecyclerView)
- ? ((CarUiRecyclerView) carUiRecyclerView).getRecyclerView()
- : (RecyclerView) carUiRecyclerView;
- if (recyclerView != null) {
- return recyclerView;
- } else {
- return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
- }
- }
-
protected ToolbarController getToolbar() {
return requireToolbar(requireActivity());
}