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}