blob: 31b5f1f0f2d1c8f2ef27438ad49a93eb86a7215d [file] [log] [blame]
/*
* Copyright (C) 2015 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.settings;
import android.annotation.Nullable;
import android.os.Bundle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;
public class PreferenceActivity extends SettingsActivity {
private PreferenceActivityFragment mFragment;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
getIntent().putExtra(EXTRA_SHOW_FRAGMENT, PreferenceActivityFragment.class.getName());
super.onCreate(savedInstanceState);
}
public void addPreferencesFromResource(int resource) {
mFragment.addPreferencesFromResource(resource);
}
public Preference findPreference(String preference) {
return mFragment.findPreference(preference);
}
public PreferenceScreen getPreferenceScreen() {
return mFragment.getPreferenceScreen();
}
public void setPreferenceScreen(PreferenceScreen screen) {
mFragment.setPreferenceScreen(screen);
}
public boolean onPreferenceTreeClick(Preference preference) {
return false;
}
@Override
protected boolean isValidFragment(String fragmentName) {
return super.isValidFragment(fragmentName)
|| PreferenceActivityFragment.class.getName().equals(fragmentName);
}
public static class PreferenceActivityFragment extends SettingsPreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
((PreferenceActivity) getActivity()).mFragment = this;
}
@Override
public boolean onPreferenceTreeClick(Preference preference) {
if (((PreferenceActivity) getActivity()).onPreferenceTreeClick(preference)) {
return true;
}
return super.onPreferenceTreeClick(preference);
}
@Override
protected int getMetricsCategory() {
if (getActivity() instanceof InstrumentedPreferenceActivity) {
return ((InstrumentedPreferenceActivity) getActivity()).getMetricsCategory();
}
return InstrumentedFragment.PREFERENCE_ACTIVITY_FRAGMENT;
}
}
}