1e7841c012a02ac593533709f014632f35551e6fcTony Mantler/*
2e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Copyright (C) 2016 The Android Open Source Project
3e7841c012a02ac593533709f014632f35551e6fcTony Mantler *
4e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Licensed under the Apache License, Version 2.0 (the "License");
5e7841c012a02ac593533709f014632f35551e6fcTony Mantler * you may not use this file except in compliance with the License.
6e7841c012a02ac593533709f014632f35551e6fcTony Mantler * You may obtain a copy of the License at
7e7841c012a02ac593533709f014632f35551e6fcTony Mantler *
8e7841c012a02ac593533709f014632f35551e6fcTony Mantler *      http://www.apache.org/licenses/LICENSE-2.0
9e7841c012a02ac593533709f014632f35551e6fcTony Mantler *
10e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Unless required by applicable law or agreed to in writing, software
11e7841c012a02ac593533709f014632f35551e6fcTony Mantler * distributed under the License is distributed on an "AS IS" BASIS,
12e7841c012a02ac593533709f014632f35551e6fcTony Mantler * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e7841c012a02ac593533709f014632f35551e6fcTony Mantler * See the License for the specific language governing permissions and
14e7841c012a02ac593533709f014632f35551e6fcTony Mantler * limitations under the License
15e7841c012a02ac593533709f014632f35551e6fcTony Mantler */
16e7841c012a02ac593533709f014632f35551e6fcTony Mantler
17e7841c012a02ac593533709f014632f35551e6fcTony Mantlerpackage com.example.android.supportpreference;
18e7841c012a02ac593533709f014632f35551e6fcTony Mantler
19e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.app.Activity;
20e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.app.Fragment;
21e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.os.Bundle;
22e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.support.v14.preference.PreferenceFragment;
23e7841c012a02ac593533709f014632f35551e6fcTony Mantlerimport android.support.v7.preference.PreferenceScreen;
24e7841c012a02ac593533709f014632f35551e6fcTony Mantler
25e7841c012a02ac593533709f014632f35551e6fcTony Mantler/**
26e7841c012a02ac593533709f014632f35551e6fcTony Mantler * Demonstration of PreferenceFragment, showing a single fragment in an
27e7841c012a02ac593533709f014632f35551e6fcTony Mantler * activity.
28e7841c012a02ac593533709f014632f35551e6fcTony Mantler */
29e7841c012a02ac593533709f014632f35551e6fcTony Mantlerpublic class FragmentSupportPreferences extends Activity
30e7841c012a02ac593533709f014632f35551e6fcTony Mantler        implements PreferenceFragment.OnPreferenceStartScreenCallback {
31e7841c012a02ac593533709f014632f35551e6fcTony Mantler
32e7841c012a02ac593533709f014632f35551e6fcTony Mantler    @Override
33e7841c012a02ac593533709f014632f35551e6fcTony Mantler    protected void onCreate(Bundle savedInstanceState) {
34e7841c012a02ac593533709f014632f35551e6fcTony Mantler        super.onCreate(savedInstanceState);
35e7841c012a02ac593533709f014632f35551e6fcTony Mantler
36e7841c012a02ac593533709f014632f35551e6fcTony Mantler        // Display the fragment as the main content.
37fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler        if (savedInstanceState == null) {
38fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler            getFragmentManager().beginTransaction().replace(android.R.id.content,
39fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler                    new PrefsFragment()).commit();
40fb54e4675fd5ab9ea7f03ac6c2eb37954f21beaeTony Mantler        }
41e7841c012a02ac593533709f014632f35551e6fcTony Mantler    }
42e7841c012a02ac593533709f014632f35551e6fcTony Mantler
43e7841c012a02ac593533709f014632f35551e6fcTony Mantler    @Override
44e7841c012a02ac593533709f014632f35551e6fcTony Mantler    public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) {
45e7841c012a02ac593533709f014632f35551e6fcTony Mantler        final Fragment f = new PrefsFragment();
46e7841c012a02ac593533709f014632f35551e6fcTony Mantler        final Bundle args = new Bundle(1);
47e7841c012a02ac593533709f014632f35551e6fcTony Mantler        args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey());
48e7841c012a02ac593533709f014632f35551e6fcTony Mantler        f.setArguments(args);
49e7841c012a02ac593533709f014632f35551e6fcTony Mantler        getFragmentManager().beginTransaction().replace(android.R.id.content, f)
50e7841c012a02ac593533709f014632f35551e6fcTony Mantler                .addToBackStack(null)
51e7841c012a02ac593533709f014632f35551e6fcTony Mantler                .commit();
52e7841c012a02ac593533709f014632f35551e6fcTony Mantler        return true;
53e7841c012a02ac593533709f014632f35551e6fcTony Mantler    }
54e7841c012a02ac593533709f014632f35551e6fcTony Mantler
55e7841c012a02ac593533709f014632f35551e6fcTony Mantler    //BEGIN_INCLUDE(support_fragment)
56e7841c012a02ac593533709f014632f35551e6fcTony Mantler    public static class PrefsFragment extends PreferenceFragment {
57e7841c012a02ac593533709f014632f35551e6fcTony Mantler
58e7841c012a02ac593533709f014632f35551e6fcTony Mantler        @Override
59e7841c012a02ac593533709f014632f35551e6fcTony Mantler        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
60e7841c012a02ac593533709f014632f35551e6fcTony Mantler            // Load the preferences from an XML resource
61e7841c012a02ac593533709f014632f35551e6fcTony Mantler            setPreferencesFromResource(R.xml.preferences, rootKey);
62e7841c012a02ac593533709f014632f35551e6fcTony Mantler        }
63e7841c012a02ac593533709f014632f35551e6fcTony Mantler    }
64e7841c012a02ac593533709f014632f35551e6fcTony Mantler//END_INCLUDE(support_fragment)
65e7841c012a02ac593533709f014632f35551e6fcTony Mantler}
66