ConfigureWifiSettings.java revision 91acf78173d39283c7f61ff09940b44298ee98c1
1/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.settings.wifi;
17
18import static android.content.Context.WIFI_SERVICE;
19
20import android.content.Context;
21import android.net.wifi.WifiManager;
22import android.provider.SearchIndexableResource;
23
24import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
25import com.android.settings.R;
26import com.android.settings.core.PreferenceController;
27import com.android.settings.dashboard.DashboardFragment;
28import com.android.settings.network.WifiCallingPreferenceController;
29import com.android.settings.search.BaseSearchIndexProvider;
30import com.android.settings.search.Indexable;
31import com.android.settings.wifi.p2p.WifiP2pPreferenceController;
32
33import java.util.ArrayList;
34import java.util.Arrays;
35import java.util.List;
36
37public class ConfigureWifiSettings extends DashboardFragment {
38
39    private static final String TAG = "ConfigureWifiSettings";
40
41    private WifiManager mWifiManager;
42
43    @Override
44    public int getMetricsCategory() {
45        return MetricsEvent.CONFIGURE_WIFI;
46    }
47
48    @Override
49    protected String getLogTag() {
50        return TAG;
51    }
52
53    @Override
54    public void onAttach(Context context) {
55        super.onAttach(context);
56        mProgressiveDisclosureMixin.setTileLimit(2);
57    }
58
59    @Override
60    protected int getPreferenceScreenResId() {
61        return R.xml.wifi_configure_settings;
62    }
63
64    @Override
65    protected List<PreferenceController> getPreferenceControllers(Context context) {
66        mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
67        final List<PreferenceController> controllers = new ArrayList<>();
68        controllers.add(new WifiInfoPreferenceController(context, getLifecycle(), mWifiManager));
69        controllers.add(new CellularFallbackPreferenceController(context));
70        controllers.add(new NotifyOpenNetworksPreferenceController(context, getLifecycle()));
71        controllers.add(new WifiWakeupPreferenceController(context, getLifecycle()));
72        controllers.add(new WifiSleepPolicyPreferenceController(context));
73        controllers.add(new WifiP2pPreferenceController(context, getLifecycle(), mWifiManager));
74        controllers.add(new WifiCallingPreferenceController(context));
75        controllers.add(new WpsPreferenceController(
76                context, getLifecycle(), mWifiManager, getFragmentManager()));
77        return controllers;
78    }
79
80    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
81            new BaseSearchIndexProvider() {
82                @Override
83                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
84                        boolean enabled) {
85                    final SearchIndexableResource sir = new SearchIndexableResource(context);
86                    sir.xmlResId = R.xml.wifi_configure_settings;
87                    return Arrays.asList(sir);
88                }
89            };
90}
91