Revert "Support highlightable Settings homepage menu for 2-pane"
This reverts commit 9037ceabd3
.
Reason for revert: Presumed cause of b/202510128
Change-Id: I0daaab95d9bc57229c0c8c916cbe3ada7aafb6fa
This commit is contained in:
@@ -21,27 +21,20 @@ import static com.android.settingslib.search.SearchIndexable.MOBILE;
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
|
||||
import com.android.settings.core.SubSettingLauncher;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settings.support.SupportPreferenceController;
|
||||
import com.android.settings.widget.HighlightableTopLevelPreferenceAdapter;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
@@ -50,11 +43,6 @@ public class TopLevelSettings extends DashboardFragment implements
|
||||
PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
|
||||
|
||||
private static final String TAG = "TopLevelSettings";
|
||||
private static final String SAVED_HIGHLIGHTED_PREF = "highlighted_pref";
|
||||
|
||||
private HighlightableTopLevelPreferenceAdapter mTopLevelAdapter;
|
||||
|
||||
private String mHighlightedPreferenceKey;
|
||||
|
||||
public TopLevelSettings() {
|
||||
final Bundle args = new Bundle();
|
||||
@@ -81,7 +69,6 @@ public class TopLevelSettings extends DashboardFragment implements
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
HighlightableMenu.fromXml(context, getPreferenceScreenResId());
|
||||
use(SupportPreferenceController.class).setActivity(getActivity());
|
||||
}
|
||||
|
||||
@@ -96,12 +83,6 @@ public class TopLevelSettings extends DashboardFragment implements
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceTreeClick(Preference preference) {
|
||||
setHighlightPreferenceKey(preference.getKey());
|
||||
return super.onPreferenceTreeClick(preference);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceStartFragment(PreferenceFragmentCompat caller, Preference pref) {
|
||||
new SubSettingLauncher(getActivity())
|
||||
@@ -115,20 +96,6 @@ public class TopLevelSettings extends DashboardFragment implements
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
if (icicle != null) {
|
||||
mHighlightedPreferenceKey = icicle.getString(SAVED_HIGHLIGHTED_PREF);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putString(SAVED_HIGHLIGHTED_PREF, mHighlightedPreferenceKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
super.onCreatePreferences(savedInstanceState, rootKey);
|
||||
@@ -151,78 +118,12 @@ public class TopLevelSettings extends DashboardFragment implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
highlightPreferenceIfNeeded();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void highlightPreferenceIfNeeded() {
|
||||
if (mTopLevelAdapter != null) {
|
||||
mTopLevelAdapter.requestHighlight();
|
||||
}
|
||||
}
|
||||
|
||||
/** Highlight a preference with specified key */
|
||||
public void setHighlightPreferenceKey(String prefKey) {
|
||||
if (mTopLevelAdapter != null) {
|
||||
mHighlightedPreferenceKey = prefKey;
|
||||
mTopLevelAdapter.highlightPreference(prefKey, /* scrollNeeded= */ false);
|
||||
}
|
||||
}
|
||||
|
||||
/** Highlight the previous preference */
|
||||
public void restorePreviousHighlight() {
|
||||
if (mTopLevelAdapter != null) {
|
||||
mTopLevelAdapter.restorePreviousHighlight();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldForceRoundedIcon() {
|
||||
return getContext().getResources()
|
||||
.getBoolean(R.bool.config_force_rounded_icon_TopLevelSettings);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) {
|
||||
if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(getContext())) {
|
||||
return super.onCreateAdapter(preferenceScreen);
|
||||
}
|
||||
|
||||
if (TextUtils.isEmpty(mHighlightedPreferenceKey)) {
|
||||
mHighlightedPreferenceKey = getHighlightPrefKeyFromArguments();
|
||||
}
|
||||
|
||||
Log.d(TAG, "onCreateAdapter, pref key: " + mHighlightedPreferenceKey);
|
||||
mTopLevelAdapter = new HighlightableTopLevelPreferenceAdapter(preferenceScreen,
|
||||
getListView(), mHighlightedPreferenceKey);
|
||||
return mTopLevelAdapter;
|
||||
}
|
||||
|
||||
void reloadHighlightMenuKey() {
|
||||
if (mTopLevelAdapter == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
mHighlightedPreferenceKey = getHighlightPrefKeyFromArguments();
|
||||
Log.d(TAG, "reloadHighlightMenuKey, pref key: " + mHighlightedPreferenceKey);
|
||||
mTopLevelAdapter.highlightPreference(mHighlightedPreferenceKey, /* scrollNeeded= */ true);
|
||||
}
|
||||
|
||||
private String getHighlightPrefKeyFromArguments() {
|
||||
final Bundle arguments = getArguments();
|
||||
final String menuKey = arguments.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY);
|
||||
final String prefKey = HighlightableMenu.lookupPreferenceKey(menuKey);
|
||||
if (TextUtils.isEmpty(prefKey)) {
|
||||
Log.e(TAG, "Invalid highlight menu key: " + menuKey);
|
||||
} else {
|
||||
Log.d(TAG, "Menu key: " + menuKey);
|
||||
}
|
||||
return prefKey;
|
||||
}
|
||||
|
||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider(R.xml.top_level_settings) {
|
||||
|
||||
|
Reference in New Issue
Block a user