blob: 9ad4e25bf2f5cb7605fb782245475cbc37de9f38 [file] [log] [blame]
Amith Yamasani992f1022010-01-25 09:17:53 -08001/*
2 * Copyright (C) 2010 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 */
16
17package com.android.settings;
18
Fan Zhang31b21002019-01-16 13:49:47 -080019import android.app.settings.SettingsEnums;
Amith Yamasani992f1022010-01-25 09:17:53 -080020import android.content.Context;
Salvador Martinezef7ce462019-04-11 14:06:08 -070021import android.os.Bundle;
Jason Monk1230ac82015-12-11 20:14:43 -050022
Fan Zhang66b573a2016-10-06 16:33:13 -070023import com.android.settings.dashboard.DashboardFragment;
Doris Ling2e4ff902017-04-13 15:06:36 -070024import com.android.settings.display.BrightnessLevelPreferenceController;
Fan Zhang66b573a2016-10-06 16:33:13 -070025import com.android.settings.display.CameraGesturePreferenceController;
Salvador Martinezef7ce462019-04-11 14:06:08 -070026import com.android.settings.display.DarkUIPreferenceController;
Fan Zhang66b573a2016-10-06 16:33:13 -070027import com.android.settings.display.LiftToWakePreferenceController;
28import com.android.settings.display.NightDisplayPreferenceController;
29import com.android.settings.display.NightModePreferenceController;
30import com.android.settings.display.ScreenSaverPreferenceController;
Yoshinori Hirano53cfd112017-10-10 13:57:07 +090031import com.android.settings.display.ShowOperatorNamePreferenceController;
Fan Zhang66b573a2016-10-06 16:33:13 -070032import com.android.settings.display.TapToWakePreferenceController;
Jason Monk6324cff2017-01-25 10:34:29 -050033import com.android.settings.display.ThemePreferenceController;
Fan Zhang66b573a2016-10-06 16:33:13 -070034import com.android.settings.display.TimeoutPreferenceController;
35import com.android.settings.display.VrDisplayPreferenceController;
Jason Monk49b61032015-08-12 11:31:29 -040036import com.android.settings.search.BaseSearchIndexProvider;
Tony Mantler1d583e12017-06-13 13:09:25 -070037import com.android.settingslib.core.AbstractPreferenceController;
Juan Lang777ed252017-05-09 15:42:36 -070038import com.android.settingslib.core.lifecycle.Lifecycle;
Tony Mantler0fcd6cb2018-03-26 15:17:25 -070039import com.android.settingslib.search.SearchIndexable;
Jason Monk49b61032015-08-12 11:31:29 -040040
Amith Yamasanid7993472010-08-18 13:59:28 -070041import java.util.ArrayList;
Adrian Roos8ab09542014-06-02 20:33:56 +020042import java.util.List;
Amith Yamasanid7993472010-08-18 13:59:28 -070043
Tony Mantler0fcd6cb2018-03-26 15:17:25 -070044@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
Fan Zhang66b573a2016-10-06 16:33:13 -070045public class DisplaySettings extends DashboardFragment {
Amith Yamasani992f1022010-01-25 09:17:53 -080046 private static final String TAG = "DisplaySettings";
47
Matthew Fritzec6f26382017-04-11 13:22:40 -070048 private static final String KEY_SCREEN_TIMEOUT = "screen_timeout";
Matthew Fritzec4488632017-11-28 14:36:35 -080049
Amith Yamasani992f1022010-01-25 09:17:53 -080050 @Override
Fan Zhang65076132016-08-08 10:25:13 -070051 public int getMetricsCategory() {
Fan Zhang31b21002019-01-16 13:49:47 -080052 return SettingsEnums.DISPLAY;
Chris Wren8a963ba2015-03-20 10:29:14 -040053 }
54
55 @Override
Fan Zhang66b573a2016-10-06 16:33:13 -070056 protected String getLogTag() {
57 return TAG;
Stephen Chen2b98ffa2016-09-20 13:15:11 -070058 }
59
Amith Yamasani992f1022010-01-25 09:17:53 -080060 @Override
Fan Zhang66b573a2016-10-06 16:33:13 -070061 protected int getPreferenceScreenResId() {
Raff Tsaiac3e0d02019-09-19 17:06:45 +080062 return SEARCH_INDEX_DATA_PROVIDER.getXmlResourceId();
Amith Yamasani992f1022010-01-25 09:17:53 -080063 }
Jeff Brown9e143f52012-09-19 20:46:07 -070064
Amith Yamasani9627a8e2012-09-23 12:54:14 -070065 @Override
Salvador Martinezef7ce462019-04-11 14:06:08 -070066 public void onCreate(Bundle icicle) {
67 super.onCreate(icicle);
68 use(DarkUIPreferenceController.class).setParentFragment(this);
69 }
70
71 @Override
Fan Zhangf7843ad2018-02-22 13:51:41 -080072 protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
tmfang27c84de2018-06-28 11:39:05 +080073 return buildPreferenceControllers(context, getSettingsLifecycle());
Fan Zhangb00811d2017-02-28 10:52:46 -080074 }
75
76 @Override
Fan Zhange0b0e9f2017-11-29 14:55:59 -080077 public int getHelpResource() {
Fan Zhangb00811d2017-02-28 10:52:46 -080078 return R.string.help_uri_display;
79 }
80
Tony Mantler1d583e12017-06-13 13:09:25 -070081 private static List<AbstractPreferenceController> buildPreferenceControllers(
Andrew Sapperstein6138f1a2017-03-22 18:00:47 -070082 Context context, Lifecycle lifecycle) {
Tony Mantler1d583e12017-06-13 13:09:25 -070083 final List<AbstractPreferenceController> controllers = new ArrayList<>();
Fan Zhang66b573a2016-10-06 16:33:13 -070084 controllers.add(new CameraGesturePreferenceController(context));
Fan Zhang66b573a2016-10-06 16:33:13 -070085 controllers.add(new LiftToWakePreferenceController(context));
86 controllers.add(new NightDisplayPreferenceController(context));
87 controllers.add(new NightModePreferenceController(context));
88 controllers.add(new ScreenSaverPreferenceController(context));
89 controllers.add(new TapToWakePreferenceController(context));
Matthew Fritzec6f26382017-04-11 13:22:40 -070090 controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
Fan Zhang66b573a2016-10-06 16:33:13 -070091 controllers.add(new VrDisplayPreferenceController(context));
Yoshinori Hirano53cfd112017-10-10 13:57:07 +090092 controllers.add(new ShowOperatorNamePreferenceController(context));
Jason Monk6324cff2017-01-25 10:34:29 -050093 controllers.add(new ThemePreferenceController(context));
Doris Ling2e4ff902017-04-13 15:06:36 -070094 controllers.add(new BrightnessLevelPreferenceController(context, lifecycle));
Fan Zhang66b573a2016-10-06 16:33:13 -070095 return controllers;
Doris Lingb727e9c2016-08-01 14:56:26 -070096 }
97
Raff Tsaiac3e0d02019-09-19 17:06:45 +080098 public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
Raff Tsai1f30b1c2019-09-12 10:56:13 +080099 new BaseSearchIndexProvider(R.xml.display_settings) {
Adrian Roos8ab09542014-06-02 20:33:56 +0200100
101 @Override
Fan Zhangaed89942018-02-22 13:32:32 -0800102 public List<AbstractPreferenceController> createPreferenceControllers(
103 Context context) {
Andrew Sapperstein6138f1a2017-03-22 18:00:47 -0700104 return buildPreferenceControllers(context, null);
Matthew Fritze516b0f12017-01-26 14:37:48 -0800105 }
Adrian Roos8ab09542014-06-02 20:33:56 +0200106 };
Amith Yamasani992f1022010-01-25 09:17:53 -0800107}