1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 5 * except in compliance with the License. You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software distributed under the 10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 11 * KIND, either express or implied. See the License for the specific language governing 12 * permissions and limitations under the License. 13 */ 14 package com.android.settings.display; 15 16 import android.content.Context; 17 import android.hardware.display.ColorDisplayManager; 18 19 import com.android.settings.R; 20 import com.android.settings.core.PreferenceControllerMixin; 21 import com.android.settingslib.core.AbstractPreferenceController; 22 23 public class NightDisplayPreferenceController extends AbstractPreferenceController implements 24 PreferenceControllerMixin { 25 26 private static final String KEY_NIGHT_DISPLAY = "night_display"; 27 NightDisplayPreferenceController(Context context)28 public NightDisplayPreferenceController(Context context) { 29 super(context); 30 } 31 isSuggestionComplete(Context context)32 public static boolean isSuggestionComplete(Context context) { 33 final boolean isEnabled = context.getResources().getBoolean( 34 R.bool.config_night_light_suggestion_enabled); 35 // The suggestion is always complete if not enabled. 36 if (!isEnabled) { 37 return true; 38 } 39 final ColorDisplayManager manager = context.getSystemService(ColorDisplayManager.class); 40 return manager.getNightDisplayAutoMode() != ColorDisplayManager.AUTO_MODE_DISABLED; 41 } 42 43 @Override isAvailable()44 public boolean isAvailable() { 45 return ColorDisplayManager.isNightDisplayAvailable(mContext); 46 } 47 48 @Override getPreferenceKey()49 public String getPreferenceKey() { 50 return KEY_NIGHT_DISPLAY; 51 } 52 }