[Contrast] Migrate contrast settings into Display

Test: local raven device
Bug: 333905689

Change-Id: Ie94633c23ebe024b8fb48d7ffebdd7b1dfa588da
This commit is contained in:
marcusge
2024-04-20 00:13:24 +00:00
committed by Marcus Ge
parent ecaa88ccb0
commit 24289fa084
15 changed files with 103 additions and 102 deletions

View File

@@ -1,39 +0,0 @@
/*
* Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.accessibility;
import android.content.Context;
import androidx.annotation.NonNull;
import com.android.settings.core.BasePreferenceController;
/**
* Controller for {@link ColorContrastFragment}.
*/
public class ContrastPreferenceController extends BasePreferenceController {
public ContrastPreferenceController(@NonNull Context context, @NonNull String preferenceKey) {
super(context, preferenceKey);
}
@Override
public int getAvailabilityStatus() {
// Hide color contrast entry point inside Accessibility settings.
return CONDITIONALLY_UNAVAILABLE;
}
}

View File

@@ -30,7 +30,6 @@ import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accessibility.AccessibilitySettingsForSetupWizard;
import com.android.settings.accessibility.CaptioningPropertiesFragment;
import com.android.settings.accessibility.ColorAndMotionFragment;
import com.android.settings.accessibility.ColorContrastFragment;
import com.android.settings.accessibility.HearingDevicePairingFragment;
import com.android.settings.accessibility.TextReadingPreferenceFragment;
import com.android.settings.accessibility.TextReadingPreferenceFragmentForSetupWizard;
@@ -105,6 +104,7 @@ import com.android.settings.deviceinfo.batteryinfo.BatteryInfoFragment;
import com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings;
import com.android.settings.deviceinfo.legal.ModuleLicensesDashboard;
import com.android.settings.display.AutoBrightnessSettings;
import com.android.settings.display.ColorContrastFragment;
import com.android.settings.display.NightDisplaySettings;
import com.android.settings.display.ScreenTimeoutSettings;
import com.android.settings.display.SmartAutoRotatePreferenceFragment;

View File

@@ -14,13 +14,14 @@
* limitations under the License.
*/
package com.android.settings.accessibility;
package com.android.settings.display;
import android.content.Context;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityFooterPreferenceController;
/** Preference controller for footer in color contrast page. */
public class ColorContrastFooterPreferenceController extends

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.settings.accessibility;
package com.android.settings.display;
import android.app.settings.SettingsEnums;
@@ -29,7 +29,6 @@ public class ColorContrastFragment extends DashboardFragment {
private static final String TAG = "ColorContrastFragment";
@Override
protected int getPreferenceScreenResId() {
return R.xml.accessibility_color_contrast;

View File

@@ -0,0 +1,60 @@
/*
* Copyright (C) 2024 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.display;
import static android.app.UiModeManager.ContrastUtils.CONTRAST_LEVEL_HIGH;
import static android.app.UiModeManager.ContrastUtils.CONTRAST_LEVEL_MEDIUM;
import static android.app.UiModeManager.ContrastUtils.CONTRAST_LEVEL_STANDARD;
import static android.app.UiModeManager.ContrastUtils.toContrastLevel;
import android.app.UiModeManager;
import android.content.Context;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.accessibility.Flags;
import com.android.settings.core.BasePreferenceController;
import java.util.Map;
/**
* Controller for {@link ColorContrastFragment}.
*/
public class ContrastPreferenceController extends BasePreferenceController {
public ContrastPreferenceController(@NonNull Context context, @NonNull String preferenceKey) {
super(context, preferenceKey);
}
@Override
public int getAvailabilityStatus() {
return Flags.enableColorContrastControl() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
@Override
public CharSequence getSummary() {
Map<Integer, Integer> mContrastLevelToResId = Map.ofEntries(
Map.entry(CONTRAST_LEVEL_STANDARD, R.string.contrast_default),
Map.entry(CONTRAST_LEVEL_MEDIUM, R.string.contrast_medium),
Map.entry(CONTRAST_LEVEL_HIGH, R.string.contrast_high)
);
float contrastLevel = mContext.getSystemService(UiModeManager.class).getContrast();
return mContext.getString(mContrastLevelToResId.get(toContrastLevel(contrastLevel)));
}
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.settings.accessibility;
package com.android.settings.display;
import static android.app.UiModeManager.ContrastUtils.CONTRAST_LEVEL_HIGH;
import static android.app.UiModeManager.ContrastUtils.CONTRAST_LEVEL_MEDIUM;