166b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang/* 266b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * Copyright (C) 2016 The Android Open Source Project 366b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * 466b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 566b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * except in compliance with the License. You may obtain a copy of the License at 666b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * 766b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * http://www.apache.org/licenses/LICENSE-2.0 866b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * 966b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * Unless required by applicable law or agreed to in writing, software distributed under the 1066b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1166b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * KIND, either express or implied. See the License for the specific language governing 1266b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang * permissions and limitations under the License. 1366b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang */ 1466b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhangpackage com.android.settings.display; 1566b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 1666b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhangimport android.content.Context; 1766b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 184f03562716ed24b1596a754c6d4ac0f8c1d90734Christine Franksimport com.android.internal.app.ColorDisplayController; 191d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerimport com.android.settings.core.PreferenceControllerMixin; 201d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerimport com.android.settingslib.core.AbstractPreferenceController; 214e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishiimport com.android.settings.R; 2266b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 231d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantlerpublic class NightDisplayPreferenceController extends AbstractPreferenceController implements 241d583e125faf3ae4c9cd82636d8f3ecf1cdec3aaTony Mantler PreferenceControllerMixin { 2566b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 2666b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang private static final String KEY_NIGHT_DISPLAY = "night_display"; 2766b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 2866b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang public NightDisplayPreferenceController(Context context) { 2966b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang super(context); 3066b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang } 3166b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 322ae92b541d6fdd59ce9615c2ee6d32cf7b7cc1d1Sean Stout public static boolean isSuggestionComplete(Context context) { 334e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi final boolean isEnabled = context.getResources().getBoolean( 344e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi R.bool.config_night_light_suggestion_enabled); 354e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi // The suggestion is always complete if not enabled. 364e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi if (!isEnabled) { 374e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi return true; 384e9d52791bb6e805cc0a307d97bcd5b27e816e42Daniel Nishi } 392ae92b541d6fdd59ce9615c2ee6d32cf7b7cc1d1Sean Stout final ColorDisplayController controller = new ColorDisplayController(context); 402ae92b541d6fdd59ce9615c2ee6d32cf7b7cc1d1Sean Stout return controller.getAutoMode() != ColorDisplayController.AUTO_MODE_DISABLED; 412ae92b541d6fdd59ce9615c2ee6d32cf7b7cc1d1Sean Stout } 422ae92b541d6fdd59ce9615c2ee6d32cf7b7cc1d1Sean Stout 4366b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang @Override 44242da31179c8b5fe51a2fc4dfa3bf60c8472d94aFan Zhang public boolean isAvailable() { 454f03562716ed24b1596a754c6d4ac0f8c1d90734Christine Franks return ColorDisplayController.isAvailable(mContext); 4666b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang } 4766b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang 4866b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang @Override 49db1112a22168e2edec56c92a00ada6718bd19898Fan Zhang public String getPreferenceKey() { 5066b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang return KEY_NIGHT_DISPLAY; 5166b573ad5ac6782b0e65b3dd98037eae01b527e5Fan Zhang } 52c448863577bef8eb2ce18238e7823615471df016Matthew Fritze}