1b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang/*
2b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * Copyright (C) 2016 The Android Open Source Project
3b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang *
4b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License");
5b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * you may not use this file except in compliance with the License.
6b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * You may obtain a copy of the License at
7b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang *
8b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang *      http://www.apache.org/licenses/LICENSE-2.0
9b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang *
10b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * Unless required by applicable law or agreed to in writing, software
11b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * distributed under the License is distributed on an "AS IS" BASIS,
12b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * See the License for the specific language governing permissions and
14b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang * limitations under the License.
15b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang */
16b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
17b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangpackage com.android.settings.gestures;
18b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
19b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport android.content.Context;
20ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport android.provider.SearchIndexableResource;
21b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
228f057ca3d401bc371bef9b2e94925cfe25980948Fan Zhangimport com.android.internal.logging.nano.MetricsProto;
23b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport com.android.settings.R;
24b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport com.android.settings.core.PreferenceController;
25801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhangimport com.android.settings.core.lifecycle.Lifecycle;
26b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport com.android.settings.dashboard.DashboardFragment;
27ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport com.android.settings.search.BaseSearchIndexProvider;
28b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
29b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport java.util.ArrayList;
30ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhangimport java.util.Arrays;
31b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangimport java.util.List;
32b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
33b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhangpublic class DoubleTapPowerSettings extends DashboardFragment {
34b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
35b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    private static final String TAG = "DoubleTapPower";
36b97a1bffa829647b797594a3e0c66d729c977ecdMatthew Fritze    private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
37b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
38b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    @Override
39b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    public int getMetricsCategory() {
408f057ca3d401bc371bef9b2e94925cfe25980948Fan Zhang        return MetricsProto.MetricsEvent.SETTINGS_GESTURE_DOUBLE_TAP_POWER;
41b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    }
42b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
43b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    @Override
44b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    protected String getLogTag() {
45b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang        return TAG;
46b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    }
47b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
48b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    @Override
49b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    protected int getPreferenceScreenResId() {
50b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang        return R.xml.double_tap_power_settings;
51b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    }
52b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang
53b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    @Override
54b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    protected List<PreferenceController> getPreferenceControllers(Context context) {
55801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang        return buildPreferenceControllers(context, getLifecycle());
56801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang    }
57801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang
58801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang    private static List<PreferenceController> buildPreferenceControllers(Context context,
59801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang            Lifecycle lifecycle) {
60b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang        final List<PreferenceController> controllers = new ArrayList<>();
61b97a1bffa829647b797594a3e0c66d729c977ecdMatthew Fritze        controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle,
62b97a1bffa829647b797594a3e0c66d729c977ecdMatthew Fritze                KEY_DOUBLE_TAP_POWER));
63b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang        return controllers;
64b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang    }
65ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang
66ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
67ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang            new BaseSearchIndexProvider() {
68ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                @Override
69ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                public List<SearchIndexableResource> getXmlResourcesToIndex(
70ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                        Context context, boolean enabled) {
71ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                    final SearchIndexableResource sir = new SearchIndexableResource(context);
72ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                    sir.xmlResId = R.xml.double_tap_power_settings;
73ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                    return Arrays.asList(sir);
74ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang                }
75801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang
76801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang                @Override
77801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang                public List<PreferenceController> getPreferenceControllers(Context context) {
78801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang                    return buildPreferenceControllers(context, null /* lifecycle */);
79801be627fcf51fa0cedbab733aa3044baaaa2119Fan Zhang                }
80ee524404fff60d457e66c32d4d3b37dae178e12fFan Zhang            };
81b99ea900463af1b4ecc92dbd138670f0f182ff46Fan Zhang}
82